qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v5 11/27] raw-posix: Implement .bdrv_lockf


From: Fam Zheng
Subject: Re: [Qemu-block] [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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]