Message ID | 1461848266-32119-19-git-send-email-famz@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/blockdev.c b/blockdev.c index e3882d6..9968568 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3617,6 +3617,12 @@ void qmp_drive_mirror(const char *device, const char *target, * file. */ target_bs = NULL; + if (sync == MIRROR_SYNC_MODE_NONE) { + flags |= BDRV_O_NO_LOCK; + } + /* TODO: in mirror complete, after target_bs is switched to and the + * original BDS's lock is dropped, we should enable the lock on target_bs. + * */ ret = bdrv_open(&target_bs, target, NULL, options, flags | BDRV_O_NO_BACKING, &local_err); if (ret < 0) {
In sync=none the backing image of s->target is s->common.bs, which could be exclusively locked, the image locking wouldn't work here. Later we can update completion code to lock it after the replaced node has dropped its lock. Signed-off-by: Fam Zheng <famz@redhat.com> --- blockdev.c | 6 ++++++ 1 file changed, 6 insertions(+)