[lvm-devel] [PATCH 4/8] Rename fields in lvm_property_type.
Petr Rockai
prockai at redhat.com
Wed Oct 20 21:45:10 UTC 2010
Dave Wysochanski <dwysocha at redhat.com> writes:
> Based on review comments, rename a few fields in lvm_property_type.
> In particular, change 'is_writeable' to 'is_settable', which is
> more intuitive to the intent of the bitfield (a 'set' function
> exists for this field/property). Also, remove the char array
> for 'id' - unnecessary as we can just use the string passed in
> to do the strcmp. Finally rename the union members from n_val
> to 'integer' and 's_val' to 'string'.
>
> Signed-off-by: Dave Wysochanski <dwysocha at redhat.com>
Reviewed-by: Petr Rockai <prockai at redhat.com>
Looks good.
> diff --git a/lib/report/properties.c b/lib/report/properties.c
> index 587f11d..8f9272c 100644
> --- a/lib/report/properties.c
> +++ b/lib/report/properties.c
> @@ -25,7 +25,7 @@ static int _ ## NAME ## _get (const void *obj, struct lvm_property_type *prop) \
> { \
> const struct TYPE *VAR = (const struct TYPE *)obj; \
> \
> - prop->v.n_val = VALUE; \
> + prop->value.integer = VALUE; \
> return 1; \
> }
> #define GET_VG_NUM_PROPERTY_FN(NAME, VALUE) \
> @@ -40,7 +40,7 @@ static int _ ## NAME ## _get (const void *obj, struct lvm_property_type *prop) \
> { \
> const struct TYPE *VAR = (const struct TYPE *)obj; \
> \
> - prop->v.s_val = (char *)VALUE; \
> + prop->value.string = (char *)VALUE; \
> return 1; \
> }
> #define GET_VG_STR_PROPERTY_FN(NAME, VALUE) \
> @@ -226,12 +226,12 @@ GET_VG_NUM_PROPERTY_FN(vg_mda_copies, (vg_mda_copies(vg)))
>
> #define STR DM_REPORT_FIELD_TYPE_STRING
> #define NUM DM_REPORT_FIELD_TYPE_NUMBER
> -#define FIELD(type, strct, sorttype, head, field, width, fn, id, desc, writeable) \
> - { type, #id, writeable, sorttype == STR, { .n_val = 0 }, _ ## id ## _get, _ ## id ## _set },
> +#define FIELD(type, strct, sorttype, head, field, width, fn, id, desc, settable) \
> + { type, #id, settable, sorttype == STR, { .integer = 0 }, _ ## id ## _get, _ ## id ## _set },
>
> struct lvm_property_type _properties[] = {
> #include "columns.h"
> - { 0, "", 0, 0, { .n_val = 0 }, _not_implemented_get, _not_implemented_set },
> + { 0, "", 0, 0, { .integer = 0 }, _not_implemented_get, _not_implemented_set },
> };
>
> #undef STR
> diff --git a/lib/report/properties.h b/lib/report/properties.h
> index 7398f2f..db4ae51 100644
> --- a/lib/report/properties.h
> +++ b/lib/report/properties.h
> @@ -19,17 +19,15 @@
> #include "metadata.h"
> #include "report.h"
>
> -#define LVM_PROPERTY_NAME_LEN DM_REPORT_FIELD_TYPE_ID_LEN
> -
> struct lvm_property_type {
> report_type_t type;
> - char id[LVM_PROPERTY_NAME_LEN];
> - unsigned is_writeable;
> - unsigned is_string;
> + const char *id;
> + unsigned is_settable:1;
> + unsigned is_string:1;
> union {
> - char *s_val;
> - uint64_t n_val;
> - } v;
> + char *string;
> + uint64_t integer;
> + } value;
> int (*get) (const void *obj, struct lvm_property_type *prop);
> int (*set) (void *obj, struct lvm_property_type *prop);
> };
More information about the lvm-devel
mailing list