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
--
|:
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 :|