Message ID | 1607341446-85506-1-git-send-email-fengli@smartx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] file-posix: check the use_lock before setting the file lock | expand |
Am 07.12.2020 um 12:44 hat Li Feng geschrieben: > The scenario is that when accessing a volume on an NFS filesystem > without supporting the file lock, Qemu will complain "Failed to lock > byte 100", even when setting the file.locking = off. > > We should do file lock related operations only when the file.locking is > enabled, otherwise, the syscall of 'fcnctl' will return non-zero. > > Signed-off-by: Li Feng <fengli@smartx.com> Thanks, applied to the block branch. Kevin
diff --git a/block/file-posix.c b/block/file-posix.c index d5fd1dbcd2..806764f7e3 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -3104,7 +3104,7 @@ static int raw_check_perm(BlockDriverState *bs, uint64_t perm, uint64_t shared, } /* Copy locks to the new fd */ - if (s->perm_change_fd) { + if (s->perm_change_fd && s->use_lock) { ret = raw_apply_lock_bytes(NULL, s->perm_change_fd, perm, ~shared, false, errp); if (ret < 0) {
The scenario is that when accessing a volume on an NFS filesystem without supporting the file lock, Qemu will complain "Failed to lock byte 100", even when setting the file.locking = off. We should do file lock related operations only when the file.locking is enabled, otherwise, the syscall of 'fcnctl' will return non-zero. Signed-off-by: Li Feng <fengli@smartx.com> --- block/file-posix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)