diff mbox

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

Message ID 1463470536-8981-18-git-send-email-famz@redhat.com
State New
Headers show

Commit Message

Fam Zheng May 17, 2016, 7:35 a.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(+)

Comments

Max Reitz May 24, 2016, 6:16 p.m. UTC | #1
On 17.05.2016 09:35, Fam Zheng wrote:
> 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(+)

Reviewed-by: Max Reitz <mreitz@redhat.com>
diff mbox

Patch

diff --git a/blockdev.c b/blockdev.c
index 0784c4a..250e3d2 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3252,6 +3252,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;
     }