diff mbox

[v3,17/27] block: Don't lock drive-backup target image in none mode

Message ID 1461848266-32119-18-git-send-email-famz@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Fam Zheng April 28, 2016, 12:57 p.m. UTC
As a very special case, in sync=none mode, the source, as the backing
image of the target, will be RO opened again, which is not accepted by
image locking because the first open could be exclusive.

Signed-off-by: Fam Zheng <famz@redhat.com>
---
 blockdev.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox

Patch

diff --git a/blockdev.c b/blockdev.c
index 200fa56..e3882d6 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3243,6 +3243,11 @@  static void do_drive_backup(const char *device, const char *target,
         }
     }
     if (sync == MIRROR_SYNC_MODE_NONE) {
+        /* XXX: bs will be open second time as the backing file of target,
+         * disable image locking. Once block layer allows sharing backing BDS,
+         * Change below to BDRV_O_NO_BACKING and assign it after bdrv_open().
+         * */
+        flags |= BDRV_O_NO_LOCK;
         source = bs;
     }