[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] block: tell drivers about an image resize
From: |
Ryan Harper |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] block: tell drivers about an image resize |
Date: |
Fri, 14 Jan 2011 15:06:11 -0600 |
User-agent: |
Mutt/1.5.6+20040907i |
* Christoph Hellwig <address@hidden> [2011-01-14 10:27]:
> Add a new size_changed flag in the BlockDriverState and call the
> change_cb callback to notify drivers about a size change.
>
> Signed-off-by: Christoph Hellwig <address@hidden>
>
> Index: qemu/block.c
> ===================================================================
> --- qemu.orig/block.c 2011-01-14 17:05:49.527003363 +0100
> +++ qemu/block.c 2011-01-14 17:07:23.206255143 +0100
> @@ -1135,6 +1135,10 @@ int bdrv_truncate(BlockDriverState *bs,
> ret = drv->bdrv_truncate(bs, offset);
> if (ret == 0) {
> ret = refresh_total_sectors(bs, offset >> BDRV_SECTOR_BITS);
> + if (bs->change_cb) {
> + bs->size_changed = 1;
> + bs->change_cb(bs->change_opaque);
> + }
Do we want to check to ensure the size_changed flag isn't set before
doing a second resize event? I'm wondering if the truncate takes
$longtime and user gets impatient and issues a second resize command.
How should we respond? Ignore it? queue it up?
Is there any other path that invokes bdrv_truncate? If so, do we want
invoke the call back in those scenarios or only if the truncate is
initiated from the monitor invocation?
> }
> return ret;
> }
> Index: qemu/block_int.h
> ===================================================================
> --- qemu.orig/block_int.h 2011-01-14 17:05:49.537004411 +0100
> +++ qemu/block_int.h 2011-01-14 17:06:02.539004271 +0100
> @@ -167,6 +167,7 @@ struct BlockDriverState {
> char backing_format[16]; /* if non-zero and backing_file exists */
> int is_temporary;
> int media_changed;
> + int size_changed;
>
> BlockDriverState *backing_hd;
> BlockDriverState *file;
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
address@hidden
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, (continued)
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Stefan Hajnoczi, 2011/01/17
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Kevin Wolf, 2011/01/17
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Christoph Hellwig, 2011/01/18
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Christoph Hellwig, 2011/01/19
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Kevin Wolf, 2011/01/19
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Christoph Hellwig, 2011/01/19
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Kevin Wolf, 2011/01/19
- Re: [Qemu-devel] [PATCH 1/3] block: add resize monitor command, Christoph Hellwig, 2011/01/19
[Qemu-devel] [PATCH 2/3] block: tell drivers about an image resize, Christoph Hellwig, 2011/01/14
- Re: [Qemu-devel] [PATCH 2/3] block: tell drivers about an image resize,
Ryan Harper <=
[Qemu-devel] [PATCH 3/3] virtio-blk: tell the guest about size changes, Christoph Hellwig, 2011/01/14
Re: [Qemu-devel] [PATCH 0/3] allow online resizing of block devices, Luiz Capitulino, 2011/01/18