Patchwork blockdev: warn when copy_on_read=on and readonly=on

login
register
mail settings
Submitter Stefan Hajnoczi
Date June 27, 2012, 5:03 p.m.
Message ID <1340816593-10719-1-git-send-email-stefanha@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/167719/
State New
Headers show

Comments

Stefan Hajnoczi - June 27, 2012, 5:03 p.m.
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>
---
 blockdev.c |    4 ++++
 1 file changed, 4 insertions(+)
Kevin Wolf - July 3, 2012, 1 p.m.
Am 27.06.2012 19:03, schrieb Stefan Hajnoczi:
> 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>

Thanks, applied to the block branch.

Kevin

Patch

diff --git a/blockdev.c b/blockdev.c
index 9e0a72a..a85a429 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -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",