From: Kevin Wolf <kwolf@redhat.com>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-devel@nongnu.org, eblake@redhat.com,
Max Reitz <mreitz@redhat.com>,
qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v16 15/22] file-posix: Add 'locking' option
Date: Tue, 2 May 2017 16:15:20 +0200 [thread overview]
Message-ID: <20170502141520.GD5805@noname.redhat.com> (raw)
In-Reply-To: <20170502081832.9546-16-famz@redhat.com>
Am 02.05.2017 um 10:18 hat Fam Zheng geschrieben:
> Making this option available even before implementing it will let
> converting tests easier: in coming patches they can specify the option
> already when necessary, before we actually write code to lock the
> images.
>
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
> block/file-posix.c | 5 +++++
> qapi/block-core.json | 4 ++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/block/file-posix.c b/block/file-posix.c
> index ade71db..0fb3b31 100644
> --- a/block/file-posix.c
> +++ b/block/file-posix.c
> @@ -392,6 +392,11 @@ static QemuOptsList raw_runtime_opts = {
> .type = QEMU_OPT_STRING,
> .help = "host AIO implementation (threads, native)",
> },
> + {
> + .name = "locking",
> + .type = QEMU_OPT_STRING,
> + .help = "file locking mode (on/off/auto, default:auto)",
There should be a space after the colon.
On the other hand, this message isn't displayed anywhere anyway...
> + },
> { /* end of list */ }
> },
> };
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 1cf29a1..29d3040 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -2127,11 +2127,15 @@
> #
> # @filename: path to the image file
> # @aio: AIO backend (default: threads) (since: 2.8)
> +# @locking: whether to enable file locking. If set to 'auto', only enable
> +# when Open File Descriptor (OFD) locking API is available
> +# (default: auto, since 2.10)
> #
> # Since: 2.9
> ##
> { 'struct': 'BlockdevOptionsFile',
> 'data': { 'filename': 'str',
> + '*locking': 'OnOffAuto',
> '*aio': 'BlockdevAioOptions' } }
It's unfortunate that file-posix and file-win32 share the same QAPI
type. Should we add a file-win32 implementation that just errors out
when locking=on is specified, or is it enough that block.c notices that
there is an option that hasn't been processed? (Even locking=off would
cause failure then.)
Kevin
next prev parent reply other threads:[~2017-05-02 14:15 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-02 8:18 [Qemu-devel] [PATCH v16 00/22] block: Image locking series Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 01/22] block: Make bdrv_perm_names public Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 02/22] block: Add, parse and store "force-share" option Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 03/22] block: Respect "force-share" in perm propagating Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 04/22] qemu-img: Add --force-share option to subcommands Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 05/22] qemu-img: Update documentation for -U Fam Zheng
2017-05-02 14:04 ` Kevin Wolf
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 06/22] qemu-io: Add --force-share option Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 07/22] iotests: 030: Prepare for image locking Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 08/22] iotests: 046: " Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 09/22] iotests: 055: Don't attach the target image already for drive-backup Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 10/22] iotests: 085: Avoid image locking conflict Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 11/22] iotests: 087: Don't attach test image twice Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 12/22] iotests: 091: Quit QEMU before checking image Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 13/22] iotests: 172: Use separate images for multiple devices Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 14/22] tests: Use null-co:// instead of /dev/null as the dummy image Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 15/22] file-posix: Add 'locking' option Fam Zheng
2017-05-02 14:15 ` Kevin Wolf [this message]
2017-05-02 15:49 ` Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 16/22] tests: Disable image lock in test-replication Fam Zheng
2017-05-04 9:10 ` 谢昌龙
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 17/22] block: Reuse bs as backing hd for drive-backup sync=none Fam Zheng
2017-05-02 14:21 ` Kevin Wolf
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 18/22] osdep: Add qemu_lock_fd and qemu_unlock_fd Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 19/22] osdep: Fall back to posix lock when OFD lock is unavailable Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 20/22] file-posix: Add image locking to perm operations Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 21/22] qemu-iotests: Add test case 153 for image locking Fam Zheng
2017-05-02 14:59 ` Kevin Wolf
2017-05-02 15:49 ` Fam Zheng
2017-05-02 8:18 ` [Qemu-devel] [PATCH v16 22/22] tests: Add POSIX image locking test case 182 Fam Zheng
2017-05-02 14:06 ` [Qemu-devel] [PATCH v16 00/22] block: Image locking series Kevin Wolf
2017-05-02 15:04 ` Kevin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170502141520.GD5805@noname.redhat.com \
--to=kwolf@redhat.com \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.