[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v2 02/13] block: Introduce bdrv_loc
From: |
Fam Zheng |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v2 02/13] block: Introduce bdrv_lock and bdrv_unlock API |
Date: |
Wed, 24 Jun 2015 11:04:03 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, 06/24 10:47, Fam Zheng wrote:
> On Tue, 06/16 17:07, Stefan Hajnoczi wrote:
> > On Tue, Jun 02, 2015 at 11:21:51AM +0800, Fam Zheng wrote:
> > > +/**
> > > + * bdrv_lock:
> > > + *
> > > + * Begin a temporary exclusive accessing by locking the BDS.
> > > + */
> > > +void bdrv_lock(BlockDriverState *bs);
> > > +
> > > +/**
> > > + * bdrv_unlock:
> > > + *
> > > + * End a exclusive accessing.
> > > + */
> > > +void bdrv_unlock(BlockDriverState *bs);
> >
> > This documentation is missing important points:
> >
> > 1. Does AioContext need to be held by the caller? (Yes)
>
> Yes.
>
> >
> > 2. Is this about thread safety? (No, it's about exclusive access to a
> > BDS *within* the AioContext.)
>
> As it has to quiesce iothreads as well (for now it's even more urgent than
s/iothreads/ioeventfd/
> exclusive access within the same AioContext), I'd rather take it as yes.
>
> Paolo, please correct me.
>
> BTW, is there any semantics in here that we can use for multiqueue block
> layer?
>
> Fam
>
>
- [Qemu-block] [PATCH v2 00/13] block: Protect block jobs with lock / unlock API, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 03/13] blockdev: Lock BDS during internal snapshot transaction, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 04/13] blockdev: Lock BDS during external snapshot transaction, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 05/13] blockdev: Lock BDS during drive-backup transaction, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 06/13] blockdev: Lock BDS during blockdev-backup transaction, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 07/13] mirror: Protect source between bdrv_drain and bdrv_swap, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 08/13] block: Add bdrv_add_lock_unlock_notifier, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 09/13] block-backend: Add blk_add_lock_unlock_notifier, Fam Zheng, 2015/06/01
- [Qemu-block] [PATCH v2 10/13] virtio-blk: Move complete_request to 'ops' structure, Fam Zheng, 2015/06/01