mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
RAID: If no stripes argument is given for RAID10 create, default to 2
Similar to the way the 'mirror', 'raid1' and 'raid10' segment types set the number of mirrors to 2 ('-m 1') if the argument is not specified, here we set the number of stripes to 2 if not given on the command line when creating a RAID10 LV.
This commit is contained in:
parent
fb0cee9a66
commit
b3e9a09abe
@ -1,5 +1,6 @@
|
|||||||
Version 2.02.99 -
|
Version 2.02.99 -
|
||||||
===================================
|
===================================
|
||||||
|
When no '-i' argument is given for RAID10, default to 2 stripes.
|
||||||
Do not allow --splitmirrors on RAID10 logical volumes.
|
Do not allow --splitmirrors on RAID10 logical volumes.
|
||||||
Skip mlocking [vectors] on arm architecture.
|
Skip mlocking [vectors] on arm architecture.
|
||||||
Support allocation of pool metadata with lvconvert command.
|
Support allocation of pool metadata with lvconvert command.
|
||||||
|
@ -493,13 +493,24 @@ static int _read_raid_params(struct lvcreate_params *lp,
|
|||||||
* lp->stripes
|
* lp->stripes
|
||||||
* lp->stripe_size
|
* lp->stripe_size
|
||||||
*
|
*
|
||||||
* For RAID 4/5/6, these values must be set.
|
* For RAID 4/5/6/10, these values must be set.
|
||||||
*/
|
*/
|
||||||
if (!segtype_is_mirrored(lp->segtype) &&
|
if (!segtype_is_mirrored(lp->segtype) &&
|
||||||
(lp->stripes <= lp->segtype->parity_devs)) {
|
(lp->stripes <= lp->segtype->parity_devs)) {
|
||||||
log_error("Number of stripes must be at least %d for %s",
|
log_error("Number of stripes must be at least %d for %s",
|
||||||
lp->segtype->parity_devs + 1, lp->segtype->name);
|
lp->segtype->parity_devs + 1, lp->segtype->name);
|
||||||
return 0;
|
return 0;
|
||||||
|
} else if (!strcmp(lp->segtype->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.");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
/* No stripe argument was given - default to 2 */
|
||||||
|
lp->stripes = 2;
|
||||||
|
lp->stripe_size = find_config_tree_int(cmd,
|
||||||
|
"metadata/stripesize",
|
||||||
|
DEFAULT_STRIPESIZE) * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user