On Fri, Jul 20, 2012 at 00:40:33 +0800, Osier Yang wrote:
Mainly for later patches' use, to filter the pools by pool type.
include/libvirt/libvirt.h.in: Add enum virStoragePoolType; Add
pool type to virStoragePoolInfo.
src/conf/storage_conf.h: Remove enum virStoragePoolType.
src/storage/storage_driver.c: Expose pool type via storagePoolGetInfo.
---
include/libvirt/libvirt.h.in | 17 +++++++++++++++++
src/conf/storage_conf.h | 19 -------------------
src/storage/storage_driver.c | 2 ++
3 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index e34438c..2820b2a 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -2335,6 +2335,22 @@ typedef struct _virStoragePool virStoragePool;
*/
typedef virStoragePool *virStoragePoolPtr;
+typedef enum {
+ VIR_STORAGE_POOL_DIR, /* Local directory */
+ VIR_STORAGE_POOL_FS, /* Local filesystem */
+ VIR_STORAGE_POOL_NETFS, /* Networked filesystem - eg NFS, GFS, etc */
+ VIR_STORAGE_POOL_LOGICAL, /* Logical volume groups / volumes */
+ VIR_STORAGE_POOL_DISK, /* Disk partitions */
+ VIR_STORAGE_POOL_ISCSI, /* iSCSI targets */
+ VIR_STORAGE_POOL_SCSI, /* SCSI HBA */
+ VIR_STORAGE_POOL_MPATH, /* Multipath devices */
+ VIR_STORAGE_POOL_RBD, /* RADOS Block Device */
+ VIR_STORAGE_POOL_SHEEPDOG, /* Sheepdog device */
+
+#ifdef VIR_ENUM_SENTINELS
+ VIR_STORAGE_POOL_LAST,
+#endif
+} virStoragePoolType;
typedef enum {
VIR_STORAGE_POOL_INACTIVE = 0, /* Not running */
@@ -2365,6 +2381,7 @@ typedef enum {
typedef struct _virStoragePoolInfo virStoragePoolInfo;
struct _virStoragePoolInfo {
+ int type; /* virStoragePoolType */
int state; /* virStoragePoolState flags */
unsigned long long capacity; /* Logical size bytes */
unsigned long long allocation; /* Current allocation bytes */
Oops, you can't change public structs. Any combination of an app and libvirt
library that would not have the same definition of this struct would fail.
Jirka