aboutsummaryrefslogtreecommitdiff
path: root/block/qed.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2012-05-11 16:07:02 +0200
committerKevin Wolf <kwolf@redhat.com>2012-06-15 14:03:42 +0200
commit4534ff5426afeeae5238ba10a696cafa9a0168ee (patch)
tree41cfe59d3c5b41f0e5d6c396a1c9563a2c21deab /block/qed.c
parentdfc65f1f780622d852ca8b9fb1421735ee56c48b (diff)
downloadqemu-4534ff5426afeeae5238ba10a696cafa9a0168ee.zip
qemu-4534ff5426afeeae5238ba10a696cafa9a0168ee.tar.gz
qemu-4534ff5426afeeae5238ba10a696cafa9a0168ee.tar.bz2
qemu-img check -r for repairing images
The QED block driver already provides the functionality to not only detect inconsistencies in images, but also fix them. However, this functionality cannot be manually invoked with qemu-img, but the check happens only automatically during bdrv_open(). This adds a -r switch to qemu-img check that allows manual invocation of an image repair. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/qed.c')
-rw-r--r--block/qed.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/block/qed.c b/block/qed.c
index 30a31f9..ab59724 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -1517,11 +1517,12 @@ static void bdrv_qed_invalidate_cache(BlockDriverState *bs)
bdrv_qed_open(bs, bs->open_flags);
}
-static int bdrv_qed_check(BlockDriverState *bs, BdrvCheckResult *result)
+static int bdrv_qed_check(BlockDriverState *bs, BdrvCheckResult *result,
+ BdrvCheckMode fix)
{
BDRVQEDState *s = bs->opaque;
- return qed_check(s, result, false);
+ return qed_check(s, result, !!fix);
}
static QEMUOptionParameter qed_create_options[] = {