blockdev: warn when copy_on_read=on and readonly=on
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Wed, 27 Jun 2012 17:03:13 +0000 (18:03 +0100)
committerKevin Wolf <kwolf@redhat.com>
Mon, 9 Jul 2012 13:53:01 +0000 (15:53 +0200)
If the image is read-only then it's not possible to copy read data into
it.  Therefore copy-on-read is automatically disabled for read-only
images.

Up until now this behavior was silent, add a warning so the user knows
why copy-on-read is not working.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
blockdev.c

index 9e0a72a..a85a429 100644 (file)
@@ -609,6 +609,10 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
 
     bdrv_flags |= ro ? 0 : BDRV_O_RDWR;
 
+    if (ro && copy_on_read) {
+        error_report("warning: disabling copy_on_read on readonly drive");
+    }
+
     ret = bdrv_open(dinfo->bdrv, file, bdrv_flags, drv);
     if (ret < 0) {
         error_report("could not open disk image %s: %s",