[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 62/62] block: Catch !bs->drv in bdrv_check()
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 62/62] block: Catch !bs->drv in bdrv_check() |
Date: |
Fri, 8 Aug 2014 19:40:03 +0200 |
From: Max Reitz <address@hidden>
qemu-img check calls bdrv_check() twice if the first run repaired some
inconsistencies. If the first run however again triggered corruption
prevention (on qcow2) due to very bad inconsistencies, bs->drv may be
NULL afterwards. Thus, bdrv_check() should check whether bs->drv is set.
Signed-off-by: Max Reitz <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/block.c b/block.c
index b3a06b8..5609313 100644
--- a/block.c
+++ b/block.c
@@ -2216,6 +2216,9 @@ bool bdrv_dev_is_medium_locked(BlockDriverState *bs)
*/
int bdrv_check(BlockDriverState *bs, BdrvCheckResult *res, BdrvCheckMode fix)
{
+ if (bs->drv == NULL) {
+ return -ENOMEDIUM;
+ }
if (bs->drv->bdrv_check == NULL) {
return -ENOTSUP;
}
--
1.8.3.1
- [Qemu-devel] [PULL 49/62] qcow2: Handle failure for potentially large allocations, (continued)
- [Qemu-devel] [PULL 49/62] qcow2: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 54/62] vdi: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 53/62] rbd: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 55/62] vhdx: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 57/62] vpc: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 58/62] mirror: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 59/62] qcow2: Return useful error code in refcount_init(), Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 56/62] vmdk: Handle failure for potentially large allocations, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 60/62] qcow2: Catch !*host_offset for data allocation, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 61/62] iotests: Add test for image header overlap, Kevin Wolf, 2014/08/08
- [Qemu-devel] [PULL 62/62] block: Catch !bs->drv in bdrv_check(),
Kevin Wolf <=
- Re: [Qemu-devel] [PULL 00/62] Block patches, Peter Maydell, 2014/08/15