Message ID | 1325322388-4825-2-git-send-email-wdongxu@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Sat, Dec 31, 2011 at 9:06 AM, Dong Xu Wang <wdongxu@linux.vnet.ibm.com> wrote: > +static int bdrv_qed_is_dirty(BlockDriverState *bs) > +{ > + BDRVQEDState *s = bs->opaque; > + return s->header.features & QED_F_NEED_CHECK; > +} Looks good. Note that the image will be checked and then QED_F_NEED_CHECK is cleared when the image is opened for read/write. So the flag is only reported if the image was opened read-only, or if we're writing to the image and it allocated new clusters recently. Stefan
diff --git a/block/qed.c b/block/qed.c index 8da3ebe..1e909b1 100644 --- a/block/qed.c +++ b/block/qed.c @@ -1429,6 +1429,12 @@ static int bdrv_qed_check(BlockDriverState *bs, BdrvCheckResult *result) return qed_check(s, result, false); } +static int bdrv_qed_is_dirty(BlockDriverState *bs) +{ + BDRVQEDState *s = bs->opaque; + return s->header.features & QED_F_NEED_CHECK; +} + static QEMUOptionParameter qed_create_options[] = { { .name = BLOCK_OPT_SIZE, @@ -1474,6 +1480,7 @@ static BlockDriver bdrv_qed = { .bdrv_get_info = bdrv_qed_get_info, .bdrv_change_backing_file = bdrv_qed_change_backing_file, .bdrv_check = bdrv_qed_check, + .bdrv_is_dirty = bdrv_qed_is_dirty, }; static void bdrv_qed_init(void)