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 */ diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index 6f84340..f395279 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -107,25 +107,6 @@ struct _virStorageVolDefList { virStorageVolDefPtr *objs; }; - - -/* Storage pools */ - -enum virStoragePoolType { - 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 */ - - VIR_STORAGE_POOL_LAST, -}; - VIR_ENUM_DECL(virStoragePool) enum virStoragePoolDeviceType { diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index c9b8021..39dc13b 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -939,6 +939,8 @@ storagePoolGetInfo(virStoragePoolPtr obj, goto cleanup; memset(info, 0, sizeof(virStoragePoolInfo)); + + info->type = pool->def->type; if (pool->active) info->state = VIR_STORAGE_POOL_RUNNING; else -- 1.7.7.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list