mirror of
git://sourceware.org/git/lvm2.git
synced 2024-10-27 18:55:19 +03:00
Add the macro and specific 'get' functions for pvsegs.
Signed-off-by: Dave Wysochanski <wysochanski@pobox.com> Reviewed-by: Petr Rockai <prockai@redhat.com>
This commit is contained in:
parent
b2b27cd7f4
commit
4543dac58e
@ -36,6 +36,8 @@ static int _ ## NAME ## _get (const void *obj, struct lvm_property_type *prop) \
|
||||
GET_NUM_PROPERTY_FN(NAME, VALUE, logical_volume, lv)
|
||||
#define GET_LVSEG_NUM_PROPERTY_FN(NAME, VALUE) \
|
||||
GET_NUM_PROPERTY_FN(NAME, VALUE, lv_segment, lvseg)
|
||||
#define GET_PVSEG_NUM_PROPERTY_FN(NAME, VALUE) \
|
||||
GET_NUM_PROPERTY_FN(NAME, VALUE, pv_segment, pvseg)
|
||||
|
||||
#define SET_NUM_PROPERTY_FN(NAME, SETFN, TYPE, VAR) \
|
||||
static int _ ## NAME ## _set (void *obj, struct lvm_property_type *prop) \
|
||||
@ -68,6 +70,8 @@ static int _ ## NAME ## _get (const void *obj, struct lvm_property_type *prop) \
|
||||
GET_STR_PROPERTY_FN(NAME, VALUE, logical_volume, lv)
|
||||
#define GET_LVSEG_STR_PROPERTY_FN(NAME, VALUE) \
|
||||
GET_STR_PROPERTY_FN(NAME, VALUE, lv_segment, lvseg)
|
||||
#define GET_PVSEG_STR_PROPERTY_FN(NAME, VALUE) \
|
||||
GET_STR_PROPERTY_FN(NAME, VALUE, pv_segment, pvseg)
|
||||
|
||||
static int _not_implemented_get(const void *obj, struct lvm_property_type *prop)
|
||||
{
|
||||
@ -237,9 +241,9 @@ GET_LVSEG_STR_PROPERTY_FN(seg_tags, lvseg_tags_dup(lvseg))
|
||||
|
||||
|
||||
/* PVSEG */
|
||||
#define _pvseg_start_get _not_implemented_get
|
||||
GET_PVSEG_NUM_PROPERTY_FN(pvseg_start, pvseg->pe)
|
||||
#define _pvseg_start_set _not_implemented_set
|
||||
#define _pvseg_size_get _not_implemented_get
|
||||
GET_PVSEG_NUM_PROPERTY_FN(pvseg_size, pvseg->len)
|
||||
#define _pvseg_size_set _not_implemented_set
|
||||
|
||||
|
||||
@ -340,6 +344,12 @@ int vg_get_property(const struct volume_group *vg,
|
||||
return _get_property(vg, prop, VGS);
|
||||
}
|
||||
|
||||
int pvseg_get_property(const struct pv_segment *pvseg,
|
||||
struct lvm_property_type *prop)
|
||||
{
|
||||
return _get_property(pvseg, prop, PVSEGS);
|
||||
}
|
||||
|
||||
int pv_get_property(const struct physical_volume *pv,
|
||||
struct lvm_property_type *prop)
|
||||
{
|
||||
|
@ -39,6 +39,8 @@ int lv_get_property(const struct logical_volume *lv,
|
||||
struct lvm_property_type *prop);
|
||||
int vg_get_property(const struct volume_group *vg,
|
||||
struct lvm_property_type *prop);
|
||||
int pvseg_get_property(const struct pv_segment *pvseg,
|
||||
struct lvm_property_type *prop);
|
||||
int pv_get_property(const struct physical_volume *pv,
|
||||
struct lvm_property_type *prop);
|
||||
int lv_set_property(struct logical_volume *lv,
|
||||
|
Loading…
Reference in New Issue
Block a user