In this case we may open the source's backing image chain multiple
times. Setting share flag means the new open won't try to acquire or
check any lock, once we implement image locking.

Signed-off-by: Fam Zheng <f...@redhat.com>

---

An alternative is reusing (and bdrv_ref) the existing source's backing
bs instead of opening another one. If we decide that approach is better,
it's better to do it in a separate series.
---
 blockdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/blockdev.c b/blockdev.c
index d11a74f..9992c5d 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3160,6 +3160,7 @@ static void do_drive_backup(DriveBackup *backup, 
BlockJobTxn *txn, Error **errp)
     }
     if (backup->sync == MIRROR_SYNC_MODE_NONE) {
         source = bs;
+        flags |= BDRV_O_SHARE_RW;
     }
 
     size = bdrv_getlength(bs);
-- 
2.7.4


Reply via email to