[libvirt] [PATCH] storage: Support different wiping algorithms
Daniel P. Berrange
berrange at redhat.com
Mon Jan 9 10:16:22 UTC 2012
On Mon, Jan 09, 2012 at 11:05:28AM +0100, Michal Privoznik wrote:
> On 03.01.2012 17:39, Daniel P. Berrange wrote:
> > On Tue, Jan 03, 2012 at 05:12:47PM +0100, Michal Privoznik wrote:
> >> Currently, we support only filling a volume with zeroes on wiping.
> >> However, it is not enough as data might still be readable by
> >> experienced and equipped attacker. Many technical papers have been
> >> written, therefore we should support other wiping algorithms.
> >> ---
> >> Okay, this is not as complete as I'd like it. Wiping could take ages,
> >> therefore we *want* it to be asynchronous. But that would mean:
> >>
> >> 1) Create new API to answer: "Are we done yet?"
> >
> > IMHO, we basically want to duplicate the async job system from
> > virDomainPtr, for virStorageVolPtr.
> >
> > eg,
> > virStorageVolAbortJob(virStorageVolPtr vol);
> > virStorageVolGetJobInfo(virStorageVolPtr vol,
> > virStorageVolJobInfoPtr info);
> >
> > this would be useful for several other storage vol related
> > APIs. We might also want similar APIs against virStoragePoolPtr
> >
> >> 2) Create event emitting system - like we have for domains
> >>
> >> 3) Combination of previous two
> >>
> >> In fact, I've started writing events, but it turned out to be
> >> huge and I am not even in a half yet. I need to find a way of
> >> re-using event code we already have. But thats another day and
> >> another patch set.
> >
> > Yes, the abilty to support async events for other objects like
> > virStoragePoolPtr, virStorageVolPtr, virNetworkPtr, etc is a
> > well overdue todo item.
> >
> >
> > I think it would be acceptable todo option 1 as the first
> > impl, and then add option 2 as a follow on patchset, since
> > events are merely an optimization.
> >
> > Daniel
>
> One thing I am wondering about is - can we separate these steps? I mean,
> take this part in and do the rest in follow up patches. Certainly,
> writing JobInfo for storage is rather huge code to be written and thus
> worth its own patch set. Moreover, this functionality can be desired by
> many products based on libvirt that want to be certified (e.g. PCI DSS)
> and thus need other wiping algorithms than just zeroing. From this POV
> is JobInfo just a "nice to have" feature.
Sure, the storage wiping code is already slow, so there's no reason to
reject your current patch on the basis of speed.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list