On 29.07.2013 16:18, Paolo Bonzini wrote:
Il 29/07/2013 16:10, Kevin Wolf ha scritto:
Am 29.07.2013 um 15:47 hat Paolo Bonzini geschrieben:
Il 29/07/2013 15:13, Kevin Wolf ha scritto:
Am 25.07.2013 um 16:23 hat Paolo Bonzini geschrieben:
If a BlockDriverState is growable, after every write we need to
check if bs->total_sectors might have changed.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
block.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block.c b/block.c
index 6cd39fa..ebac2fa 100644
--- a/block.c
+++ b/block.c
@@ -2651,6 +2651,9 @@ static int coroutine_fn
bdrv_co_do_writev(BlockDriverState *bs,
if (bs->wr_highest_sector < sector_num + nb_sectors - 1) {
bs->wr_highest_sector = sector_num + nb_sectors - 1;
}
+ if (bs->growable && ret >= 0) {
+ bs->total_sectors = MAX(bs->total_sectors, sector_num + nb_sectors);
+ }
Can we change bdrv_getlength() to use bs->total_sectors even for
growable images after this patch?
Probably, but not in 1.6. :)
"Probably" was my conclusion as well. The answer to this question is the
answer to whether this patch makes sense, I think. So I can give you a
Probably-reviewed-by if that's of any use. ;-)
FWIW, I've got the feeling that the whole series might be better suited
for block-next. Is there anything urgent in it?
No, I don't think so.
can you give an update what are to current plans/schedule to merge this series?
I have
a few patches in the queue that in their current version depend on this series
being merged.
Peter