block: move encryption deprecation warning into qcow code
commite6ff69bf5edfb0475903456a8c7f785635986540
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 21 Mar 2016 14:11:48 +0000 (21 14:11 +0000)
committerKevin Wolf <kwolf@redhat.com>
Wed, 30 Mar 2016 10:12:15 +0000 (30 12:12 +0200)
treef5e6bb34ce7c01439810547a75aac7ce56704fd6
parent78368575a63df3ef95653024fa21a91d441b0c8d
block: move encryption deprecation warning into qcow code

For a couple of releases we have been warning

  Encrypted images are deprecated
  Support for them will be removed in a future release.
  You can use 'qemu-img convert' to convert your image to an unencrypted one.

This warning was issued by system emulators, qemu-img, qemu-nbd
and qemu-io. Such a broad warning was issued because the original
intention was to rip out all the code for dealing with encryption
inside the QEMU block layer APIs.

The new block encryption framework used for the LUKS driver does
not rely on the unloved block layer API for encryption keys,
instead using the QOM 'secret' object type. It is thus no longer
appropriate to warn about encryption unconditionally.

When the qcow/qcow2 drivers are converted to use the new encryption
framework too, it will be practical to keep AES-CBC support present
for use in qemu-img, qemu-io & qemu-nbd to allow for interoperability
with older QEMU versions and liberation of data from existing encrypted
qcow2 files.

This change moves the warning out of the generic block code and
into the qcow/qcow2 drivers. Further, the warning is set to only
appear when running the system emulators, since qemu-img, qemu-io,
qemu-nbd are expected to support qcow2 encryption long term now that
the maint burden has been eliminated.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
block/qcow.c
block/qcow2.c
include/block/block.h
tests/qemu-iotests/049.out
tests/qemu-iotests/087
tests/qemu-iotests/087.out
tests/qemu-iotests/134.out