qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 1/3] block: Ignore allocation size in underlying fil


From: Max Reitz
Subject: [Qemu-devel] [PATCH 1/3] block: Ignore allocation size in underlying file
Date: Sat, 16 Aug 2014 20:54:16 +0200

When falling through to the underlying file in
bdrv_co_get_block_status(), do not let the number of sectors for which
information could be obtained be overwritten.

Signed-off-by: Max Reitz <address@hidden>
---
 block.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/block.c b/block.c
index 3e252a2..c922664 100644
--- a/block.c
+++ b/block.c
@@ -3991,9 +3991,11 @@ static int64_t coroutine_fn 
bdrv_co_get_block_status(BlockDriverState *bs,
     if (bs->file &&
         (ret & BDRV_BLOCK_DATA) && !(ret & BDRV_BLOCK_ZERO) &&
         (ret & BDRV_BLOCK_OFFSET_VALID)) {
+        int backing_pnum;
+
         ret2 = bdrv_co_get_block_status(bs->file, ret >> BDRV_SECTOR_BITS,
-                                        *pnum, pnum);
-        if (ret2 >= 0) {
+                                        *pnum, &backing_pnum);
+        if (ret2 >= 0 && backing_pnum >= *pnum) {
             /* Ignore errors.  This is just providing extra information, it
              * is useful but not necessary.
              */
-- 
2.0.4




reply via email to

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