On Fri, Mar 14, 2014 at 09:22:48AM +0100, Markus Armbruster wrote: > Opening an encrypted image takes an additional step: setting the key. > Between open and the key set, the image must not be used. > > We have some protection against accidental use in place: you can't > unpause a guest while we're missing keys. You can, however, hot-plug > block devices lacking keys into a running guest just fine, or insert > media lacking keys. In the latter case, notifying the guest of the > insert is delayed until the key is set, which may suffice to protect > at least some guests in common usage. > > This patch makes the protection apply in more cases, in a rather > heavy-handed way: it doesn't let you open encrypted images unless > we're in a paused state. > > It doesn't extend the protection to users other than the guest (block > jobs?). Use of runstate_check() from block.c is disgusting. Best I > can do right now. > > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > v2: > * Don't break -incoming [Paolo] > * Update qemu-iotests/087 [Fam] > > block.c | 9 ++++++++- > stubs/Makefile.objs | 1 + > stubs/runstate-check.c | 6 ++++++ > tests/qemu-iotests/087 | 17 +++++++++++++++++ > tests/qemu-iotests/087.out | 11 ++++++++++- > 5 files changed, 42 insertions(+), 2 deletions(-) > create mode 100644 stubs/runstate-check.c
Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan