From: Anthony Liguori <anthony@codemonkey.ws>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: "Richard W.M. Jones" <rjones@redhat.com>,
qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] Disk image shared and exclusive locks.
Date: Mon, 07 Dec 2009 08:53:14 -0600 [thread overview]
Message-ID: <4B1D16DA.6040405@codemonkey.ws> (raw)
In-Reply-To: <20091207142814.GQ24530@redhat.com>
Daniel P. Berrange wrote:
> It is safe if you assume that no one else has tried to modify the disk
> since you opened it, otherwise you'd be commiting changes against a
> base state which no longer exists.
1) first user opens cow1.qcow, acquires F_WRLCK
2) first user opens base.qcow, acquires F_RDLCK
3) second user opens cow2.qcow, acquires F_WRLCK
4) second user opens base.qcow, acquires F_RDLCK
5) second user attempts to commit cow2.qcow to base.qcow, tries to
acquire F_WRLCK. Calling F_SETLK with F_WRLCK will drop the F_RDLCK and
upgrade to F_WRLCK.
6) F_SETLK fails because another process is holding F_RDLCK, error is
printed to user
Now assume that there is only one user and commit succeeded, then we'd
drop back down to F_RDLCK (after an fsync) which means that afterwards,
people could open up the image again.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-12-07 14:53 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-04 16:53 [Qemu-devel] [PATCH] Disk image shared and exclusive locks Richard W.M. Jones
2009-12-04 17:15 ` Anthony Liguori
2009-12-04 21:57 ` Richard W.M. Jones
2009-12-04 22:29 ` Anthony Liguori
2009-12-05 17:31 ` Avi Kivity
2009-12-05 17:47 ` Anthony Liguori
2009-12-05 17:55 ` Avi Kivity
2009-12-05 17:59 ` Anthony Liguori
2009-12-07 10:31 ` Jamie Lokier
2009-12-07 10:42 ` Kevin Wolf
2009-12-07 10:48 ` Avi Kivity
2009-12-07 10:56 ` Kevin Wolf
2009-12-07 11:28 ` Jamie Lokier
2009-12-07 11:51 ` Kevin Wolf
2009-12-07 12:06 ` Daniel P. Berrange
2009-12-07 10:45 ` Daniel P. Berrange
2009-12-07 11:19 ` Jamie Lokier
2009-12-07 11:30 ` Daniel P. Berrange
2009-12-07 11:31 ` Richard W.M. Jones
2009-12-07 11:38 ` Jamie Lokier
2009-12-07 11:49 ` Daniel P. Berrange
2009-12-07 11:59 ` Richard W.M. Jones
2009-12-07 14:35 ` [Qemu-devel] " Paolo Bonzini
2009-12-07 13:43 ` [Qemu-devel] " Anthony Liguori
2009-12-07 14:01 ` Daniel P. Berrange
2009-12-07 14:15 ` Anthony Liguori
2009-12-07 14:28 ` Daniel P. Berrange
2009-12-07 14:53 ` Anthony Liguori [this message]
2009-12-08 9:40 ` Kevin Wolf
2009-12-07 11:04 ` Richard W.M. Jones
2009-12-07 10:58 ` Richard W.M. Jones
2009-12-07 11:35 ` Jamie Lokier
2009-12-07 13:39 ` Anthony Liguori
2009-12-07 14:08 ` Richard W.M. Jones
2009-12-07 14:22 ` Anthony Liguori
2009-12-07 14:31 ` Richard W.M. Jones
2009-12-07 14:55 ` Anthony Liguori
2009-12-08 9:48 ` Kevin Wolf
2009-12-08 10:16 ` Richard W.M. Jones
2009-12-07 14:38 ` [Qemu-devel] " Paolo Bonzini
2009-12-07 9:38 ` [Qemu-devel] " Daniel P. Berrange
2009-12-07 10:39 ` Chris Webb
2009-12-07 13:32 ` Anthony Liguori
2009-12-07 13:38 ` Chris Webb
2009-12-07 13:47 ` Anthony Liguori
2009-12-07 14:25 ` Daniel P. Berrange
2009-12-07 14:58 ` Chris Webb
2009-12-07 14:16 ` [Qemu-devel] [PATCH VERSION 2] " Richard W.M. Jones
2009-12-07 15:06 ` Anthony Liguori
2009-12-08 8:48 ` [Qemu-devel] " Paolo Bonzini
2009-12-08 10:00 ` [Qemu-devel] " Kevin Wolf
2009-12-08 10:25 ` Richard W.M. Jones
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=4B1D16DA.6040405@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=berrange@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rjones@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.