]> sourceware.org Git - lvm2.git/commitdiff
Refactor and add code for (lv) 'lv_kernel_{major|minor}' get functions.
authorDave Wysochanski <dwysocha@redhat.com>
Tue, 12 Oct 2010 16:12:33 +0000 (16:12 +0000)
committerDave Wysochanski <dwysocha@redhat.com>
Tue, 12 Oct 2010 16:12:33 +0000 (16:12 +0000)
Signed-off-by: Dave Wysochanski <dwysocha@redhat.com>
Reviewed-By: Petr Rockai <prockai@redhat.com>
lib/metadata/lv.c
lib/metadata/lv.h
lib/report/properties.c
lib/report/report.c

index 98b6f638ffe50c6dcafbabcdf88fcaa0053938b5..ba2e00cc72ee9928e57614463758e58df673eda7 100644 (file)
 #include "activate.h"
 #include "toolcontext.h"
 
+int lv_kernel_minor(const struct logical_volume *lv)
+{
+       struct lvinfo info;
+
+       if (lv_info(lv->vg->cmd, lv, 0, &info, 0, 0) && info.exists)
+               return info.minor;
+       return -1;
+}
+
+int lv_kernel_major(const struct logical_volume *lv)
+{
+       struct lvinfo info;
+       if (lv_info(lv->vg->cmd, lv, 0, &info, 0, 0) && info.exists)
+               return info.major;
+       return -1;
+}
+
 char *lv_convert_lv_dup(struct dm_pool *mem, const struct logical_volume *lv)
 {
        struct lv_segment *seg;
index 1ba932b8cb539a1f012e1d79b98e81ec8a25b798..557f54aef7981db1bb68d845edb79f9a4167f8f4 100644 (file)
@@ -56,5 +56,7 @@ char *lv_path_dup(struct dm_pool *mem, const struct logical_volume *lv);
 uint64_t lv_origin_size(const struct logical_volume *lv);
 char *lv_move_pv_dup(struct dm_pool *mem, const struct logical_volume *lv);
 char *lv_convert_lv_dup(struct dm_pool *mem, const struct logical_volume *lv);
+int lv_kernel_major(const struct logical_volume *lv);
+int lv_kernel_minor(const struct logical_volume *lv);
 
 #endif
index db026831a1777f416f88e0c263d669f546f6ef90..5e420149dafce169e8c6154d699704d753e63846 100644 (file)
@@ -111,9 +111,9 @@ GET_LV_NUM_PROPERTY_FN(lv_minor, lv->minor)
 #define _lv_minor_set _not_implemented_set
 #define _lv_read_ahead_get _not_implemented_get
 #define _lv_read_ahead_set _not_implemented_set
-#define _lv_kernel_major_get _not_implemented_get
+GET_LV_NUM_PROPERTY_FN(lv_kernel_major, lv_kernel_major(lv))
 #define _lv_kernel_major_set _not_implemented_set
-#define _lv_kernel_minor_get _not_implemented_get
+GET_LV_NUM_PROPERTY_FN(lv_kernel_minor, lv_kernel_minor(lv))
 #define _lv_kernel_minor_set _not_implemented_set
 #define _lv_kernel_read_ahead_get _not_implemented_get
 #define _lv_kernel_read_ahead_set _not_implemented_set
index bb2d4ceedddc241086b2dd76f09bd984f9ec874f..f3e3e4175bc9678417ed0c528f15d4c3b72849c8 100644 (file)
@@ -212,10 +212,10 @@ static int _lvkmaj_disp(struct dm_report *rh, struct dm_pool *mem __attribute__(
                        const void *data, void *private __attribute__((unused)))
 {
        const struct logical_volume *lv = (const struct logical_volume *) data;
-       struct lvinfo info;
+       int major;
 
-       if (lv_info(lv->vg->cmd, lv, 0, &info, 0, 0) && info.exists)
-               return dm_report_field_int(rh, field, &info.major);
+       if ((major = lv_kernel_major(lv)) >= 0)
+               return dm_report_field_int(rh, field, &major);
 
        return dm_report_field_int32(rh, field, &_minusone32);
 }
@@ -225,10 +225,10 @@ static int _lvkmin_disp(struct dm_report *rh, struct dm_pool *mem __attribute__(
                        const void *data, void *private __attribute__((unused)))
 {
        const struct logical_volume *lv = (const struct logical_volume *) data;
-       struct lvinfo info;
+       int minor;
 
-       if (lv_info(lv->vg->cmd, lv, 0, &info, 0, 0) && info.exists)
-               return dm_report_field_int(rh, field, &info.minor);
+       if ((minor = lv_kernel_minor(lv)) >= 0)
+               return dm_report_field_int(rh, field, &minor);
 
        return dm_report_field_int32(rh, field, &_minusone32);
 }
This page took 0.044036 seconds and 5 git commands to generate.