[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 11/27] raw-posix: Implement .bdrv_lockf
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v5 11/27] raw-posix: Implement .bdrv_lockf |
Date: |
Fri, 27 May 2016 15:50:28 +0800 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Tue, 05/24 19:09, Max Reitz wrote:
> On 17.05.2016 09:35, Fam Zheng wrote:
> > virtlockd in libvirt locks the first byte, we lock byte 1 to avoid
> > the intervene.
> >
> > Both file and host device protocols are covered.
>
> Is there a reason you didn't cover host_cdrom other than it generally
> being read-only and thus probably not really needing a lock?
That is the reason.
>
> > Suggested-by: "Daniel P. Berrange" <address@hidden>
>
> I think the quotation marks are superfluous.
OK, I can remove them.
>
> > Signed-off-by: Fam Zheng <address@hidden>
> > ---
> > block/raw-posix.c | 22 ++++++++++++++++++++++
> > 1 file changed, 22 insertions(+)
> >
> > diff --git a/block/raw-posix.c b/block/raw-posix.c
> > index bb8669f..acd3be2 100644
> > --- a/block/raw-posix.c
> > +++ b/block/raw-posix.c
> > @@ -35,6 +35,7 @@
> > #include "raw-aio.h"
> > #include "qapi/util.h"
> > #include "qapi/qmp/qstring.h"
> > +#include "glib.h"
>
> What for?
It's stale from a previous revision.
>
> >
> > #if defined(__APPLE__) && (__MACH__)
> > #include <paths.h>
> > @@ -397,6 +398,23 @@ static void raw_attach_aio_context(BlockDriverState
> > *bs,
> > #endif
> > }
> >
> > +static int raw_lockf(BlockDriverState *bs, BdrvLockfCmd cmd)
> > +{
> > +
> > + BDRVRawState *s = bs->opaque;
> > +
> > + switch (cmd) {
> > + case BDRV_LOCKF_EXCLUSIVE:
> > + return qemu_lock_fd(s->fd, 1, 1, true);
> > + case BDRV_LOCKF_SHARED:
> > + return qemu_lock_fd(s->fd, 1, 1, false);
> > + case BDRV_LOCKF_UNLOCK:
> > + return qemu_unlock_fd(s->fd, 1, 1);
> > + default:
> > + abort();
> > + }
>
> I figure the comment from patch 8 about why byte 1 is locked should be
> here somewhere.
Yes.
Thanks,
Fam
- [Qemu-devel] [PATCH v5 06/27] block: Make bdrv_reopen_{commit, abort} private functions, (continued)
- [Qemu-devel] [PATCH v5 06/27] block: Make bdrv_reopen_{commit, abort} private functions, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 08/27] osdep: Add qemu_lock_fd and qemu_unlock_fd, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 12/27] gluster: Implement .bdrv_lockf, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 09/27] osdep: Introduce qemu_dup, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 11/27] raw-posix: Implement .bdrv_lockf, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 10/27] raw-posix: Use qemu_dup, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 16/27] qemu-nbd: Add "--no-lock/-L" option, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 15/27] qemu-img: Update documentation of "-L" option, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 14/27] qemu-img: Add "-L" option to sub commands, Fam Zheng, 2016/05/17
- [Qemu-devel] [PATCH v5 13/27] qemu-io: Add "-L" option for BDRV_O_NO_LOCK, Fam Zheng, 2016/05/17