Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=191a2517beb85fcb041ec…
Commit: 191a2517beb85fcb041ecb92fad3b45a8d008b0e
Parent: 1a0d57f89503e9f25860ca85acb7d2a3e80cad9c
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Fri Mar 3 09:53:11 2017 -0600
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Fri Mar 3 09:53:11 2017 -0600
args: update select description
mention --select help and --options help.
---
tools/args.h | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/tools/args.h b/tools/args.h
index eb11f38..53ff870 100644
--- a/tools/args.h
+++ b/tools/args.h
@@ -1297,9 +1297,10 @@ arg(stdin_ARG, 's', "stdin", 0, 0, 0, NULL)
arg(select_ARG, 'S', "select", string_VAL, ARG_GROUPABLE, 0,
"Select objects for processing and reporting based on specified criteria.\n"
- "The criteria syntax is described in lvmreport(7) under Selection.\n"
- "For reporting commands, display rows that match the criteria.\n"
- "All rows can be displayed with an additional \"selected\" field (-o selected)\n"
+ "The criteria syntax is described by \\fB--select help\\fP and \\fBlvmreport\\fP(7).\n"
+ "For reporting commands, one row is displayed for each object matching the criteria.\n"
+ "See \\fB--options help\\fP for selectable object fields.\n"
+ "Rows can be displayed with an additional \"selected\" field (-o selected)\n"
"showing 1 if the row matches the selection and 0 otherwise.\n"
"For non-reporting commands which process LVM entities, the selection is\n"
"used to choose items to process.\n")
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=1a0d57f89503e9f25860c…
Commit: 1a0d57f89503e9f25860ca85acb7d2a3e80cad9c
Parent: 9a62767f2d44c9d9a9004ffe08a6f21a153c2a8f
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Thu Mar 2 16:56:32 2017 -0600
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Thu Mar 2 16:58:19 2017 -0600
man lvcreate: show extents option
Display --extents as an option in each cmd def,
in addition to the special notes about how
--size and --extents are alternatives.
---
man/lvcreate.8.des | 6 +++---
tools/command.c | 12 ++++++++++++
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/man/lvcreate.8.des b/man/lvcreate.8.des
index 488dab4..b77006b 100644
--- a/man/lvcreate.8.des
+++ b/man/lvcreate.8.des
@@ -28,9 +28,9 @@ to improve performance.
.SS Usage notes
-In the usage section below, \fB--size\fP \fINumber\fP can be replaced
-in each case with \fB--extents\fP \fINumberExtents\fP. Also see both
-descriptions the options section.
+In the usage section below, \fB--size\fP \fISize\fP can be replaced
+in each case with \fB--extents\fP \fINumber\fP. See both descriptions
+the options section.
In the usage section below, \fB--name\fP is omitted from the required
options, even though it is typically used. When the name is not
diff --git a/tools/command.c b/tools/command.c
index d2d7a26..25be87f 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -2110,6 +2110,7 @@ void print_man_usage(char *lvmname, struct command *cmd)
int onereq = (cmd->cmd_flags & CMD_FLAG_ONE_REQUIRED_OPT) ? 1 : 0;
int sep, ro, rp, oo, op, opt_enum;
int need_ro_indent_end = 0;
+ int include_extents = 0;
if (!(cname = find_command_name(cmd->name)))
return;
@@ -2239,6 +2240,10 @@ void print_man_usage(char *lvmname, struct command *cmd)
opt_enum = cmd->required_opt_args[ro].opt;
+ /* special case */
+ if (!strcmp(cmd->name, "lvcreate") && (opt_enum == size_ARG))
+ include_extents = 1;
+
if (opt_names[opt_enum].short_opt) {
printf(" \\fB-%c\\fP|\\fB%s\\fP",
opt_names[opt_enum].short_opt,
@@ -2284,6 +2289,13 @@ void print_man_usage(char *lvmname, struct command *cmd)
if (cmd->oo_count) {
printf(".RS 4\n");
+ if (include_extents) {
+ printf(".ad l\n");
+ printf("[ \\fB-l\\fP|\\fB--extents\\fP \\fINumber\\fP[PERCENT] ]\n");
+ printf(".ad b\n");
+ sep = 1;
+ }
+
/* print optional options with short opts */
for (oo = 0; oo < cmd->oo_count; oo++) {
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=5d39927f2251edbb60db5…
Commit: 5d39927f2251edbb60db5af55ddf06ef50331e49
Parent: 9b23d9bfe40428b4f0b744eea1a346f6234bfd83
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Thu Mar 2 16:33:14 2017 -0600
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Thu Mar 2 16:58:19 2017 -0600
help: show extents option for lvcreate
A special case is needed to display
--extents for lvcreate since the cmd defs
treat --extents as an automatic alternative
to --size (to avoid duplicating every cmd def).
---
tools/command.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/tools/command.c b/tools/command.c
index e82fdea..2e8299b 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -1635,6 +1635,7 @@ void print_usage(struct command *cmd, int longhelp, int desc_first)
{
struct command_name *cname = find_command_name(cmd->name);
int onereq = (cmd->cmd_flags & CMD_FLAG_ONE_REQUIRED_OPT) ? 1 : 0;
+ int include_extents = 0;
int ro, rp, oo, op, opt_enum, first;
/*
@@ -1654,6 +1655,10 @@ void print_usage(struct command *cmd, int longhelp, int desc_first)
for (ro = 0; ro < cmd->ro_count; ro++) {
opt_enum = cmd->required_opt_args[ro].opt;
+ /* special case */
+ if (!strcmp(cmd->name, "lvcreate") && (opt_enum == size_ARG))
+ include_extents = 1;
+
if (onereq) {
if (first)
printf("\n\t(");
@@ -1690,6 +1695,9 @@ void print_usage(struct command *cmd, int longhelp, int desc_first)
goto op_count;
if (cmd->oo_count) {
+ if (include_extents)
+ printf("\n\t[ --extents Number[PERCENT] ]");
+
for (oo = 0; oo < cmd->oo_count; oo++) {
opt_enum = cmd->optional_opt_args[oo].opt;
@@ -1822,8 +1830,9 @@ void print_usage_notes(struct command_name *cname, struct command *cmd)
if (!strcmp(cname->name, "lvcreate")) {
printf(" Special options for command:\n");
- printf(" [ --extents NumberExtents ]\n"
- " The --extents option can be used in place of --size in each case.\n");
+ printf(" [ --extents Number[PERCENT] ]\n"
+ " The --extents option can be used in place of --size in each case.\n"
+ " The number allows an optional percent suffix (see man lvcreate).\n");
printf("\n");
printf(" [ --name String ]\n"
" The --name option is not required but is typically used.\n"
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=9b23d9bfe40428b4f0b74…
Commit: 9b23d9bfe40428b4f0b744eea1a346f6234bfd83
Parent: f35028339830330ef331ff15a7e5f1274bfd63a2
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Thu Mar 2 16:10:40 2017 -0600
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Thu Mar 2 16:58:19 2017 -0600
help: print info about special options and variables
when --longhelp is used
---
tools/command.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/command.h | 1 +
tools/lvmcmdline.c | 15 +++++++++----
3 files changed, 68 insertions(+), 5 deletions(-)
diff --git a/tools/command.c b/tools/command.c
index f55b2ef..e82fdea 100644
--- a/tools/command.c
+++ b/tools/command.c
@@ -1817,6 +1817,63 @@ void print_usage_common_cmd(struct command_name *cname, struct command *cmd)
printf("\n\n");
}
+void print_usage_notes(struct command_name *cname, struct command *cmd)
+{
+
+ if (!strcmp(cname->name, "lvcreate")) {
+ printf(" Special options for command:\n");
+ printf(" [ --extents NumberExtents ]\n"
+ " The --extents option can be used in place of --size in each case.\n");
+ printf("\n");
+ printf(" [ --name String ]\n"
+ " The --name option is not required but is typically used.\n"
+ " When a name is not specified, a new LV name is generated\n"
+ " with the \"lvol\" prefix and a unique numeric suffix.\n");
+ printf("\n");
+ }
+
+ printf(" Common variables for lvm:\n"
+ " Variables in option or position args are capitalized,\n"
+ " e.g. PV, VG, LV, Size, Number, String, Tag.\n");
+ printf("\n");
+
+ printf(" PV\n"
+ " Physical Volume name, a device path under /dev.\n"
+ " For commands managing physical extents, a PV positional\n"
+ " arg generally accepts a suffix indicating a range of PEs:\n"
+ " PV[:PE[-PE]] is start and end range (inclusive),\n"
+ " PV[:PE[+PE]] is start and length range (counting from 0).\n");
+ printf("\n");
+
+ printf(" LV\n"
+ " Logical Volume name. See lvm(8) for valid names. An LV positional\n"
+ " arg generally includes the VG name and LV name, e.g. VG/LV.\n"
+ " LV followed by _<type> indicates that an LV of the given type is\n"
+ " required. (raid represents raid<N> type).\n"
+ " The _new suffix indicates that the LV name is new.\n");
+ printf("\n");
+
+ printf(" Tag\n"
+ " Tag name. See lvm(8) for information about tag names and using\n"
+ " tags in place of a VG, LV or PV.\n");
+ printf("\n");
+
+ printf(" Select\n"
+ " Select indicates that a required positional arg can be omitted\n"
+ " if the --select option is used. No arg appears in this position.\n");
+ printf("\n");
+
+ printf(" Size[UNIT]\n"
+ " Size is an input number that accepts an optional unit.\n"
+ " Input units are always treated as base two values, regardless of\n"
+ " capitalization, e.g. 'k' and 'K' both refer to 1024.\n"
+ " The default input unit is specified by letter, followed by |UNIT.\n"
+ " UNIT represents other possible input units: BbBsSkKmMgGtTpPeE.\n"
+ " (This should not be confused with the output control --units, where\n"
+ " capital letters mean multiple of 1000.)\n");
+ printf("\n");
+}
+
#ifdef MAN_PAGE_GENERATOR
static void print_val_man(struct command_name *cname, const char *str)
diff --git a/tools/command.h b/tools/command.h
index 36554a3..33f083b 100644
--- a/tools/command.h
+++ b/tools/command.h
@@ -216,6 +216,7 @@ int command_id_to_enum(const char *str);
void print_usage(struct command *cmd, int longhelp, int desc_first);
void print_usage_common_cmd(struct command_name *cname, struct command *cmd);
void print_usage_common_lvm(struct command_name *cname, struct command *cmd);
+void print_usage_notes(struct command_name *cname, struct command *cmd);
void factor_common_options(void);
#endif
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 5410a1f..4a109a6 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -1702,6 +1702,7 @@ static int _usage(const char *name, int longhelp)
{
struct command_name *cname = find_command_name(name);
struct command *cmd;
+ int show_full = longhelp;
int i;
if (!cname) {
@@ -1720,7 +1721,7 @@ static int _usage(const char *name, int longhelp)
/* Reduce the default output when there are several variants. */
if (cname->variants < 3)
- longhelp = 1;
+ show_full = 1;
for (i = 0; i < COMMAND_COUNT; i++) {
if (strcmp(_cmdline.commands[i].name, name))
@@ -1729,18 +1730,22 @@ static int _usage(const char *name, int longhelp)
if (_cmdline.commands[i].cmd_flags & CMD_FLAG_PREVIOUS_SYNTAX)
continue;
- if ((_cmdline.commands[i].cmd_flags & CMD_FLAG_SECONDARY_SYNTAX) && !longhelp)
+ if ((_cmdline.commands[i].cmd_flags & CMD_FLAG_SECONDARY_SYNTAX) && !show_full)
continue;
- print_usage(&_cmdline.commands[i], longhelp, 1);
+ print_usage(&_cmdline.commands[i], show_full, 1);
cmd = &_cmdline.commands[i];
}
/* Common options are printed once for all variants of a command name. */
- if (longhelp) {
+ if (show_full) {
print_usage_common_cmd(cname, cmd);
print_usage_common_lvm(cname, cmd);
- } else
+ }
+
+ if (longhelp)
+ print_usage_notes(cname, cmd);
+ else
log_print("Use --longhelp to show all options and advanced commands.");
return 1;
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=af7c8e7106632899925c2…
Commit: af7c8e7106632899925c26fff3be37a2de0c8a35
Parent: ca859b5149ad21adad9be03e8df794a496b746bb
Author: Heinz Mauelshagen <heinzm(a)redhat.com>
AuthorDate: Thu Mar 2 22:24:19 2017 +0100
Committer: Heinz Mauelshagen <heinzm(a)redhat.com>
CommitterDate: Thu Mar 2 22:24:19 2017 +0100
man: cover reshaping
Related: rhbz834579
Related: rhbz1191935
Related: rhbz1191978
---
man/lvconvert.8.des | 33 +++++++++++++++++++
man/lvmraid.7.in | 87 +++++++++++++++++++++++++++------------------------
2 files changed, 79 insertions(+), 41 deletions(-)
diff --git a/man/lvconvert.8.des b/man/lvconvert.8.des
index 2aa95a1..0548c2c 100644
--- a/man/lvconvert.8.des
+++ b/man/lvconvert.8.des
@@ -27,6 +27,39 @@ A command run on a visible LV sometimes operates on a sub LV rather than
the specified LV. In other cases, a sub LV must be specified directly on
the command line.
+Striped raid types are
+.B raid0/raid0_meta
+,
+.B raid5
+(an alias for raid5_ls),
+.B raid6
+(an alias for raid6_zr) and
+.B raid10
+(an alias for raid10_near).
+
+As opposed to mirroring, raid5 and raid6 stripe data and calculate parity
+blocks. The parity blocks can be used for data block recovery in case devices
+fail. A maximum number of one device in a raid5 LV may fail and two in case
+of raid6. Striped raid types typically rotate the parity blocks for performance
+reasons thus avoiding contention on a single device. Layouts of raid5 rotating
+parity blocks can be one of left-asymmetric (raid5_la), left-symmetric (raid5_ls
+with alias raid5), right-asymmetric (raid5_ra), right-symmetric (raid5_rs) and raid5_n,
+which doesn't rotate parity blocks. Any \"_n\" layouts allow for conversion between
+raid levels (raid5_n -> raid6 or raid5_n -> striped/raid0/raid0_meta).
+raid6 layouts are zero-restart (raid6_zr with alias raid6), next-restart (raid6_nr),
+next-continue (raid6_nc). Additionally, special raid6 layouts for raid level conversions
+between raid5 and raid6 are raid6_ls_6, raid6_rs_6, raid6_la_6 and raid6_ra_6. Those
+correspond to their raid5 counterparts (e.g. raid5_rs can be directly converted to raid6_rs_6
+and vice-versa).
+raid10 (an alias for raid10_near) is currently limited to one data copy and even number of
+sub LVs. This is a mirror group layout thus a single sub LV may fail per mirror group
+without data loss.
+Striped raid types support converting the layout, their stripesize
+and their number of stripes.
+
+The striped raid types combined with raid1 allow for conversion from linear -> striped/raid0/raid0_meta
+and vice-versa by e.g. linear <-> raid1 <-> raid5_n (then adding stripes) <-> striped/raid0/raid0_meta.
+
Sub LVs can be displayed with the command
.B lvs -a
diff --git a/man/lvmraid.7.in b/man/lvmraid.7.in
index b9ad255..e0657b8 100644
--- a/man/lvmraid.7.in
+++ b/man/lvmraid.7.in
@@ -19,6 +19,11 @@ LVM RAID uses both Device Mapper (DM) and Multiple Device (MD) drivers
from the Linux kernel. DM is used to create and manage visible LVM
devices, and MD is used to place data on physical devices.
+LVM creates hidden LVs (dm devices) layered between the visible LV and
+physical devices. LVs in that middle layers are called sub LVs.
+For LVM raid, a sub LV pair to store data and metadata (raid superblock
+and bitmap) is created per raid leg (see lvs command examples below).
+
.SH Create a RAID LV
To create a RAID LV, use lvcreate and specify an LV type.
@@ -77,7 +82,7 @@ data that is written to one device before moving to the next.
Also called mirroring, raid1 uses multiple devices to duplicate LV data.
The LV data remains available if all but one of the devices fail.
-The minimum number of devices required is 2.
+The minimum number of devices (i.e. sub LV pairs) required is 2.
.B lvcreate \-\-type raid1
[\fB\-\-mirrors\fP \fINumber\fP]
@@ -98,8 +103,8 @@ original and one mirror image.
\&
-raid4 is a form of striping that uses an extra device dedicated to storing
-parity blocks. The LV data remains available if one device fails. The
+raid4 is a form of striping that uses an extra, first device dedicated to
+storing parity blocks. The LV data remains available if one device fails. The
parity is used to recalculate data that is lost from a single device. The
minimum number of devices required is 3.
@@ -131,10 +136,10 @@ stored on the same device.
\&
raid5 is a form of striping that uses an extra device for storing parity
-blocks. LV data and parity blocks are stored on each device. The LV data
-remains available if one device fails. The parity is used to recalculate
-data that is lost from a single device. The minimum number of devices
-required is 3.
+blocks. LV data and parity blocks are stored on each device, typically in
+a rotating pattern for performance reasons. The LV data remains available
+if one device fails. The parity is used to recalculate data that is lost
+from a single device. The minimum number of devices required is 3.
.B lvcreate \-\-type raid5
[\fB\-\-stripes\fP \fINumber\fP \fB\-\-stripesize\fP \fISize\fP]
@@ -167,7 +172,8 @@ parity 0 with data restart.) See \fBRAID5 variants\fP below.
\&
raid6 is a form of striping like raid5, but uses two extra devices for
-parity blocks. LV data and parity blocks are stored on each device. The
+parity blocks. LV data and parity blocks are stored on each device, typically
+in a rotating pattern for perfomramce reasons. The
LV data remains available if up to two devices fail. The parity is used
to recalculate data that is lost from one or two devices. The minimum
number of devices required is 5.
@@ -919,7 +925,6 @@ Convert the linear LV to raid1 with three images
# lvconvert --type raid1 --mirrors 2 vg/my_lv
.fi
-.ig
4. Converting an LV from \fBstriped\fP (with 4 stripes) to \fBraid6_nc\fP.
.nf
@@ -927,9 +932,9 @@ Start with a striped LV:
# lvcreate --stripes 4 -L64M -n my_lv vg
-Convert the striped LV to raid6_nc:
+Convert the striped LV to raid6_n_6:
-# lvconvert --type raid6_nc vg/my_lv
+# lvconvert --type raid6 vg/my_lv
# lvs -a -o lv_name,segtype,sync_percent,data_copies
LV Type Cpy%Sync #Cpy
@@ -954,14 +959,12 @@ existing stripe devices. It then creates 2 additional MetaLV/DataLV pairs
If rotating data/parity is required, such as with raid6_nr, it must be
done by reshaping (see below).
-..
.SH RAID Reshaping
RAID reshaping is changing attributes of a RAID LV while keeping the same
-RAID level, i.e. changes that do not involve changing the number of
-devices. This includes changing RAID layout, stripe size, or number of
+RAID level. This includes changing RAID layout, stripe size, or number of
stripes.
When changing the RAID layout or stripe size, no new SubLVs (MetaLVs or
@@ -975,15 +978,12 @@ partially updated and corrupted. Instead, an existing stripe is quiesced,
read, changed in layout, and the new stripe written to free space. Once
that is done, the new stripe is unquiesced and used.)
-(The reshaping features are planned for a future release.)
-
-.ig
.SS Examples
1. Converting raid6_n_6 to raid6_nr with rotating data/parity.
-This conversion naturally follows a previous conversion from striped to
-raid6_n_6 (shown above). It completes the transition to a more
+This conversion naturally follows a previous conversion from striped/raid0
+to raid6_n_6 (shown above). It completes the transition to a more
traditional RAID6.
.nf
@@ -1029,15 +1029,13 @@ traditional RAID6.
The DataLVs are larger (additional segment in each) which provides space
for out-of-place reshaping. The result is:
-FIXME: did the lv name change from my_lv to r?
-.br
FIXME: should we change device names in the example to sda,sdb,sdc?
.br
FIXME: include -o devices or seg_pe_ranges above also?
.nf
# lvs -a -o lv_name,segtype,seg_pe_ranges,dataoffset
- LV Type PE Ranges data
+ LV Type PE Ranges Doff
r raid6_nr r_rimage_0:0-32 \\
r_rimage_1:0-32 \\
r_rimage_2:0-32 \\
@@ -1093,19 +1091,15 @@ RAID5 right asymmetric
\[bu]
Rotating parity 0 with data continuation
-.ig
raid5_n
.br
\[bu]
-RAID5 striping
+RAID5 parity n
.br
\[bu]
-Same layout as raid4 with a dedicated parity N with striped data.
-.br
+Dedicated parity device n used for striped/raid0 conversions
\[bu]
-Used for
-.B RAID Takeover
-..
+Used for RAID Takeover
.SH RAID6 Variants
@@ -1144,7 +1138,24 @@ RAID6 N continue
\[bu]
Rotating parity N with data continuation
-.ig
+raid6_n_6
+.br
+\[bu]
+RAID6 last parity devices
+.br
+\[bu]
+Dedicated last parity devices used for striped/raid0 conversions
+\[bu]
+Used for RAID Takeover
+
+raid6_{ls,rs,la,ra}_6
+.br
+\[bu]
+RAID6 last parity device
+.br
+\[bu]
+Dedicated last parity device used for conversions from/to raid5_{ls,rs,la,ra}
+
raid6_n_6
.br
\[bu]
@@ -1154,8 +1165,7 @@ RAID6 N continue
Fixed P-Syndrome N-1 and Q-Syndrome N with striped data
.br
\[bu]
-Used for
-.B RAID Takeover
+Used for RAID Takeover
raid6_ls_6
.br
@@ -1166,8 +1176,7 @@ RAID6 N continue
Same as raid5_ls for N-1 disks with fixed Q-Syndrome N
.br
\[bu]
-Used for
-.B RAID Takeover
+Used for RAID Takeover
raid6_la_6
.br
@@ -1178,8 +1187,7 @@ RAID6 N continue
Same as raid5_la for N-1 disks with fixed Q-Syndrome N
.br
\[bu]
-Used for
-.B RAID Takeover
+Used forRAID Takeover
raid6_rs_6
.br
@@ -1190,8 +1198,7 @@ RAID6 N continue
Same as raid5_rs for N-1 disks with fixed Q-Syndrome N
.br
\[bu]
-Used for
-.B RAID Takeover
+Used for RAID Takeover
raid6_ra_6
.br
@@ -1202,9 +1209,7 @@ RAID6 N continue
Same as raid5_ra for N-1 disks with fixed Q-Syndrome N
.br
\[bu]
-Used for
-.B RAID Takeover
-..
+Used for RAID Takeover
.ig
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=ca859b5149ad21adad9be…
Commit: ca859b5149ad21adad9be03e8df794a496b746bb
Parent: d3bcec599354df6c2645d5872be0bae293caccb4
Author: Heinz Mauelshagen <heinzm(a)redhat.com>
AuthorDate: Thu Mar 2 22:21:23 2017 +0100
Committer: Heinz Mauelshagen <heinzm(a)redhat.com>
CommitterDate: Thu Mar 2 22:22:16 2017 +0100
lvs: enhance stripes and region size field descriptions
Now that we got the "data_stripes" field key, adjust the "stripes" field description.
Enhance the "regionsize" field description to cover raids as well.
---
lib/report/columns.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/report/columns.h b/lib/report/columns.h
index 0452641..31255d7 100644
--- a/lib/report/columns.h
+++ b/lib/report/columns.h
@@ -241,7 +241,7 @@ FIELD(VGS, vg, NUM, "#VMdaCps", cmd, 0, vgmdacopies, vg_mda_copies, "Target numb
* SEGS type fields
*/
FIELD(SEGS, seg, STR, "Type", list, 0, segtype, segtype, "Type of LV segment.", 0)
-FIELD(SEGS, seg, NUM, "#Str", list, 0, seg_stripes, stripes, "Number of data stripes or mirror/raid1 legs.", 0)
+FIELD(SEGS, seg, NUM, "#Str", list, 0, seg_stripes, stripes, "Number of stripes or mirror/raid1 legs.", 0)
FIELD(SEGS, seg, NUM, "#DStr", list, 0, seg_data_stripes, data_stripes, "Number of data stripes or mirror/raid1 legs.", 0)
FIELD(SEGS, seg, NUM, "RSize", list, 0, seg_reshape_len, reshape_len, "Size of out-of-place reshape space in current units.", 0)
FIELD(SEGS, seg, SIZ, "RSize", list, 0, seg_reshape_len_le, reshape_len_le, "Size of out-of-place reshape space in physical extents.", 0)
@@ -250,7 +250,7 @@ FIELD(SEGS, seg, NUM, "DOff", list, 0, seg_data_offset, data_offset, "Data offse
FIELD(SEGS, seg, NUM, "NOff", list, 0, seg_new_data_offset, new_data_offset, "New data offset after any reshape on each image device.", 0)
FIELD(SEGS, seg, NUM, "#Par", list, 0, seg_parity_chunks, parity_chunks, "Number of (rotating) parity chunks.", 0)
FIELD(SEGS, seg, SIZ, "Stripe", stripe_size, 0, size32, stripe_size, "For stripes, amount of data placed on one device before switching to the next.", 0)
-FIELD(SEGS, seg, SIZ, "Region", region_size, 0, size32, region_size, "For mirrors, the unit of data copied when synchronising devices.", 0)
+FIELD(SEGS, seg, SIZ, "Region", region_size, 0, size32, region_size, "For mirrors/raids, the unit of data per leg when synchronizing devices.", 0)
FIELD(SEGS, seg, SIZ, "Chunk", list, 0, chunksize, chunk_size, "For snapshots, the unit of data used when tracking changes.", 0)
FIELD(SEGS, seg, NUM, "#Thins", list, 0, thincount, thin_count, "For thin pools, the number of thin volumes in this pool.", 0)
FIELD(SEGS, seg, STR, "Discards", list, 0, discards, discards, "For thin pools, how discards are handled.", 0)