From 458a107e86bcc7065a933eac8c899a45f03838d8 Mon Sep 17 00:00:00 2001 From: Dave Wysochanski Date: Mon, 28 Jun 2010 20:39:24 +0000 Subject: [PATCH] Add --vgmetadatacopies to vgsplit man page and command. Signed-off-by: Dave Wysochanski --- man/vgsplit.8.in | 13 ++++++++++--- tools/commands.h | 3 ++- tools/vgsplit.c | 6 ++++-- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/man/vgsplit.8.in b/man/vgsplit.8.in index d44f86642..0c6ba228f 100644 --- a/man/vgsplit.8.in +++ b/man/vgsplit.8.in @@ -15,6 +15,8 @@ vgsplit \- split a volume group into two .IR type ] .RB [ -p | \-\-maxphysicalvolumes .IR MaxPhysicalVolumes ] +.RB [ \-\-[vg]metadatacopies ] +.IR NumberOfCopies|unmanaged|all ] .RB [ \-n | \-\-name .IR LogicalVolumeName ] .RB [ \-t | \-\-test ] @@ -36,9 +38,9 @@ If does not exist, a new volume group will be created. The default attributes for the new volume group can be specified with \fB\-\-alloc\fR, \fB\-\-clustered\fR, \fB\-\-maxlogicalvolumes\fR, \fB\-\-metadatatype\fR, -and \fB\-\-maxphysicalvolumes\fR (see \fBvgcreate(8)\fR for a description -of these options). If any of these options are not given, default -attribute(s) are taken from +\fB\-\-maxphysicalvolumes\fR and \fB\-\-[vg]metadatacopies\fR, +(see \fBvgcreate(8)\fR for a description of these options). If any +of these options are not given, default attribute(s) are taken from .I SourceVolumeGroupName\fP. If a non-LVM2 metadata type (e.g. lvm1) is being used, you should use the -M option to specify the metadata type directly. @@ -58,6 +60,11 @@ volumes forming either the source or the destination volume group. For this reason, \fBvgsplit(8)\fP may fail with an error if a split would result in a logical volume being split across volume groups. +A \fBvgsplit\fP into an existing volume group retains the existing volume group's +value of \fPvgmetadatacopies\fP (see \fBvgcreate\fP and \fBlvm.conf\fP for further +explanation of \fPvgmetadatacopies\fP). To change the value of +\fBvgmetadatacopies\fP, use \fBvgchange\fP. + .SH OPTIONS See \fBlvm\fP for common options. .SH SEE ALSO diff --git a/tools/commands.h b/tools/commands.h index 8f5ff3a94..aa012a749 100644 --- a/tools/commands.h +++ b/tools/commands.h @@ -1007,6 +1007,7 @@ xx(vgsplit, "\t[-h|--help] " "\n" "\t[-l|--maxlogicalvolumes MaxLogicalVolumes]" "\n" "\t[-M|--metadatatype 1|2] " "\n" + "\t[--[vg]metadatacopies #copies] " "\n" "\t[-n|--name LogicalVolumeName]\n" "\t[-p|--maxphysicalvolumes MaxPhysicalVolumes] " "\n" "\t[-t|--test] " "\n" @@ -1017,7 +1018,7 @@ xx(vgsplit, alloc_ARG, autobackup_ARG, clustered_ARG, maxlogicalvolumes_ARG, maxphysicalvolumes_ARG, - metadatatype_ARG, name_ARG, test_ARG) + metadatatype_ARG, vgmetadatacopies_ARG, name_ARG, test_ARG) xx(version, "Display software and driver version information", diff --git a/tools/vgsplit.c b/tools/vgsplit.c index 1fa3d002b..988c33437 100644 --- a/tools/vgsplit.c +++ b/tools/vgsplit.c @@ -272,7 +272,8 @@ static int new_vg_option_specified(struct cmd_context *cmd) return(arg_count(cmd, clustered_ARG) || arg_count(cmd, alloc_ARG) || arg_count(cmd, maxphysicalvolumes_ARG) || - arg_count(cmd, maxlogicalvolumes_ARG)); + arg_count(cmd, maxlogicalvolumes_ARG) || + arg_count(cmd, vgmetadatacopies_ARG)); } int vgsplit(struct cmd_context *cmd, int argc, char **argv) @@ -382,7 +383,8 @@ int vgsplit(struct cmd_context *cmd, int argc, char **argv) !vg_set_max_lv(vg_to, vp_new.max_lv) || !vg_set_max_pv(vg_to, vp_new.max_pv) || !vg_set_alloc_policy(vg_to, vp_new.alloc) || - !vg_set_clustered(vg_to, vp_new.clustered)) + !vg_set_clustered(vg_to, vp_new.clustered) || + !vg_set_mda_copies(vg_to, vp_new.metadata_copies)) goto_bad; } -- 2.43.5