[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/14] qcow2: set bdi->is_dirty
From: |
Kevin Wolf |
Subject: |
[PULL 01/14] qcow2: set bdi->is_dirty |
Date: |
Fri, 14 May 2021 18:31:11 +0200 |
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Set bdi->is_dirty, so that qemu-img info could show dirty flag.
After this commit the following check will show '"dirty-flag": true':
./build/qemu-img create -f qcow2 -o lazy_refcounts=on x 1M
./build/qemu-io x
qemu-io> write 0 1M
After "write" command success, kill the qemu-io process:
kill -9 <qemu-io pid>
./build/qemu-img info --output=json x
This will show '"dirty-flag": true' among other things. (before this
commit it shows '"dirty-flag": false')
Note, that qcow2's dirty-bit is not a "dirty bit for the image". It
only protects qcow2 lazy refcounts feature. So, there are a lot of
conditions when qcow2 session may be not closed correctly, but bit is
0. Still, when bit is set, the last session is definitely not finished
correctly and it's better to report it.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210504160656.462836-1-vsementsov@virtuozzo.com>
Tested-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block/qcow2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index 9727ae8fe3..39b91ef940 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -5089,6 +5089,7 @@ static int qcow2_get_info(BlockDriverState *bs,
BlockDriverInfo *bdi)
BDRVQcow2State *s = bs->opaque;
bdi->cluster_size = s->cluster_size;
bdi->vm_state_offset = qcow2_vm_state_offset(s);
+ bdi->is_dirty = s->incompatible_features & QCOW2_INCOMPAT_DIRTY;
return 0;
}
--
2.30.2
- [PULL 00/14] Block layer patches, Kevin Wolf, 2021/05/14
- [PULL 01/14] qcow2: set bdi->is_dirty,
Kevin Wolf <=
- [PULL 02/14] block: Fix Transaction leak in bdrv_root_attach_child(), Kevin Wolf, 2021/05/14
- [PULL 05/14] block/export: improve vu_blk_sect_range_ok(), Kevin Wolf, 2021/05/14
- [PULL 03/14] block: Fix Transaction leak in bdrv_reopen_multiple(), Kevin Wolf, 2021/05/14
- [PULL 04/14] qapi: spelling fix (addtional), Kevin Wolf, 2021/05/14
- [PULL 10/14] vhost-user-blk: Don't reconnect during initialisation, Kevin Wolf, 2021/05/14
- [PULL 06/14] test: new qTest case to test the vhost-user-blk-server, Kevin Wolf, 2021/05/14
- [PULL 08/14] vhost-user-blk-test: test discard/write zeroes invalid inputs, Kevin Wolf, 2021/05/14
- [PULL 14/14] vhost-user-blk: Check that num-queues is supported by backend, Kevin Wolf, 2021/05/14
- [PULL 09/14] vhost-user-blk: Make sure to set Error on realize failure, Kevin Wolf, 2021/05/14