Signed-off-by: Fam Zheng <[email protected]>
---
qemu-nbd.c | 7 ++++++-
qemu-nbd.texi | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 3e54113..57bc18d 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -97,6 +97,7 @@ static void usage(const char *name)
"Block device options:\n"
" -f, --format=FORMAT set image format (raw, qcow2, ...)\n"
" -r, --read-only export read-only\n"
+" -L, --no-lock disable image locking\n"
" -s, --snapshot use FILE as an external snapshot, create a
temporary\n"
" file with backing_file=FILE, redirect the write
to\n"
" the temporary one\n"
@@ -469,7 +470,7 @@ int main(int argc, char **argv)
off_t fd_size;
QemuOpts *sn_opts = NULL;
const char *sn_id_or_name = NULL;
- const char *sopt = "hVb:o:p:rsnP:c:dvk:e:f:tl:x:";
+ const char *sopt = "hVb:o:p:rsnLP:c:dvk:e:f:tl:x:";
struct option lopt[] = {
{ "help", no_argument, NULL, 'h' },
{ "version", no_argument, NULL, 'V' },
@@ -478,6 +479,7 @@ int main(int argc, char **argv)
{ "socket", required_argument, NULL, 'k' },
{ "offset", required_argument, NULL, 'o' },
{ "read-only", no_argument, NULL, 'r' },
+ { "no-lock", no_argument, NULL, 'L' },
{ "partition", required_argument, NULL, 'P' },
{ "connect", required_argument, NULL, 'c' },
{ "disconnect", no_argument, NULL, 'd' },
@@ -633,6 +635,9 @@ int main(int argc, char **argv)
nbdflags |= NBD_FLAG_READ_ONLY;
flags &= ~BDRV_O_RDWR;
break;
+ case 'L':
+ flags |= BDRV_O_NO_LOCK;
+ break;
case 'P':
partition = strtol(optarg, &end, 0);
if (*end) {
diff --git a/qemu-nbd.texi b/qemu-nbd.texi
index 9f23343..6b7b1d1 100644
--- a/qemu-nbd.texi
+++ b/qemu-nbd.texi
@@ -43,6 +43,8 @@ Force the use of the block driver for format @var{fmt}
instead of
auto-detecting
@item -r, --read-only
Export the disk as read-only
+@item -L, --no-lock
+Disable image locking
@item -P, --partition=@var{num}
Only expose partition @var{num}
@item -s, --snapshot
--
2.8.2