On Wed, Jan 13, 2016 at 06:44:41PM +0100, Kevin Wolf wrote: > Am 12.01.2016 um 19:56 hat Daniel P. Berrange geschrieben: > > When opening an image it is useful to know whether the caller > > intends to perform I/O on the image or not. In the case of > > encrypted images this will allow the block driver to avoid > > having to prompt for decryption keys when we merely want to > > query header metadata about the image. eg qemu-img info > > > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > > Would it be worth adding assertions to the block layer I/O functions > (most importantly, bdrv_aligned_preadv/pwritev) that this flag isn't > set?
Yes, I think so. In the read/write code paths that trigger encryption, I'm already doing an assert that the encryption context is setup, which is indirectly related to BDRV_O_NO_IO. It is probably worth adding an assertion explicitly based on the flag at the top level though, as it'd give a clearer error if it ever got triggered. Regards, 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 :|