mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
vgextend: Allow PVs to be added to VGs that have PVs missing
Allowing people to add devices to a VG that has PVs missing helps people avoid the inability to repair RAID LVs in certain cases. For example, if a user creates a RAID 4/5/6 LV using all of the available devices in a VG, there will be no spare devices to repair the LV with if a device should fail. Further, because the VG is missing a device, new devices cannot be added to allow the repair. If 'vgreduce --removemissing' were attempted, the "MISSING" PV could not be removed without also destroying the RAID LV. Allowing vgextend to operate solves the circular dependency. When the PV is added by a vgextend operation, the sequence number is incremented and the 'MISSING' flag is put on the PVs which are missing.
This commit is contained in:
parent
45db25817f
commit
186a2772e8
@ -1,5 +1,6 @@
|
||||
Version 2.02.97 -
|
||||
===============================
|
||||
Allow vgextend to add PVs to a VG that is missing PVs.
|
||||
Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
|
||||
Fix segfault when attempting to replace RAID 4/5/6 device (2.02.97).
|
||||
Fix dumpconfig <node> to print only <node> without its siblings (2.02.89).
|
||||
|
@ -66,8 +66,13 @@ int vgextend(struct cmd_context *cmd, int argc, char **argv)
|
||||
return EINVALID_CMD_LINE;
|
||||
}
|
||||
|
||||
if (arg_count(cmd, restoremissing_ARG))
|
||||
cmd->handles_missing_pvs = 1;
|
||||
/*
|
||||
* It is always ok to add new PVs to a VG - even if there are
|
||||
* missing PVs. No LVs are affected by this operation, but
|
||||
* repair processes - particularly for RAID segtypes - can
|
||||
* be facilitated.
|
||||
*/
|
||||
cmd->handles_missing_pvs = 1;
|
||||
|
||||
log_verbose("Checking for volume group \"%s\"", vg_name);
|
||||
vg = vg_read_for_update(cmd, vg_name, NULL, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user