Re: [Qemu-devel] [PATCH 2/2] block: track dirty flag status in qed

2012-01-11 Thread Stefan Hajnoczi
On Sat, Dec 31, 2011 at 9:06 AM, Dong Xu Wang
wdon...@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



[Qemu-devel] [PATCH 2/2] block: track dirty flag status in qed

2011-12-31 Thread Dong Xu Wang
From: Dong Xu Wang wdon...@linux.vnet.ibm.com

qed driver use QED_F_NEED_CHECK to mark if the image is clean.

CC: Kevin Wolf kw...@redhat.com
CC: Stefan Hajnoczi stefa...@linux.vnet.ibm.com
Signed-off-by: Dong Xu Wang wdon...@linux.vnet.ibm.com
---
 block/qed.c |7 +++
 1 files changed, 7 insertions(+), 0 deletions(-)

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)
-- 
1.7.5.4