mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-11 09:18:25 +03:00
Fix for bug 612311: Split of linear provides no error msg
An unhandled condition allowed the command to terminate cleanly without a warning. Added a check for the '--splitmirrors' argument to allow execution to the lower level function that has the check to see if the user is trying to split a linear device. You should now see a message if you try to use --splitmirrors on a linear device.
This commit is contained in:
parent
659f47f76a
commit
35af86cef2
@ -861,7 +861,8 @@ static int _lvconvert_mirrors_parse_params(struct cmd_context *cmd,
|
||||
else if (lp->mirrors_sign == SIGN_PLUS)
|
||||
lp->mirrors = *old_mimage_count + lp->mirrors;
|
||||
else if (lp->mirrors_sign == SIGN_MINUS)
|
||||
lp->mirrors = *old_mimage_count - lp->mirrors;
|
||||
lp->mirrors = (*old_mimage_count > lp->mirrors) ?
|
||||
*old_mimage_count - lp->mirrors: 0;
|
||||
else
|
||||
lp->mirrors += 1;
|
||||
|
||||
@ -876,8 +877,8 @@ static int _lvconvert_mirrors_parse_params(struct cmd_context *cmd,
|
||||
|
||||
/* Did the user try to subtract more legs than available? */
|
||||
if (lp->mirrors < 1) {
|
||||
log_error("Logical volume %s only has %" PRIu32 " mirrors.",
|
||||
lv->name, *old_mimage_count);
|
||||
log_error("Unable to reduce images by specified amount - only %d in %s",
|
||||
*old_mimage_count, lv->name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1561,7 +1562,9 @@ static int _lvconvert_single(struct cmd_context *cmd, struct logical_volume *lv,
|
||||
stack;
|
||||
return ECMD_FAILED;
|
||||
}
|
||||
} else if (arg_count(cmd, mirrors_ARG) || (lv->status & MIRRORED)) {
|
||||
} else if (arg_count(cmd, mirrors_ARG) ||
|
||||
arg_count(cmd, splitmirrors_ARG) ||
|
||||
(lv->status & MIRRORED)) {
|
||||
if (!archive(lv->vg)) {
|
||||
stack;
|
||||
return ECMD_FAILED;
|
||||
|
Loading…
Reference in New Issue
Block a user