[lvm-devel] [PATCH 06/14] Refactor and add code for (lv) 'lv_kernel_{major|minor}' get functions.
Petr Rockai
prockai at redhat.com
Mon Oct 11 18:27:32 UTC 2010
Dave Wysochanski <dwysocha at redhat.com> writes:
> Signed-off-by: Dave Wysochanski <dwysocha at redhat.com>
Reviewed-By: Petr Rockai <prockai at redhat.com>
> --- a/lib/metadata/lv.c
> +++ b/lib/metadata/lv.c
> @@ -18,6 +18,23 @@
> #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;
> +}
> +
> --- a/lib/report/report.c
> +++ b/lib/report/report.c
> @@ -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);
> }
OK.
Yours,
Petr.
More information about the lvm-devel
mailing list