[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 06/11] xen_disk: simplify blk_disconnect with
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2 06/11] xen_disk: simplify blk_disconnect with refcnt |
Date: |
Tue, 23 Jul 2013 11:50:40 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Jul 17, 2013 at 05:42:11PM +0800, Fam Zheng wrote:
> We call bdrv_attach_dev when initializing whether or not bs is created
> locally, so call bdrv_detach_dev and let the refcnt handle the
> lifecycle.
>
> Signed-off-by: Fam Zheng <address@hidden>
> ---
> hw/block/xen_disk.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/hw/block/xen_disk.c b/hw/block/xen_disk.c
> index 247f32f..ae17acc 100644
> --- a/hw/block/xen_disk.c
> +++ b/hw/block/xen_disk.c
> @@ -910,12 +910,7 @@ static void blk_disconnect(struct XenDevice *xendev)
> struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev,
> xendev);
>
> if (blkdev->bs) {
> - if (!blkdev->dinfo) {
> - /* close/delete only if we created it ourself */
> - bdrv_close(blkdev->bs);
> - bdrv_detach_dev(blkdev->bs, blkdev);
> - bdrv_delete(blkdev->bs);
> - }
> + bdrv_detach_dev(blkdev->bs, blkdev);
> blkdev->bs = NULL;
> }
> xen_be_unbind_evtchn(&blkdev->xendev);
This reminds me that bdrv_detach_dev() needs a comment documenting that
it decrements the refcount; bs may be deleted when the function returns
and must not be accessed anymore.
- Re: [Qemu-devel] [PATCH v2 01/11] block: replace in_use with refcnt_soft and refcnt_hard, (continued)
[Qemu-devel] [PATCH v2 02/11] block: use refcnt for bs->backing_hd and bs->file, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 03/11] block: use refcnt for drive_init/drive_uninit, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 04/11] block: use refcnt for device attach/detach, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 05/11] migration: omit drive ref as we have bdrv_ref now, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 06/11] xen_disk: simplify blk_disconnect with refcnt, Fam Zheng, 2013/07/17
- Re: [Qemu-devel] [PATCH v2 06/11] xen_disk: simplify blk_disconnect with refcnt,
Stefan Hajnoczi <=
[Qemu-devel] [PATCH v2 07/11] block: hold hard reference for backup/mirror target, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 08/11] block: simplify bdrv_drop_intermediate, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 09/11] block: add assertion to check refcount before deleting, Fam Zheng, 2013/07/17
[Qemu-devel] [PATCH v2 10/11] block: add option 'backing' to -drive options, Fam Zheng, 2013/07/17