From 8c7946664c28b1bd09c22ce39bb2f3eef8436c3a Mon Sep 17 00:00:00 2001 From: Dave Wysochanski Date: Mon, 14 Sep 2009 15:45:23 +0000 Subject: [PATCH] Add max_pv and max_lv vg 'get' lvm2app exports. --- lib/metadata/metadata-exported.h | 2 ++ lib/metadata/metadata.c | 10 ++++++++++ liblvm/lvm2app.h | 22 ++++++++++++++++++++++ liblvm/lvm_vg.c | 10 ++++++++++ 4 files changed, 44 insertions(+) diff --git a/lib/metadata/metadata-exported.h b/lib/metadata/metadata-exported.h index 2291ed0f4..1393aaeb3 100644 --- a/lib/metadata/metadata-exported.h +++ b/lib/metadata/metadata-exported.h @@ -717,6 +717,8 @@ uint64_t vg_extent_size(const struct volume_group *vg); uint64_t vg_extent_count(const struct volume_group *vg); uint64_t vg_free_count(const struct volume_group *vg); uint64_t vg_pv_count(const struct volume_group *vg); +uint64_t vg_max_pv(const struct volume_group *vg); +uint64_t vg_max_lv(const struct volume_group *vg); int vg_check_write_mode(struct volume_group *vg); #define vg_is_clustered(vg) (vg_status((vg)) & CLUSTERED) diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index 935ebd48e..79e0016f8 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -3525,6 +3525,16 @@ uint64_t vg_pv_count(const struct volume_group *vg) return (uint64_t) vg->pv_count; } +uint64_t vg_max_pv(const struct volume_group *vg) +{ + return (uint64_t) vg->max_pv; +} + +uint64_t vg_max_lv(const struct volume_group *vg) +{ + return (uint64_t) vg->max_lv; +} + uint64_t lv_size(const struct logical_volume *lv) { return lv->size; diff --git a/liblvm/lvm2app.h b/liblvm/lvm2app.h index aa73e059a..d6b67ce5b 100644 --- a/liblvm/lvm2app.h +++ b/liblvm/lvm2app.h @@ -589,6 +589,28 @@ uint64_t lvm_vg_get_free_extent_count(const vg_t vg); */ uint64_t lvm_vg_get_pv_count(const vg_t vg); +/** + * Get the maximum number of physical volumes allowed in a volume group. + * + * \param vg + * VG handle obtained from lvm_vg_create or lvm_vg_open. + * + * \return + * Maximum number of physical volumes allowed in a volume group. + */ +uint64_t lvm_vg_get_max_pv(const vg_t vg); + +/** + * Get the maximum number of logical volumes allowed in a volume group. + * + * \param vg + * VG handle obtained from lvm_vg_create or lvm_vg_open. + * + * \return + * Maximum number of logical volumes allowed in a volume group. + */ +uint64_t lvm_vg_get_max_lv(const vg_t vg); + /************************** logical volume handling *************************/ /** diff --git a/liblvm/lvm_vg.c b/liblvm/lvm_vg.c index 9e5f8db25..dcfd72266 100644 --- a/liblvm/lvm_vg.c +++ b/liblvm/lvm_vg.c @@ -274,6 +274,16 @@ uint64_t lvm_vg_get_pv_count(const vg_t vg) return vg_pv_count(vg); } +uint64_t lvm_vg_get_max_pv(const vg_t vg) +{ + return vg_max_pv(vg); +} + +uint64_t lvm_vg_get_max_lv(const vg_t vg) +{ + return vg_max_lv(vg); +} + char *lvm_vg_get_uuid(const vg_t vg) { char uuid[64] __attribute((aligned(8))); -- 2.43.5