From: "Richard W.M. Jones" <rjones@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: Fam Zheng <famz@redhat.com>,
qemu-devel@nongnu.org, qemu-block@nongnu.org,
Jeff Cody <jcody@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Max Reitz <mreitz@redhat.com>,
stefanha@redhat.com, den@openvz.org, pbonzini@redhat.com,
John Snow <jsnow@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v5 00/27] block: Lock images when opening
Date: Tue, 24 May 2016 13:58:48 +0100 [thread overview]
Message-ID: <20160524125848.GX1683@redhat.com> (raw)
In-Reply-To: <20160524124615.GE7091@noname.redhat.com>
On Tue, May 24, 2016 at 02:46:15PM +0200, Kevin Wolf wrote:
> Am 24.05.2016 um 13:48 hat Richard W.M. Jones geschrieben:
> > On Tue, May 17, 2016 at 03:35:09PM +0800, Fam Zheng wrote:
> > > v5: - Change "lock-image=on/off" to "lock-mode=exclusive/shared/off".
> > > Default is "lock-mode=exclusive" to exclusively lock RW images and shared
> > > lock RO images; with lock-mode="shared", RW images are shared locked too;
> > > lock-mode=off turns off image locking completely.
> > > - Use F_OFD_SETLK fcntl so that close/dup on different fds are not a
> > > problem.
> > > - Update test cases.
> >
> > My comments after testing this patch set:
> >
> > * It's not possible to tell from the `qemu -help' output that this
> > binary supports the lock-mode option. Please add this to the -help
> > output (under `-drive') so we can detect it in qemu.
> >
> > * I patched libguestfs to add the `lock-image=off' flag when the drive
> > is added readonly. This permits libguestfs to read live guests. I
> > also checked that writing to live guests is now forbidden, and it
> > is, which is good. In the write-to-live-guest case libguestfs will
> > now fail with:
> >
> > qemu-system-x86_64: -drive file=/var/tmp/centos-6.img,cache=writeback,id=hd0,if=none: Failed to lock image
> >
> > So definitely we need this option to be reflected in the -help output.
>
> While you are right that maybe we should mentioned the new options in
> -help for human users, help texts are not meant to be parsed. If you do
> parse them and a changed help text breaks your code in the future,
> that's your problem.
>
> Consider using query-qmp-schema instead, that one is actually meant to
> be processed by machines.
Yeah it's probably about time to do this now. Previously it wasn't
done because opening a monitor port is slow (adds 60ms just to open
it, plus the time taken doing round trips to get the data). However
we are now memoizing the results of querying qemu so this is no longer
critical. I will have a look at how difficult it will be to query
this.
Anyway doesn't change the fact we need to be able to automatically
detect if the lock-mode flag is needed, given a random qemu binary.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
prev parent reply other threads:[~2016-05-24 12:59 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-17 7:35 [Qemu-devel] [PATCH v5 00/27] block: Lock images when opening Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 01/27] block: Add flag bits for image locking Fam Zheng
2016-05-24 12:14 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 02/27] qapi: Add lock-mode in blockdev-add options Fam Zheng
2016-05-24 12:15 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 03/27] blockdev: Add and parse "lock-mode" option for image locking Fam Zheng
2016-05-24 12:17 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 04/27] block: Introduce image file locking Fam Zheng
2016-05-24 16:01 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 05/27] block: Add bdrv_image_locked Fam Zheng
2016-05-24 16:04 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 06/27] block: Make bdrv_reopen_{commit, abort} private functions Fam Zheng
2016-05-24 16:09 ` Max Reitz
2016-05-27 7:42 ` Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 07/27] block: Handle image locking during reopen Fam Zheng
2016-05-24 16:28 ` Max Reitz
2016-05-27 7:48 ` Fam Zheng
2016-05-27 9:57 ` Max Reitz
2016-05-27 12:36 ` Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 08/27] osdep: Add qemu_lock_fd and qemu_unlock_fd Fam Zheng
2016-05-24 16:42 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 09/27] osdep: Introduce qemu_dup Fam Zheng
2016-05-24 16:52 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 10/27] raw-posix: Use qemu_dup Fam Zheng
2016-05-24 16:55 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 11/27] raw-posix: Implement .bdrv_lockf Fam Zheng
2016-05-24 17:09 ` Max Reitz
2016-05-27 7:50 ` Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 12/27] gluster: " Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 13/27] qemu-io: Add "-L" option for BDRV_O_NO_LOCK Fam Zheng
2016-05-24 17:21 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 14/27] qemu-img: Add "-L" option to sub commands Fam Zheng
2016-05-24 18:06 ` Max Reitz
2016-06-01 5:34 ` Fam Zheng
2016-06-02 11:30 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 15/27] qemu-img: Update documentation of "-L" option Fam Zheng
2016-05-24 18:09 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 16/27] qemu-nbd: Add "--no-lock/-L" option Fam Zheng
2016-05-24 18:12 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 17/27] block: Don't lock drive-backup target image in none mode Fam Zheng
2016-05-24 18:16 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 18/27] mirror: Disable image locking on target backing chain Fam Zheng
2016-05-24 18:20 ` Max Reitz
2016-06-03 6:32 ` Fam Zheng
2016-06-03 13:24 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 19/27] qemu-iotests: 140: Disable image lock for qemu-io access Fam Zheng
2016-05-25 13:16 ` Max Reitz
2016-06-03 6:34 ` Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 20/27] qemu-iotests: 046: Move version detection out from verify_io Fam Zheng
2016-05-25 13:23 ` Max Reitz
2016-06-03 6:43 ` Fam Zheng
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 21/27] qemu-iotests: Wait for QEMU processes before checking image in 091 Fam Zheng
2016-05-25 13:28 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 22/27] qemu-iotests: 030: Disable image lock when checking test image Fam Zheng
2016-05-25 13:30 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 23/27] iotests: 087: Disable image lock in cases where file is shared Fam Zheng
2016-05-25 13:41 ` Max Reitz
2016-05-25 13:41 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 24/27] iotests: Disable image locking in 085 Fam Zheng
2016-05-25 13:52 ` Max Reitz
2016-06-03 7:18 ` Fam Zheng
2016-06-03 14:41 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 25/27] tests: Use null-co:// instead of /dev/null Fam Zheng
2016-05-25 13:57 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 26/27] block: Turn on image locking by default Fam Zheng
2016-05-25 13:57 ` Max Reitz
2016-05-17 7:35 ` [Qemu-devel] [PATCH v5 27/27] qemu-iotests: Add test case 153 for image locking Fam Zheng
2016-05-25 14:20 ` Max Reitz
2016-05-24 11:48 ` [Qemu-devel] [PATCH v5 00/27] block: Lock images when opening Richard W.M. Jones
2016-05-24 12:46 ` Kevin Wolf
2016-05-24 12:58 ` Richard W.M. Jones [this message]
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=20160524125848.GX1683@redhat.com \
--to=rjones@redhat.com \
--cc=armbru@redhat.com \
--cc=den@openvz.org \
--cc=famz@redhat.com \
--cc=jcody@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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.