From: Jason Dillaman <dillaman(a)redhat.com>
The RBD fast-diff feature can vastly reduce the amount of time needed
to calculate actual disk usage of volumes, but it might still be a
slow operation for large RBD pools or pools with large RBD images.
Therefore, this feature should be able to be optionally disabled if
needed.
Additionally, the fast-diff feature can only be used if the fast-diff
map isn't flagged as invalid. Otherwise, librbd will silently perform
a costly block-by-block scan to calculate the disk usage.
since v1:
- Moved RBD-unique refresh volume allocation override to shared storage
pool attribute
Jason Dillaman (3):
rbd: do not attempt to use fast-diff if it's marked invalid
storage: optional 'refresh_volume_allocation' attribute on pool
rbd: optionally compute volume allocation from capacity
docs/formatstorage.html.in | 15 +++++--
docs/schemas/storagecommon.rng | 7 ++++
docs/schemas/storagepool.rng | 5 +++
src/conf/storage_conf.c | 23 ++++++++++
src/conf/storage_conf.h | 9 ++++
src/storage/storage_backend_rbd.c | 42 +++++++++++++++++--
.../pool-rbd-refresh-volume-allocation.xml | 12 ++++++
.../pool-rbd-refresh-volume-allocation.xml | 15 +++++++
tests/storagepoolxml2xmltest.c | 1 +
9 files changed, 122 insertions(+), 7 deletions(-)
create mode 100644 tests/storagepoolxml2xmlin/pool-rbd-refresh-volume-allocation.xml
create mode 100644 tests/storagepoolxml2xmlout/pool-rbd-refresh-volume-allocation.xml
--
2.20.1