libvirt/src/storage
Wido den Hollander 98782f8899 rbd: Use RBD fast-diff for querying actual volume allocation
Since Ceph version Infernalis (9.2.0) the new fast-diff mechanism
of RBD allows for querying actual volume usage.

Prior to this version there was no easy and fast way to query how
much allocation a RBD volume had inside a Ceph cluster.

To use the fast-diff feature it needs to be enabled per RBD image
and is only supported by Ceph cluster running version Infernalis
(9.2.0) or newer.

Without the fast-diff feature enabled libvirt will report an allocation
identical to the image capacity. This is how libvirt behaves currently.

'virsh vol-info rbd/image2' might output for example:

  Name:           image2
  Type:           network
  Capacity:       1,00 GiB
  Allocation:     124,00 MiB

Newly created volumes will have the fast-diff feature enabled if the
backing Ceph cluster supports it.

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2016-02-12 16:02:05 -05:00
..
parthelper.c storage: Add new flag for libvirt_parthelper 2016-01-19 13:02:59 -05:00
storage_backend_disk.c storage: Add new flag for libvirt_parthelper 2016-01-19 13:02:59 -05:00
storage_backend_disk.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
storage_backend_fs.c storage: Check FS pool source during virStorageBackendFileSystemIsMounted 2015-12-15 14:33:04 -05:00
storage_backend_fs.h storage: add file functions for local and block files 2014-02-14 10:47:57 +01:00
storage_backend_gluster.c Revert "Restore skipping of setting capacity" 2015-03-02 08:07:11 +01:00
storage_backend_gluster.h storage: Add storage file backends for gluster 2014-02-14 11:07:23 +01:00
storage_backend_iscsi.c iscsi: do not fail to stop a stopped pool 2015-04-30 13:05:10 +02:00
storage_backend_iscsi.h Move functions using iscsiadm to viriscsi.c 2014-03-20 18:04:50 +01:00
storage_backend_logical.c Prohibit verbose strcat 2016-02-11 08:05:16 +01:00
storage_backend_logical.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
storage_backend_mpath.c storage: Add readflags for backend error processing 2015-12-09 16:31:14 -05:00
storage_backend_mpath.h Change file names in comments to match the files they are in 2014-03-10 14:26:04 +01:00
storage_backend_rbd.c rbd: Use RBD fast-diff for querying actual volume allocation 2016-02-12 16:02:05 -05:00
storage_backend_rbd.h maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
storage_backend_scsi.c storage: Ignore block devices that fail format detection 2015-12-09 16:31:15 -05:00
storage_backend_scsi.h storage: Move virStorageBackendSCSIGetHostNumber into iscsi backend 2013-04-08 18:41:06 +08:00
storage_backend_sheepdog.c virStringListLength: Ensure const correctness 2016-02-09 15:44:58 -05:00
storage_backend_sheepdog.h Change file names in comments to match the files they are in 2014-03-10 14:26:04 +01:00
storage_backend_zfs.c storage: zfs: flexible use of 'volmode' option 2016-02-04 03:16:50 +03:00
storage_backend_zfs.h storage: ZFS support 2014-08-12 19:40:20 +04:00
storage_backend.c Clean up usage of 'ret' variable 2016-02-11 08:05:16 +01:00
storage_backend.h storage: Handle readflags errors 2015-12-09 16:31:14 -05:00
storage_driver.c storageVolCreateXMLFrom: Check if backend knows how to createVol 2016-02-12 16:16:58 +01:00
storage_driver.h storage: Introduce virStoragePoolObjFindPoolByUUID 2015-11-12 06:30:32 -05:00