[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC V5 54/62] block: Add bdrv_is_dedup_running.
From: |
Benoît Canet |
Subject: |
[Qemu-devel] [RFC V5 54/62] block: Add bdrv_is_dedup_running. |
Date: |
Wed, 16 Jan 2013 16:48:33 +0100 |
---
block.c | 19 +++++++++++++++++++
include/block/block.h | 1 +
2 files changed, 20 insertions(+)
diff --git a/block.c b/block.c
index aee33e0..e83666a 100644
--- a/block.c
+++ b/block.c
@@ -4342,6 +4342,25 @@ bool bdrv_has_dedup(BlockDriverState *bs)
return bdi.has_dedup;
}
+/* Return true if the device has deduplication and it's running */
+bool bdrv_is_dedup_running(BlockDriverState *bs)
+{
+ BlockDriverInfo bdi;
+ int ret = 0;
+
+ ret = bdrv_get_info((BlockDriverState *) bs, &bdi);
+
+ if (ret < 0) {
+ return false;
+ }
+
+ if (!bdi.has_dedup) {
+ return false;
+ }
+
+ return bdi.dedup_running;
+}
+
/* needed for generic scsi interface */
int bdrv_ioctl(BlockDriverState *bs, unsigned long int req, void *buf)
diff --git a/include/block/block.h b/include/block/block.h
index e6f86ac..f4e1d2a 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -307,6 +307,7 @@ int bdrv_is_inserted(BlockDriverState *bs);
int bdrv_media_changed(BlockDriverState *bs);
void bdrv_lock_medium(BlockDriverState *bs, bool locked);
bool bdrv_has_dedup(BlockDriverState *bs);
+bool bdrv_is_dedup_running(BlockDriverState *bs);
void bdrv_eject(BlockDriverState *bs, bool eject_flag);
const char *bdrv_get_format_name(BlockDriverState *bs);
BlockDriverState *bdrv_find(const char *name);
--
1.7.10.4
- [Qemu-devel] [RFC V5 30/62] qcow2: Add lazy refcounts to deduplication to prevent qcow2_cache_set_dependency loops, (continued)
- [Qemu-devel] [RFC V5 30/62] qcow2: Add lazy refcounts to deduplication to prevent qcow2_cache_set_dependency loops, Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 29/62] qcow2: Integrate SKEIN hash algorithm in deduplication., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 33/62] qemu-iotests: Filter dedup=on/off so existing tests don't break., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 31/62] qcow2: Use large L2 table for deduplication., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 32/62] qcow: Set large dedup hash block size., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 45/62] qcow2: Count deduplication refcount overflow metric., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 42/62] qcow2: Count QCowHashNode creation metrics., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 46/62] qapi: Add support for deduplication infos in qapi-schema.json., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 53/62] block: Add bdrv_has_dedup., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 52/62] qcow2: Add code to deduplicate cluster flagged with QCOW_OFLAG_TO_DEDUP., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 54/62] block: Add bdrv_is_dedup_running.,
Benoît Canet <=
- [Qemu-devel] [RFC V5 55/62] block: Add bdrv_resume_dedup., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 61/62] qmp: Add block-pause-dedup., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 62/62] qmp: Add block_resume_dedup., Benoît Canet, 2013/01/16
- Re: [Qemu-devel] [RFC V5 00/62] QCOW2 deduplication, Eric Blake, 2013/01/16
- [Qemu-devel] [RFC V5 41/62] qcow2: Collect undeduplicated cluster metric., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 25/62] qcow2: Add verification of dedup table., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 39/62] qcow2: Collect unaligned writes missing data reads metric., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 59/62] qcow2: Make dedup status persists., Benoît Canet, 2013/01/16
- [Qemu-devel] [RFC V5 21/62] qcow2: Remove hash when cluster is deleted., Benoît Canet, 2013/01/16