1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-10 16:58:47 +03:00

cleanup: Use segtype.h definitions of segment type names wherever possible

We are not using already defined segement type names where we could.

There is a lot of other places in device-mapper and LVM2 we have those
hardcoded so we should better finally have a common interface in
libdevmapper to avoid this.
This commit is contained in:
Heinz Mauelshagen 2014-09-24 15:24:41 +02:00 committed by Peter Rajnoha
parent 21aa850b43
commit 45f57477f4
6 changed files with 34 additions and 33 deletions

View File

@ -158,18 +158,18 @@ static const char *_lv_type_names[] = {
[LV_TYPE_DATA] = "data",
[LV_TYPE_SPARE] = "spare",
[LV_TYPE_VIRTUAL] = "virtual",
[LV_TYPE_RAID1] = "raid1",
[LV_TYPE_RAID10] = "raid10",
[LV_TYPE_RAID4] = "raid4",
[LV_TYPE_RAID5] = "raid5",
[LV_TYPE_RAID5_LA] = "raid5_la",
[LV_TYPE_RAID5_RA] = "raid5_ra",
[LV_TYPE_RAID5_LS] = "raid5_ls",
[LV_TYPE_RAID5_RS] = "raid5_rs",
[LV_TYPE_RAID6] = "raid6",
[LV_TYPE_RAID6_ZR] = "raid6_zr",
[LV_TYPE_RAID6_NR] = "raid6_nr",
[LV_TYPE_RAID6_NC] = "raid6_nc",
[LV_TYPE_RAID1] = SEG_TYPE_NAME_RAID1,
[LV_TYPE_RAID10] = SEG_TYPE_NAME_RAID10,
[LV_TYPE_RAID4] = SEG_TYPE_NAME_RAID4,
[LV_TYPE_RAID5] = SEG_TYPE_NAME_RAID5,
[LV_TYPE_RAID5_LA] = SEG_TYPE_NAME_RAID5_LA,
[LV_TYPE_RAID5_RA] = SEG_TYPE_NAME_RAID5_RA,
[LV_TYPE_RAID5_LS] = SEG_TYPE_NAME_RAID5_LS,
[LV_TYPE_RAID5_RS] = SEG_TYPE_NAME_RAID5_RS,
[LV_TYPE_RAID6] = SEG_TYPE_NAME_RAID6,
[LV_TYPE_RAID6_ZR] = SEG_TYPE_NAME_RAID6_ZR,
[LV_TYPE_RAID6_NR] = SEG_TYPE_NAME_RAID6_NR,
[LV_TYPE_RAID6_NC] = SEG_TYPE_NAME_RAID6_NC,
};
static int _lv_layout_and_role_mirror(struct dm_pool *mem,
@ -1476,7 +1476,7 @@ static uint32_t _calc_area_multiple(const struct segment_type *segtype,
* the 'stripes' argument will always need to
* be given.
*/
if (!strcmp(segtype->name, "raid10")) {
if (!strcmp(segtype->name, _lv_type_names[LV_TYPE_RAID10])) {
if (!stripes)
return area_count / 2;
return stripes;
@ -4575,7 +4575,7 @@ static int _lvresize_adjust_extents(struct cmd_context *cmd, struct logical_volu
return 0;
}
if (!strcmp(mirr_seg->segtype->name, "raid10")) {
if (!strcmp(mirr_seg->segtype->name, _lv_type_names[LV_TYPE_RAID10])) {
/* FIXME Warn if command line values are being overridden? */
lp->stripes = mirr_seg->area_count / seg_mirrors;
lp->stripe_size = mirr_seg->stripe_size;
@ -4588,7 +4588,7 @@ static int _lvresize_adjust_extents(struct cmd_context *cmd, struct logical_volu
/* Allow through "striped" and RAID 4/5/6/10 */
if (!seg_is_striped(seg) &&
(!seg_is_raid(seg) || seg_is_mirrored(seg)) &&
strcmp(seg->segtype->name, "raid10"))
strcmp(seg->segtype->name, _lv_type_names[LV_TYPE_RAID10]))
continue;
sz = seg->stripe_size;

View File

@ -431,7 +431,7 @@ static int _alloc_image_components(struct logical_volume *lv,
if (seg_is_raid(seg))
segtype = seg->segtype;
else if (!(segtype = get_segtype_from_string(lv->vg->cmd, "raid1")))
else if (!(segtype = get_segtype_from_string(lv->vg->cmd, SEG_TYPE_NAME_RAID1)))
return_0;
/*
@ -631,7 +631,7 @@ static int _raid_add_images(struct logical_volume *lv,
log_very_verbose("Setting RAID1 region_size to %uS",
seg->region_size);
}
if (!(seg->segtype = get_segtype_from_string(lv->vg->cmd, "raid1")))
if (!(seg->segtype = get_segtype_from_string(lv->vg->cmd, SEG_TYPE_NAME_RAID1)))
return_0;
}
/*
@ -1073,7 +1073,7 @@ int lv_raid_split(struct logical_volume *lv, const char *split_name,
}
if (!seg_is_mirrored(first_seg(lv)) ||
!strcmp(first_seg(lv)->segtype->name, "raid10")) {
!strcmp(first_seg(lv)->segtype->name, SEG_TYPE_NAME_RAID10)) {
log_error("Unable to split logical volume of segment type, %s",
first_seg(lv)->segtype->ops->name(first_seg(lv)));
return 0;
@ -1440,7 +1440,7 @@ int lv_raid_reshape(struct logical_volume *lv,
}
if (!strcmp(seg->segtype->name, "mirror") &&
(!strcmp(new_segtype->name, "raid1")))
(!strcmp(new_segtype->name, SEG_TYPE_NAME_RAID1)))
return _convert_mirror_to_raid1(lv, new_segtype);
log_error("Converting the segment type for %s/%s from %s to %s"
@ -1604,7 +1604,7 @@ int lv_raid_replace(struct logical_volume *lv,
raid_seg->segtype->ops->name(raid_seg),
lv->vg->name, lv->name);
return 0;
} else if (!strcmp(raid_seg->segtype->name, "raid10")) {
} else if (!strcmp(raid_seg->segtype->name, SEG_TYPE_NAME_RAID10)) {
uint32_t i, rebuilds_per_group = 0;
/* FIXME: We only support 2-way mirrors in RAID10 currently */
uint32_t copies = 2;
@ -1829,7 +1829,7 @@ static int _partial_raid_lv_is_redundant(const struct logical_volume *lv)
uint32_t i, s, rebuilds_per_group = 0;
uint32_t failed_components = 0;
if (!strcmp(raid_seg->segtype->name, "raid10")) {
if (!strcmp(raid_seg->segtype->name, SEG_TYPE_NAME_RAID10)) {
/* FIXME: We only support 2-way mirrors in RAID10 currently */
copies = 2;
for (i = 0; i < raid_seg->area_count * copies; i++) {

View File

@ -248,7 +248,7 @@ static int _raid_add_target_line(struct dev_manager *dm __attribute__((unused)),
/* RAID 4/5/6 */
params.mirrors = 1;
params.stripes = seg->area_count - seg->segtype->parity_devs;
} else if (strcmp(seg->segtype->name, "raid10")) {
} else if (strcmp(seg->segtype->name, SEG_TYPE_NAME_RAID10)) {
/* RAID 10 only supports 2 mirrors now */
params.mirrors = 2;
params.stripes = seg->area_count / 2;
@ -336,7 +336,7 @@ static int _raid_target_present(struct cmd_context *cmd,
unsigned raid_feature;
const char *feature;
} _features[] = {
{ 1, 3, RAID_FEATURE_RAID10, "raid10" },
{ 1, 3, RAID_FEATURE_RAID10, SEG_TYPE_NAME_RAID10 },
};
static int _raid_checked = 0;

View File

@ -640,7 +640,7 @@ static int lvchange_writemostly(struct logical_volume *lv)
struct cmd_context *cmd = lv->vg->cmd;
struct lv_segment *raid_seg = first_seg(lv);
if (strcmp(raid_seg->segtype->name, "raid1")) {
if (strcmp(raid_seg->segtype->name, SEG_TYPE_NAME_RAID1)) {
log_error("--write%s can only be used with 'raid1' segment type",
arg_count(cmd, writemostly_ARG) ? "mostly" : "behind");
return 0;

View File

@ -1720,8 +1720,9 @@ static int _lvconvert_mirrors(struct cmd_context *cmd,
if (lv_is_thin_type(lv)) {
log_error("Mirror segment type cannot be used for thinpool%s.\n"
"Try \"raid1\" segment type instead.",
lv_is_thin_pool_data(lv) ? "s" : " metadata");
"Try \"%s\" segment type instead.",
lv_is_thin_pool_data(lv) ? "s" : " metadata",
SEG_TYPE_NAME_RAID1);
return 0;
}
@ -2667,7 +2668,7 @@ static int _lvconvert_pool(struct cmd_context *cmd,
if (lv_is_mirror(pool_lv)) {
log_error("Mirror logical volumes cannot be used as pools.");
log_print_unless_silent("Try \"raid1\" segment type instead.");
log_print_unless_silent("Try \"%s\" segment type instead.", SEG_TYPE_NAME_RAID1);
return 0;
}
@ -2713,7 +2714,7 @@ static int _lvconvert_pool(struct cmd_context *cmd,
if (lv_is_mirror(metadata_lv)) {
log_error("Mirror logical volumes cannot be used for pool metadata.");
log_print_unless_silent("Try \"raid1\" segment type instead.");
log_print_unless_silent("Try \"%s\" segment type instead.", SEG_TYPE_NAME_RAID1);
return 0;
}

View File

@ -625,7 +625,7 @@ static int _read_raid_params(struct lvcreate_params *lp,
return 0;
}
if (!strcmp(lp->segtype->name, "raid10") && (lp->stripes < 2)) {
if (!strcmp(lp->segtype->name, SEG_TYPE_NAME_RAID10) && (lp->stripes < 2)) {
if (arg_count(cmd, stripes_ARG)) {
/* User supplied the bad argument */
log_error("Segment type 'raid10' requires 2 or more stripes.");
@ -651,7 +651,7 @@ static int _read_raid_params(struct lvcreate_params *lp,
*/
if ((lp->stripes > 1) &&
segtype_is_mirrored(lp->segtype) &&
strcmp(lp->segtype->name, "raid10")) {
strcmp(lp->segtype->name, SEG_TYPE_NAME_RAID10)) {
log_error("Stripe argument cannot be used with segment type, %s",
lp->segtype->name);
return 0;
@ -895,7 +895,7 @@ static int _lvcreate_params(struct lvcreate_params *lp,
log_print_unless_silent("Redundant mirrors argument: default is 0");
}
if ((lp->mirrors > 2) && !strcmp(lp->segtype->name, "raid10")) {
if ((lp->mirrors > 2) && !strcmp(lp->segtype->name, SEG_TYPE_NAME_RAID10)) {
/*
* FIXME: When RAID10 is no longer limited to
* 2-way mirror, 'lv_mirror_count()'
@ -942,7 +942,7 @@ static int _lvcreate_params(struct lvcreate_params *lp,
return 0;
}
if ((strcmp(lp->segtype->name, "raid10") == 0) &&
if (!strcmp(lp->segtype->name, SEG_TYPE_NAME_RAID10) &&
!(lp->target_attr & RAID_FEATURE_RAID10)) {
log_error("RAID module does not support RAID10.");
return 0;
@ -1154,7 +1154,7 @@ static int _check_raid_parameters(struct volume_group *vg,
lp->segtype->name);
return 0;
}
} else if (!strcmp(lp->segtype->name, "raid10")) {
} else if (!strcmp(lp->segtype->name, SEG_TYPE_NAME_RAID10)) {
if (!arg_count(cmd, stripes_ARG))
lp->stripes = devs / lp->mirrors;
if (lp->stripes < 2) {