From 36cac41115cca875f5d120631933b5dfb3c3c524 Mon Sep 17 00:00:00 2001 From: Heinz Mauelshagen Date: Mon, 27 Mar 2017 16:45:48 +0200 Subject: [PATCH] man-generator/man/help: simplify hyphen escaping Commits a29bb6a14b5e920092495fb9a1623e527d22daac ... 5c199d99f4dc9911d62673baba7643ea649ffe64 narrowed down on addressing the escaping of hyphens in the dynamic creation of manuals whilst avoiding them in creating help texts. This lead to a sequence of slipping through hyphens adrressed by additional patches in aforementioned commit series. On the other hand, postprocessing dynamically man-generator created and statically provided manuals catches all hyphens in need of escaping. Changes: - revert the above commits whilst keeping man-generator streamlining and the detection of any '\' when generating help texts in order to avoid escapes to slip in - Dynamically escape hyphens in manaual pages using sed(1) in the respective Makefile targets - remove any manually added escaping on hyphens from any static manual sources or headers --- man/Makefile.in | 8 + man/blkdeactivate.8_main | 54 +-- man/clvmd.8_main | 66 ++-- man/cmirrord.8_main | 8 +- man/dmeventd.8_main | 48 +-- man/dmfilemapd.8_main | 16 +- man/dmsetup.8_main | 256 ++++++------- man/dmstats.8_main | 396 ++++++++++---------- man/fsadm.8_main | 14 +- man/lvchange.8_end | 2 +- man/lvconvert.8_des | 2 +- man/lvconvert.8_end | 56 +-- man/lvcreate.8_des | 6 +- man/lvcreate.8_end | 44 +-- man/lvextend.8_des | 6 +- man/lvextend.8_end | 6 +- man/lvm-config.8_des | 2 +- man/lvm-dumpconfig.8_des | 2 +- man/lvm-lvpoll.8_end | 12 +- man/lvm.8_main | 36 +- man/lvm.conf.5_main | 30 +- man/lvm2-activation-generator.8_main | 26 +- man/lvmcache.7_main | 112 +++--- man/lvmconf.8_main | 48 +-- man/lvmconfig.8_des | 2 +- man/lvmdbusd.8_main | 14 +- man/lvmdump.8_main | 58 +-- man/lvmetad.8_main | 50 +-- man/lvmlockctl.8_main | 36 +- man/lvmlockd.8_main | 124 +++---- man/lvmpolld.8_main | 46 +-- man/lvmraid.7_main | 518 +++++++++++++-------------- man/lvmreport.7_main | 258 ++++++------- man/lvmsadc.8_main | 2 +- man/lvmsar.8_main | 2 +- man/lvmsystemid.7_main | 34 +- man/lvmthin.7_main | 404 ++++++++++----------- man/lvreduce.8_des | 6 +- man/lvreduce.8_end | 2 +- man/lvremove.8_end | 2 +- man/lvresize.8_des | 4 +- man/lvresize.8_end | 2 +- man/pvchange.8_end | 2 +- man/pvck.8_end | 4 +- man/pvcreate.8_end | 2 +- man/pvmove.8_end | 14 +- man/pvresize.8_end | 2 +- man/pvscan.8_des | 26 +- man/vgcfgbackup.8_des | 2 +- man/vgcfgrestore.8_des | 4 +- man/vgcfgrestore.8_end | 6 +- man/vgchange.8_end | 4 +- man/vgextend.8_des | 6 +- man/vgimportclone.8_end | 2 +- man/vgmerge.8_end | 2 +- man/vgremove.8_des | 2 +- man/vgrename.8_end | 2 +- tools/args.h | 162 ++++----- tools/command.c | 95 ++--- 59 files changed, 1568 insertions(+), 1589 deletions(-) diff --git a/man/Makefile.in b/man/Makefile.in index 57d962710..4fcce7d1c 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -173,17 +173,25 @@ define SUBSTVARS echo "Generating $@" ; $(SED) -e "s+#VERSION#+$(LVM_VERSION)+;s+#DEFAULT_SYS_DIR#+$(DEFAULT_SYS_DIR)+;s+#DEFAULT_ARCHIVE_DIR#+$(DEFAULT_ARCHIVE_DIR)+;s+#DEFAULT_BACKUP_DIR#+$(DEFAULT_BACKUP_DIR)+;s+#DEFAULT_PROFILE_DIR#+$(DEFAULT_PROFILE_DIR)+;s+#DEFAULT_CACHE_DIR#+$(DEFAULT_CACHE_DIR)+;s+#DEFAULT_LOCK_DIR#+$(DEFAULT_LOCK_DIR)+;s+#CLVMD_PATH#+/data/lvmtest/usr/sbin/clvmd+;s+#LVM_PATH#+/data/lvmtest/sbin/lvm+;s+#DEFAULT_RUN_DIR#+/var/run/lvm+;s+#DEFAULT_PID_DIR#+/var/run+;s+#SYSTEMD_GENERATOR_DIR#+$(SYSTEMD_GENERATOR_DIR)+;s+#DEFAULT_MANGLING#+$(DEFAULT_MANGLING)+;" $< > $@ endef +define ESCAPEHYPHENS + sed -i "s+\([^\\]\)--+\1\\\-\\\-+g;s+\([^\\]\)-+\1\\\-+g" $@ +endef + %.5: $(srcdir)/%.5_main $(SUBSTVARS) + $(ESCAPEHYPHENS) %.7: $(srcdir)/%.7_main $(SUBSTVARS) + $(ESCAPEHYPHENS) %.8: $(srcdir)/%.8_main $(SUBSTVARS) + $(ESCAPEHYPHENS) %.8: %.8_gen $(SUBSTVARS) + $(ESCAPEHYPHENS) install_man5: $(MAN5) $(INSTALL) -d $(MAN5DIR) diff --git a/man/blkdeactivate.8_main b/man/blkdeactivate.8_main index fbfd02531..9a0e84e69 100644 --- a/man/blkdeactivate.8_main +++ b/man/blkdeactivate.8_main @@ -3,27 +3,27 @@ blkdeactivate \(em utility to deactivate block devices .SH SYNOPSIS .B blkdeactivate -.RB [ \-d \ \fIdm_options\fP ] -.RB [ \-e ] -.RB [ \-h ] -.RB [ \-l \ \fIlvm_options\fP ] -.RB [ \-m \ \fImpath_options\fP ] -.RB [ \-u ] -.RB [ \-v ] +.RB [ -d \ \fIdm_options\fP ] +.RB [ -e ] +.RB [ -h ] +.RB [ -l \ \fIlvm_options\fP ] +.RB [ -m \ \fImpath_options\fP ] +.RB [ -u ] +.RB [ -v ] .RI [ device ] .SH DESCRIPTION The blkdeactivate utility deactivates block devices. For mounted block devices, it attempts to unmount it automatically before trying to deactivate. The utility currently supports -device\-mapper devices (DM), including LVM volumes and +device-mapper devices (DM), including LVM volumes and software RAID MD devices. LVM volumes are handled directly -using the \fBlvm\fP(8) command, the rest of device\-mapper +using the \fBlvm\fP(8) command, the rest of device-mapper based devices are handled using the \fBdmsetup\fP(8) command. MD devices are handled using the \fBmdadm\fP(8) command. .SH OPTIONS .TP -.BR \-d ", " \-\-dmoption \ \fIdm_options\fP -Comma separated list of device\-mapper specific options. +.BR -d ", " --dmoption \ \fIdm_options\fP +Comma separated list of device-mapper specific options. Accepted \fBdmsetup\fP(8) options are: .RS .IP \fIretry\fP @@ -32,17 +32,17 @@ Retry removal several times in case of failure. Force device removal. .RE .TP -.BR \-e ", " \-\-errors +.BR -e ", " --errors Show errors reported from tools called by \fBblkdeactivate\fP. Without this option, any error messages from these external tools are suppressed and the \fBblkdeactivate\fP itself provides only a summary message to indicate the device was skipped. .TP -.BR \-h ", " \-\-help +.BR -h ", " --help Display the help text. .TP -.BR \-l ", " \-\-lvmoption \ \fIlvm_options\fP -Comma\-separated list of LVM specific options: +.BR -l ", " --lvmoption \ \fIlvm_options\fP +Comma-separated list of LVM specific options: .RS .IP \fIretry\fP Retry removal several times in case of failure. @@ -52,22 +52,22 @@ Deactivating the Volume Group as a whole is quicker than deactivating each Logical Volume separately. .RE .TP -.BR \-m ", " \-\-mpathoption \ \fImpath_options\fP -Comma\-separated list of device\-mapper multipath specific options: +.BR -m ", " --mpathoption \ \fImpath_options\fP +Comma-separated list of device-mapper multipath specific options: .RS .IP \fIdisablequeueing\fP Disable queueing on all multipath devices before deactivation. This avoids a situation where blkdeactivate may end up waiting if -all the paths are unavailable for any underlying device\-mapper multipath +all the paths are unavailable for any underlying device-mapper multipath device. .RE .TP -.BR \-u ", " \-\-umount +.BR -u ", " --umount Unmount a mounted device before trying to deactivate it. Without this option used, a device that is mounted is not deactivated. .TP -.BR \-v ", " \-\-verbose -Run in verbose mode. Use \-\-vv for even more verbose mode. +.BR -v ", " --verbose +Run in verbose mode. Use --vv for even more verbose mode. .SH EXAMPLES . Deactivate all supported block devices found in the system, skipping mounted @@ -81,29 +81,29 @@ Deactivate all supported block devices found in the system, unmounting any mounted devices first, if possible. .BR # -.B blkdeactivate \-u +.B blkdeactivate -u .BR .P Deactivate the device /dev/vg/lvol0 together with all its holders, unmounting any mounted devices first, if possible. .BR # -.B blkdeactivate \-u /dev/vg/lvol0 +.B blkdeactivate -u /dev/vg/lvol0 .BR .P Deactivate all supported block devices found in the system. If the deactivation -of a device\-mapper device fails, retry it. Deactivate the whole +of a device-mapper device fails, retry it. Deactivate the whole Volume Group at once when processing an LVM Logical Volume. .BR # -.B blkdeactivate \-u \-d retry \-l wholevg +.B blkdeactivate -u -d retry -l wholevg .BR .P Deactivate all supported block devices found in the system. If the deactivation -of a device\-mapper device fails, retry it and force removal. +of a device-mapper device fails, retry it and force removal. .BR # -.B blkdeactivate \-d force,retry +.B blkdeactivate -d force,retry . .SH SEE ALSO .BR dmsetup (8), diff --git a/man/clvmd.8_main b/man/clvmd.8_main index 2e027c564..8e9921da2 100644 --- a/man/clvmd.8_main +++ b/man/clvmd.8_main @@ -8,22 +8,22 @@ clvmd \(em cluster LVM daemon . .ad l .B clvmd -.RB [ \-C ] -.RB [ \-d +.RB [ -C ] +.RB [ -d .RI [ value ]] -.RB [ \-E +.RB [ -E .IR lock_uuid ] -.RB [ \-f ] -.RB [ \-h ] -.RB [ \-I +.RB [ -f ] +.RB [ -h ] +.RB [ -I .IR cluster_manager ] -.RB [ \-R ] -.RB [ \-S ] -.RB [ \-t +.RB [ -R ] +.RB [ -S ] +.RB [ -t .IR timeout ] -.RB [ \-T +.RB [ -T .IR start_timeout ] -.RB [ \-V ] +.RB [ -V ] .ad b . .SH DESCRIPTION @@ -35,27 +35,27 @@ if a node in the cluster does not have this daemon running. .SH OPTIONS . .HP -.BR \-C +.BR -C .br -Only valid if \fB\-d\fP is also specified. +Only valid if \fB-d\fP is also specified. Tells all clvmds in a cluster to enable/disable debug logging. Without this switch, only the local clvmd will change its debug level to that -given with \fB\-d\fP. +given with \fB-d\fP. .br -This does not work correctly if specified on the command\-line that starts clvmd. +This does not work correctly if specified on the command-line that starts clvmd. If you want to start clvmd \fBand\fP -enable cluster\-wide logging then the command needs to be issued twice, eg: +enable cluster-wide logging then the command needs to be issued twice, eg: .br .BR clvmd .br -.BR clvmd\ \-d2 +.BR clvmd\ -d2 . .HP -.BR \-d +.BR -d .RI [ value ] .br Set debug logging level. -If \fB\-d\fP is specified without a \fIvalue\fP +If \fB-d\fP is specified without a \fIvalue\fP then 1 is assumed. \fIValue\fP can be: .PD 0 .IP @@ -63,30 +63,30 @@ then 1 is assumed. \fIValue\fP can be: \(em Disabled .IP .BR 1 -\(em Sends debug logs to stderr (implies \fB\-f\fP) +\(em Sends debug logs to stderr (implies \fB-f\fP) .IP .BR 2 \(em Sends debug logs to \fBsyslog\fP(3) .PD . .HP -.BR \-E +.BR -E .IR lock_uuid .br Pass lock uuid to be reacquired exclusively when clvmd is restarted. . .HP -.BR \-f +.BR -f .br Don't fork, run in the foreground. . .HP -.BR \-h +.BR -h .br Show help information. . .HP -.BR \-I +.BR -I .IR cluster_manager .br Selects the cluster manager to use for locking and internal @@ -94,24 +94,24 @@ communications. As it is quite possible to have multiple managers available on the same system you might have to manually specify this option to override the search. -By default, omit \fB\-I\fP is equivalent to \fB\-Iauto\fP. +By default, omit \fB-I\fP is equivalent to \fB-Iauto\fP. Clvmd will use the first cluster manager that succeeds, and it checks them in a predefined order .BR cman , .BR corosync , .BR openais . The available managers will be listed by order as part of the -\fBclvmd \-h\fP output. +\fBclvmd -h\fP output. . .HP -.BR \-R +.BR -R .br Tells all the running instance of \fBclvmd\fP in the cluster to reload their device cache and -re\-read the lvm configuration file \fBlvm.conf\fP(5). This command should be run whenever the +re-read the lvm configuration file \fBlvm.conf\fP(5). This command should be run whenever the devices on a cluster system are changed. . .HP -.BR \-S +.BR -S .br Tells the running \fBclvmd\fP to exit and reexecute itself, for example at the end of a package upgrade. The new instance is instructed to reacquire @@ -120,7 +120,7 @@ methods of restarting the daemon have the side effect of changing exclusive LV locks into shared locks.) . .HP -.BR \-t +.BR -t .IR timeout .br Specifies the \fItimeout\fP for commands to run around the cluster. This should not @@ -129,7 +129,7 @@ may need to increase this on systems with very large disk farms. The default is 60 seconds. . .HP -.BR \-T +.BR -T .IR start_timeout .br Specifies the start timeout for \fBclvmd\fP daemon startup. If the @@ -147,10 +147,10 @@ The default is \fB0\fP (no timeout) and the value is in seconds. Don't set this small or you will experience spurious errors. 10 or 20 seconds might be sensible. -This timeout will be ignored if you start \fBclvmd\fP with the \fB\-d\fP. +This timeout will be ignored if you start \fBclvmd\fP with the \fB-d\fP. . .HP -.BR \-V +.BR -V .br Display the version of the cluster LVM daemon. . diff --git a/man/cmirrord.8_main b/man/cmirrord.8_main index dab13ccef..026c19b81 100644 --- a/man/cmirrord.8_main +++ b/man/cmirrord.8_main @@ -3,11 +3,11 @@ cmirrord \(em cluster mirror log daemon .SH SYNOPSIS -\fBcmirrord\fR [\fB\-f\fR] [\fB\-h\fR] +\fBcmirrord\fR [\fB-f\fR] [\fB-h\fR] .SH DESCRIPTION \fBcmirrord\fP is the daemon that tracks mirror log information in a cluster. -It is specific to device\-mapper based mirrors (and by extension, LVM +It is specific to device-mapper based mirrors (and by extension, LVM cluster mirrors). Cluster mirrors are not possible without this daemon running. @@ -26,9 +26,9 @@ ignored. Active cluster mirrors should be shutdown before stopping the cluster mirror log daemon. .SH OPTIONS -.IP "\fB\-f\fR, \fB\-\-foreground\fR" 4 +.IP "\fB-f\fR, \fB--foreground\fR" 4 Do not fork and log to the terminal. -.IP "\fB\-h\fR, \fB\-\-help\fR" 4 +.IP "\fB-h\fR, \fB--help\fR" 4 Print usage. .SH SEE ALSO diff --git a/man/dmeventd.8_main b/man/dmeventd.8_main index 0c1bb81bd..7e3f9a205 100644 --- a/man/dmeventd.8_main +++ b/man/dmeventd.8_main @@ -2,24 +2,24 @@ . .SH NAME . -dmeventd \(em Device\-mapper event daemon +dmeventd \(em Device-mapper event daemon . .SH SYNOPSIS . .B dmeventd -.RB [ \-d -.RB [ \-d -.RB [ \-d ]]] -.RB [ \-f ] -.RB [ \-h ] -.RB [ \-l ] -.RB [ \-R ] -.RB [ \-V ] -.RB [ \-? ] +.RB [ -d +.RB [ -d +.RB [ -d ]]] +.RB [ -f ] +.RB [ -h ] +.RB [ -l ] +.RB [ -R ] +.RB [ -V ] +.RB [ -? ] . .SH DESCRIPTION . -dmeventd is the event monitoring daemon for device\-mapper devices. +dmeventd is the event monitoring daemon for device-mapper devices. Library plugins can register and carry out actions triggered when particular events occur. . @@ -27,46 +27,46 @@ particular events occur. .SH OPTIONS . .HP -.BR \-d +.BR -d .br Repeat from 1 to 3 times ( -.BR \-d , -.BR \-dd , -.BR \-ddd +.BR -d , +.BR -dd , +.BR -ddd ) to increase the detail of debug messages sent to syslog. Each extra d adds more debugging information. . .HP -.BR \-f +.BR -f .br Don't fork, run in the foreground. . .HP -.BR \-h +.BR -h .br Show help information. . .HP -.BR \-l +.BR -l .br Log through stdout and stderr instead of syslog. -This option works only with option \-f, otherwise it is ignored. +This option works only with option -f, otherwise it is ignored. . .HP -.BR \-? +.BR -? .br Show help information on stderr. . .HP -.BR \-R +.BR -R .br Replace a running dmeventd instance. The running dmeventd must be version 2.02.77 or newer. The new dmeventd instance will obtain a list of devices and events to monitor from the currently running daemon. . .HP -.BR \-V +.BR -V .br Show version of dmeventd. . @@ -106,7 +106,7 @@ of the thin pool is filled. See When a thin pool fills over 50% (data or metadata) thin plugin calls configured \fIdmeventd/thin_command\fP with every 5% increase. With default setting it calls internal -\fBlvm lvextend \-\-use\-policies\fP to resize thin pool +\fBlvm lvextend --use-policies\fP to resize thin pool when it's been filled above configured threshold \fIactivation/thin_pool_autoextend_threshold\fP. If the command fails, dmeventd thin plugin will keep @@ -116,7 +116,7 @@ User may also configure external command to support more advanced maintenance operations of a thin pool. Such external command can e.g. remove some unneeded snapshots, use \fBfstrim\fP(8) to free recover space in a thin pool, -but also can use \fBlvextend \-\-use\-policies\fP if other actions +but also can use \fBlvextend --use-policies\fP if other actions have not released enough space. Command is executed with environmental variable \fBLVM_RUN_BY_DMEVENTD=1\fP so any lvm2 command executed diff --git a/man/dmfilemapd.8_main b/man/dmfilemapd.8_main index c78202558..8e19e4b03 100644 --- a/man/dmfilemapd.8_main +++ b/man/dmfilemapd.8_main @@ -21,7 +21,7 @@ . .SH NAME . -dmfilemapd \(em device\-mapper filemap monitoring daemon +dmfilemapd \(em device-mapper filemap monitoring daemon . .SH SYNOPSIS . @@ -44,7 +44,7 @@ dmfilemapd \(em device\-mapper filemap monitoring daemon . The dmfilemapd daemon monitors groups of \fIdmstats\fP regions that correspond to the extents of a file, adding and removing regions to -reflect the changing state of the file on\-disk. +reflect the changing state of the file on-disk. The daemon is normally launched automatically by the \fPdmstats create\fP command, but can be run manually, either to create a new @@ -86,8 +86,8 @@ and the \fBmode\fP option for more information. .br The filemap monitoring mode the daemon should use: either "inode" (\fBDM_FILEMAP_FOLLOW_INODE\fP), or "path" -(\fBDM_FILEMAP_FOLLOW_PATH\fP), to enable follow\-inode or -follow\-path mode respectively. +(\fBDM_FILEMAP_FOLLOW_PATH\fP), to enable follow-inode or +follow-path mode respectively. . .HP .BR [foreground] @@ -130,7 +130,7 @@ within the file system, while it is being monitored. .B Follow path .P The daemon follows the path that was given on the daemon command -line. The file descriptor referencing the file is re\-opened on each +line. The file descriptor referencing the file is re-opened on each iteration of the daemon, and the daemon will exit if no file exists at this location (a tolerance is allowed so that a brief delay between removal and replacement is permitted). @@ -164,13 +164,13 @@ Normally the daemon is started automatically by the \fBdmstats\fP \fBcreate\fP or \fBupdate_filemap\fP commands but it can be run manually for debugging or testing purposes. .P -Start the daemon in the background, in follow\-path mode +Start the daemon in the background, in follow-path mode .br # .B dmfilemapd 3 0 /srv/images/vm.img path 0 0 3< /srv/images/vm.img .br .P -Start the daemon in follow\-inode mode, disable forking and enable +Start the daemon in follow-inode mode, disable forking and enable verbose logging .br # @@ -208,5 +208,5 @@ Bryn M. Reeves LVM2 resource page: https://www.sourceware.org/lvm2/ .br -Device\-mapper resource page: http://sources.redhat.com/dm/ +Device-mapper resource page: http://sources.redhat.com/dm/ .br diff --git a/man/dmsetup.8_main b/man/dmsetup.8_main index e03b50ce8..4421882dd 100644 --- a/man/dmsetup.8_main +++ b/man/dmsetup.8_main @@ -23,12 +23,12 @@ dmsetup \(em low level logical volume management . ad l . BR create . IR device_name -. RB [ -u | \-\-uuid +. RB [ -u | --uuid . IR uuid ] -. RB \%[ \-\-addnodeoncreate | \-\-addnodeonresume ] -. RB \%[ \-n | \-\-notable | \-\-table +. RB \%[ --addnodeoncreate | --addnodeonresume ] +. RB \%[ -n | --notable | --table . IR \%table | table_file ] -. RB [ \-\-readahead +. RB [ --readahead . RB \%[ + ] \fIsectors | auto | none ] . ad b .. @@ -39,7 +39,7 @@ dmsetup \(em low level logical volume management .de CMD_DEPS . ad l . BR deps -. RB [ \-o +. RB [ -o . IR options ] . RI [ device_name ...] . ad b @@ -50,7 +50,7 @@ dmsetup \(em low level logical volume management .B dmsetup .de CMD_HELP . BR help -. RB [ \-c | \-C | \-\-columns ] +. RB [ -c | -C | --columns ] .. .CMD_HELP . @@ -67,18 +67,18 @@ dmsetup \(em low level logical volume management .de CMD_INFOLONG . ad l . BR info -. BR \-c | \-C | \-\-columns -. RB [ \-\-count +. BR -c | -C | --columns +. RB [ --count . IR count ] -. RB [ \-\-interval +. RB [ --interval . IR seconds ] -. RB \%[ \-\-nameprefixes ] -. RB \%[ \-\-noheadings ] -. RB [ \-o +. RB \%[ --nameprefixes ] +. RB \%[ --noheadings ] +. RB [ -o . IR fields ] -. RB [ \-O | \-\-sort +. RB [ -O | --sort . IR sort_fields ] -. RB [ \-\-separator +. RB [ --separator . IR separator ] . RI [ device_name ] . ad b @@ -91,7 +91,7 @@ dmsetup \(em low level logical volume management . ad l . BR load . IR device_name -. RB [ \-\-table +. RB [ --table . IR table | table_file ] . ad b .. @@ -102,12 +102,12 @@ dmsetup \(em low level logical volume management .de CMD_LS . ad l . BR ls -. RB [ \-\-target +. RB [ --target . IR target_type ] -. RB [ \-\-exec +. RB [ --exec . IR command ] -. RB [ \-\-tree ] -. RB [ \-o +. RB [ --tree ] +. RB [ -o . IR options ] . ad b .. @@ -145,7 +145,7 @@ dmsetup \(em low level logical volume management . ad l . BR reload . IR device_name -. RB [ \-\-table +. RB [ --table . IR table | table_file ] . ad b .. @@ -156,9 +156,9 @@ dmsetup \(em low level logical volume management .de CMD_REMOVE . ad l . BR remove -. RB [ \-f | \-\-force ] -. RB [ \-\-retry ] -. RB [ \-\-deferred ] +. RB [ -f | --force ] +. RB [ --retry ] +. RB [ --deferred ] . IR device_name ... . ad b .. @@ -168,8 +168,8 @@ dmsetup \(em low level logical volume management .B dmsetup .de CMD_REMOVE_ALL . BR remove_all -. RB [ \-f | \-\-force ] -. RB [ \-\-deferred ] +. RB [ -f | --force ] +. RB [ --deferred ] .. .CMD_REMOVE_ALL . @@ -187,7 +187,7 @@ dmsetup \(em low level logical volume management .de CMD_RENAME_UUID . BR rename . IR device_name -. BR \-\-setuuid +. BR --setuuid . IR uuid .. .CMD_RENAME_UUID @@ -198,10 +198,10 @@ dmsetup \(em low level logical volume management . ad l . BR resume . IR device_name ... -. RB [ \-\-addnodeoncreate | \-\-addnodeonresume ] -. RB [ \-\-noflush ] -. RB [ \-\-nolockfs ] -. RB \%[ \-\-readahead +. RB [ --addnodeoncreate | --addnodeonresume ] +. RB [ --noflush ] +. RB [ --nolockfs ] +. RB \%[ --readahead . RB \%[ + ] \fIsectors | auto | none ] . ad b .. @@ -244,9 +244,9 @@ dmsetup \(em low level logical volume management .de CMD_STATUS . ad l . BR status -. RB [ \-\-target +. RB [ --target . IR target_type ] -. RB [ \-\-noflush ] +. RB [ --noflush ] . RI [ device_name ...] . ad b .. @@ -257,8 +257,8 @@ dmsetup \(em low level logical volume management .de CMD_SUSPEND . ad l . BR suspend -. RB [ \-\-nolockfs ] -. RB [ \-\-noflush ] +. RB [ --nolockfs ] +. RB [ --noflush ] . IR device_name ... . ad b .. @@ -269,9 +269,9 @@ dmsetup \(em low level logical volume management .de CMD_TABLE . ad l . BR table -. RB [ \-\-target +. RB [ --target . IR target_type ] -. RB [ \-\-showkeys ] +. RB [ --showkeys ] . RI [ device_name ...] . ad b .. @@ -342,7 +342,7 @@ dmsetup \(em low level logical volume management .de CMD_WAIT . ad l . BR wait -. RB [ \-\-noflush ] +. RB [ --noflush ] . IR device_name . RI [ event_nr ] . ad b @@ -355,9 +355,9 @@ dmsetup \(em low level logical volume management . ad l . BR wipe_table . IR device_name ... -. RB [ \-f | \-\-force ] -. RB [ \-\-noflush ] -. RB [ \-\-nolockfs ] +. RB [ -f | --force ] +. RB [ --noflush ] +. RB [ --nolockfs ] . ad b .. .CMD_WIPE_TABLE @@ -373,7 +373,7 @@ dmsetup \(em low level logical volume management . .SH DESCRIPTION . -dmsetup manages logical devices that use the device\-mapper driver. +dmsetup manages logical devices that use the device-mapper driver. Devices are created by loading a table that specifies a target for each sector (512 bytes) in the logical device. @@ -383,74 +383,74 @@ The second argument is the logical device name or uuid. Invoking the dmsetup tool as \fBdevmap_name\fP (which is not normally distributed and is supported only for historical reasons) is equivalent to -.BI \%dmsetup\ info\ \-c\ \-\-noheadings\ \-j \ major\ \-m \ minor \c +.BI \%dmsetup\ info\ -c\ --noheadings\ -j \ major\ -m \ minor \c \fR. .\" dot above here fixes -Thtml rendering for next HP option . .SH OPTIONS . .HP -.BR \-\-addnodeoncreate +.BR --addnodeoncreate .br Ensure \fI/dev/mapper\fP node exists after \fBdmsetup create\fP. . .HP -.BR \-\-addnodeonresume +.BR --addnodeonresume .br Ensure \fI/dev/mapper\fP node exists after \fBdmsetup resume\fP (default with udev). . .HP -.BR \-\-checks +.BR --checks .br Perform additional checks on the operations requested and report potential problems. Useful when debugging scripts. In some cases these checks may slow down operations noticeably. . .HP -.BR \-c | \-C | \-\-columns +.BR -c | -C | --columns .br Display output in columns rather than as Field: Value lines. . .HP -.BR \-\-count +.BR --count .IR count .br Specify the number of times to repeat a report. Set this to zero continue until interrupted. The default interval is one second. . .HP -.BR \-f | \-\-force +.BR -f | --force .br Try harder to complete operation. . .HP -.BR \-h | \-\-help +.BR -h | --help .br Outputs a summary of the commands available, optionally including the list of report fields (synonym with \fBhelp\fP command). . .HP -.BR \-\-inactive +.BR --inactive .br When returning any table information from the kernel report on the inactive table instead of the live table. Requires kernel driver version 4.16.0 or above. . .HP -.BR \-\-interval +.BR --interval .IR seconds .br Specify the interval in seconds between successive iterations for -repeating reports. If \fB\-\-interval\fP is specified but \fB\-\-count\fP +repeating reports. If \fB--interval\fP is specified but \fB--count\fP is not, reports will continue to repeat until interrupted. The default interval is one second. . .HP -.BR \-\-manglename +.BR --manglename .BR auto | hex | none .br Mangle any character not on a whitelist using mangling_mode when -processing device\-mapper device names and UUIDs. The names and UUIDs +processing device-mapper device names and UUIDs. The names and UUIDs are mangled on input and unmangled on output where the mangling mode is one of: \fBauto\fP (only do the mangling if not mangled yet, do nothing @@ -458,7 +458,7 @@ if already mangled, error on mixed), \fBhex\fP (always do the mangling) and \fBnone\fP (no mangling). Default mode is \fB#DEFAULT_MANGLING#\fP. -Character whitelist: 0-9, A\-Z, a\-z, #+-.:=@_. This whitelist is +Character whitelist: 0-9, A-Z, a-z, #+-.:=@_. This whitelist is also supported by udev. Any character not on a whitelist is replaced with its hex value (two digits) prefixed by \\x. Mangling mode could be also set through @@ -466,69 +466,69 @@ Mangling mode could be also set through environment variable. . .HP -.BR \-j | \-\-major +.BR -j | --major .IR major .br Specify the major number. . .HP -.BR \-m | \-\-minor +.BR -m | --minor .IR minor .br Specify the minor number. . .HP -.BR \-n | \-\-notable +.BR -n | --notable .br When creating a device, don't load any table. . .HP -.BR \-\-nameprefixes +.BR --nameprefixes .br Add a "DM_" prefix plus the field name to the output. Useful with -\fB\-\-noheadings\fP to produce a list of +\fB--noheadings\fP to produce a list of field=value pairs that can be used to set environment variables (for example, in .BR udev (7) rules). . .HP -.BR \-\-noheadings +.BR --noheadings Suppress the headings line when using columnar output. . .HP -.BR \-\-noflush +.BR --noflush Do not flush outstading I/O when suspending a device, or do not -commit thin\-pool metadata when obtaining thin\-pool status. +commit thin-pool metadata when obtaining thin-pool status. . .HP -.BR \-\-nolockfs +.BR --nolockfs .br Do not attempt to synchronize filesystem eg, when suspending a device. . .HP -.BR \-\-noopencount +.BR --noopencount .br Tell the kernel not to supply the open reference count for the device. . .HP -.BR \-\-noudevrules +.BR --noudevrules .br -Do not allow udev to manage nodes for devices in device\-mapper directory. +Do not allow udev to manage nodes for devices in device-mapper directory. . .HP -.BR \-\-noudevsync +.BR --noudevsync .br Do not synchronise with udev when creating, renaming or removing devices. . .HP -.BR \-o | \-\-options +.BR -o | --options .IR options .br Specify which fields to display. . .HP -.BR \-\-readahead +.BR --readahead .RB [ + ] \fIsectors | auto | none .br Specify read ahead size in units of sectors. @@ -539,16 +539,16 @@ smaller than the value chosen by the kernel. The value \fBnone\fP is equivalent to specifying zero. . .HP -.BR \-r | \-\-readonly +.BR -r | --readonly .br -Set the table being loaded read\-only. +Set the table being loaded read-only. . .HP -.BR \-S | \-\-select +.BR -S | --select .IR selection .br Display only rows that match \fIselection\fP criteria. All rows are displayed -with the additional "selected" column (\fB\-o selected\fP) showing 1 if the row +with the additional "selected" column (\fB-o selected\fP) showing 1 if the row matches the \fIselection\fP and 0 otherwise. The selection criteria are defined by specifying column names and their valid values while making use of supported comparison operators. As a quick help and to see full list of @@ -557,14 +557,14 @@ selection operators, check the output of \fBdmsetup\ info\ -c\ -S\ help\fP command. . .HP -.BR \-\-table +.BR --table .IR table .br -Specify a one\-line table directly on the command line. +Specify a one-line table directly on the command line. See below for more information on the table format. . .HP -.BR \-\-udevcookie +.BR --udevcookie .IR cookie .br Use cookie for udev synchronisation. @@ -573,29 +573,29 @@ multiple different devices. It's not adviced to combine different operations on the single device. . .HP -.BR \-u | \-\-uuid +.BR -u | --uuid .br Specify the \fIuuid\fP. . .HP -.BR \-y | \-\-yes +.BR -y | --yes .br Answer yes to all prompts automatically. . .HP -.BR \-v | \-\-verbose -.RB [ \-v | \-\-verbose ] +.BR -v | --verbose +.RB [ -v | --verbose ] .br Produce additional output. . .HP -.BR \-\-verifyudev +.BR --verifyudev .br If udev synchronisation is enabled, verify that udev operations get performed correctly and try to fix up the device nodes afterwards if not. . .HP -.BR \-\-version +.BR --version .br Display the library and kernel driver version. .br @@ -612,7 +612,7 @@ Destroys the table in the inactive table slot for device_name. .br Creates a device with the given name. If \fItable\fP or \fItable_file\fP is supplied, the table is loaded and made live. -Otherwise a table is read from standard input unless \fB\-\-notable\fP is used. +Otherwise a table is read from standard input unless \fB--notable\fP is used. The optional \fIuuid\fP can be used in place of device_name in subsequent dmsetup commands. If successful the device will appear in table and for live @@ -626,7 +626,7 @@ Outputs a list of devices referenced by the live table for the specified device. Device names on output can be customised by following \fIoptions\fP: \fBdevno\fP (major and minor pair, used by default), \fBblkdevname\fP (block device name), -\fBdevname\fP (map name for device\-mapper devices, equal to blkdevname otherwise). +\fBdevname\fP (map name for device-mapper devices, equal to blkdevname otherwise). . .HP .CMD_HELP @@ -640,7 +640,7 @@ the list of report fields. Outputs some brief information about the device in the form: .RS .RS - State: SUSPENDED|ACTIVE, READ\-ONLY + State: SUSPENDED|ACTIVE, READ-ONLY Tables present: LIVE and/or INACTIVE Open reference count Last event sequence number (used by \fBwait\fP) @@ -653,7 +653,7 @@ Outputs some brief information about the device in the form: .CMD_INFOLONG .br Output you can customise. -Fields are comma\-separated and chosen from the following list: +Fields are comma-separated and chosen from the following list: .BR name , .BR major , .BR minor , @@ -666,11 +666,11 @@ Attributes are: .RI ( L )ive, .RI ( I )nactive, .RI ( s )uspended, -.RI ( r )ead\-only, -.RI read\-( w )rite. +.RI ( r )ead-only, +.RI read-( w )rite. Precede the list with '\fB+\fP' to append to the default selection of columns instead of replacing it. -Precede any sort field with '\fB\-\fP' for a reverse sort on that column. +Precede any sort field with '\fB-\fP' for a reverse sort on that column. . .HP .CMD_LS @@ -681,9 +681,9 @@ each device. The device name is appended to the supplied command. Device names on output can be customised by following options: \fBdevno\fP (major and minor pair, used by default), \fBblkdevname\fP (block device name), -\fBdevname\fP (map name for device\-mapper devices, equal to blkdevname otherwise). -\fB\-\-tree\fP displays dependencies between devices as a tree. -It accepts a comma\-separate list of \fIoptions\fP. +\fBdevname\fP (map name for device-mapper devices, equal to blkdevname otherwise). +\fB--tree\fP displays dependencies between devices as a tree. +It accepts a comma-separate list of \fIoptions\fP. Some specify the information displayed against each node: .BR device / nodevice ; .BR blkdevname ; @@ -702,14 +702,14 @@ If neither is supplied, reads a table from standard input. .HP .CMD_MANGLE .br -Ensure existing device\-mapper \fIdevice_name\fP and UUID is in the correct mangled +Ensure existing device-mapper \fIdevice_name\fP and UUID is in the correct mangled form containing only whitelisted characters (supported by udev) and do a rename if necessary. Any character not on the whitelist will be mangled -based on the \fB\-\-manglename\fP setting. Automatic rename works only for device +based on the \fB--manglename\fP setting. Automatic rename works only for device names and not for device UUIDs because the kernel does not allow changing the UUID of active devices. Any incorrect UUIDs are reported only and they must be manually corrected by deactivating the device first and then -reactivating it with proper mangling mode used (see also \fB\-\-manglename\fP). +reactivating it with proper mangling mode used (see also \fB--manglename\fP). . .HP .CMD_MESSAGE @@ -721,23 +721,23 @@ Send message to target. If sector not needed use 0. .br Ensure that the node in \fI/dev/mapper\fP for \fIdevice_name\fP is correct. If no device_name is supplied, ensure that all nodes in \fI/dev/mapper\fP -correspond to mapped devices currently loaded by the device\-mapper kernel +correspond to mapped devices currently loaded by the device-mapper kernel driver, adding, changing or removing nodes as necessary. . .HP .CMD_REMOVE .br Removes a device. It will no longer be visible to dmsetup. Open devices -cannot be removed, but adding \fB\-\-force\fP will replace the table with one -that fails all I/O. \fB\-\-deferred\fP will enable deferred removal of open +cannot be removed, but adding \fB--force\fP will replace the table with one +that fails all I/O. \fB--deferred\fP will enable deferred removal of open devices - the device will be removed when the last user closes it. The deferred -removal feature is supported since version 4.27.0 of the device\-mapper +removal feature is supported since version 4.27.0 of the device-mapper driver available in upstream kernel version 3.13. (Use \fBdmsetup version\fP to check this.) If an attempt to remove a device fails, perhaps because a process run -from a quick udev rule temporarily opened the device, the \fB\-\-retry\fP +from a quick udev rule temporarily opened the device, the \fB--retry\fP option will cause the operation to be retried for a few seconds before failing. Do NOT combine -\fB\-\-force\fP and \fB\-\-udevcookie\fP, as udev may start to process udev +\fB--force\fP and \fB--udevcookie\fP, as udev may start to process udev rules in the middle of error target replacement and result in nondeterministic result. . @@ -746,10 +746,10 @@ result. .br Attempts to remove all device definitions i.e. reset the driver. This also runs \fBmknodes\fP afterwards. Use with care! Open devices cannot be removed, but -adding \fB\-\-force\fP will replace the table with one that fails all I/O. -\fB\-\-deferred\fP will enable deferred removal of open devices - the device +adding \fB--force\fP will replace the table with one that fails all I/O. +\fB--deferred\fP will enable deferred removal of open devices - the device will be removed when the last user closes it. The deferred removal feature is -supported since version 4.27.0 of the device\-mapper driver available in +supported since version 4.27.0 of the device-mapper driver available in upstream kernel version 3.13. . .HP @@ -766,9 +766,9 @@ After a uuid has been set it cannot be changed. .HP .CMD_RESUME .br -Un\-suspends a device. +Un-suspends a device. If an inactive table has been loaded, it becomes live. -Postponed I/O then gets re\-queued for processing. +Postponed I/O then gets re-queued for processing. . .HP .CMD_SETGEOMETRY @@ -797,8 +797,8 @@ for more details. .CMD_STATUS .br Outputs status information for each of the device's targets. -With \fB\-\-target\fP, only information relating to the specified target type -any is displayed. With \fB\-\-noflush\fP, the thin target (from version 1.3.0) +With \fB--target\fP, only information relating to the specified target type +any is displayed. With \fB--noflush\fP, the thin target (from version 1.3.0) doesn't commit any outstanding changes to disk before reporting its statistics. .HP @@ -808,9 +808,9 @@ Suspends a device. Any I/O that has already been mapped by the device but has not yet completed will be flushed. Any further I/O to that device will be postponed for as long as the device is suspended. If there's a filesystem on the device which supports the operation, -an attempt will be made to sync it first unless \fB\-\-nolockfs\fP is specified. +an attempt will be made to sync it first unless \fB--nolockfs\fP is specified. Some targets such as recent (October 2006) versions of multipath may support -the \fB\-\-noflush\fP option. This lets outstanding I/O that has not yet reached the +the \fB--noflush\fP option. This lets outstanding I/O that has not yet reached the device to remain unflushed. . .HP @@ -818,17 +818,17 @@ device to remain unflushed. .br Outputs the current table for the device in a format that can be fed back in using the create or load commands. -With \fB\-\-target\fP, only information relating to the specified target type +With \fB--target\fP, only information relating to the specified target type is displayed. Real encryption keys are suppressed in the table output for the crypt -target unless the \fB\-\-showkeys\fP parameter is supplied. Kernel key +target unless the \fB--showkeys\fP parameter is supplied. Kernel key references prefixed with \fB:\fP are not affected by the parameter and get displayed always. . .HP .CMD_TARGETS .br -Displays the names and versions of the currently\-loaded targets. +Displays the names and versions of the currently-loaded targets. . .HP .CMD_UDEVCOMPLETE @@ -844,7 +844,7 @@ Any process waiting on a cookie will be resumed immediately. .HP .CMD_UDEVCOOKIES .br -List all existing cookies. Cookies are system\-wide semaphores with keys +List all existing cookies. Cookies are system-wide semaphores with keys prefixed by two predefined bytes (0x0D4D). . .HP @@ -855,10 +855,10 @@ The output is a cookie value. Normally we don't need to create cookies since dmsetup creates and destroys them for each action automatically. However, we can generate one explicitly to group several actions together and use only one cookie instead. We can define a cookie to use for each relevant command by using -\fB\-\-udevcookie\fP option. Alternatively, we can export this value into the environment +\fB--udevcookie\fP option. Alternatively, we can export this value into the environment of the dmsetup process as \fBDM_UDEV_COOKIE\fP variable and it will be used automatically with all subsequent commands until it is unset. -Invoking this command will create system\-wide semaphore that needs to be cleaned +Invoking this command will create system-wide semaphore that needs to be cleaned up explicitly by calling udevreleasecookie command. . .HP @@ -888,16 +888,16 @@ Outputs version information. .CMD_WAIT .br Sleeps until the event counter for device_name exceeds event_nr. -Use \fB\-v\fP to see the event number returned. +Use \fB-v\fP to see the event number returned. To wait until the next event is triggered, use \fBinfo\fP to find the last event number. -With \fB\-\-noflush\fP, the thin target (from version 1.3.0) doesn't commit +With \fB--noflush\fP, the thin target (from version 1.3.0) doesn't commit any outstanding changes to disk before reporting its statistics. . .HP .CMD_WIPE_TABLE .br -Wait for any I/O in\-flight through the device to complete, then +Wait for any I/O in-flight through the device to complete, then replace the table with a new table that fails any new I/O sent to the device. If successful, this should release any devices held open by the device's table(s). @@ -937,8 +937,8 @@ for creating devices with holes in them. .TP .B zero Returns blocks of zeroes on reads. Any data written is discarded silently. -This is a block\-device equivalent of the \fI/dev/zero\fP -character\-device data sink described in \fBnull\fP(4). +This is a block-device equivalent of the \fI/dev/zero\fP +character-device data sink described in \fBnull\fP(4). .P More complex targets include: .TP @@ -969,14 +969,14 @@ Offers an interface to the kernel's software raid driver, md. .B snapshot Supports snapshots of devices. .TP -.BR thin ", " thin\-pool +.BR thin ", " thin-pool Supports thin provisioning of devices and also provides a better snapshot support. .P To find out more about the various targets and their table formats and status -lines, please read the files in the Documentation/device\-mapper directory in +lines, please read the files in the Documentation/device-mapper directory in the kernel source tree. (Your distribution might include a copy of this information in the -documentation directory for the device\-mapper package.) +documentation directory for the device-mapper package.) . .SH EXAMPLES . @@ -1005,11 +1005,11 @@ Defaults to "\fI/dev\fP" and must be an absolute path. .TP .B DM_UDEV_COOKIE A cookie to use for all relevant commands to synchronize with udev processing. -It is an alternative to using \fB\-\-udevcookie\fP option. +It is an alternative to using \fB--udevcookie\fP option. .TP .B DM_DEFAULT_NAME_MANGLING_MODE A default mangling mode. Defaults to "\fB#DEFAULT_MANGLING#\fP" -and it is an alternative to using \fB\-\-manglename\fP option. +and it is an alternative to using \fB--manglename\fP option. . .SH AUTHORS . @@ -1023,4 +1023,4 @@ Original version: Joe Thornber .P LVM2 resource page: https://www.sourceware.org/lvm2/ .br -Device\-mapper resource page: http://sources.redhat.com/dm/ +Device-mapper resource page: http://sources.redhat.com/dm/ diff --git a/man/dmstats.8_main b/man/dmstats.8_main index b1dda64d7..da9d93490 100644 --- a/man/dmstats.8_main +++ b/man/dmstats.8_main @@ -1,21 +1,21 @@ .TH DMSTATS 8 "Jun 23 2016" "Linux" "MAINTENANCE COMMANDS" .de OPT_PROGRAMS -. RB \%[ \-\-allprograms | \-\-programid +. RB \%[ --allprograms | --programid . IR id ] .. . .de OPT_REGIONS -. RB \%[ \-\-allregions | \-\-regionid +. RB \%[ --allregions | --regionid . IR id ] .. .de OPT_OBJECTS -. RB [ \-\-area ] -. RB [ \-\-region ] -. RB [ \-\-group ] +. RB [ --area ] +. RB [ --region ] +. RB [ --group ] .. .de OPT_FOREGROUND -. RB [ \-\-foreground ] +. RB [ --foreground ] .. . .\" Print units suffix, use with arg to print human @@ -40,7 +40,7 @@ . .SH NAME . -dmstats \(em device\-mapper statistics management +dmstats \(em device-mapper statistics management . .SH SYNOPSIS . @@ -57,13 +57,13 @@ dmstats \(em device\-mapper statistics management . ad l . IR command . IR device_name " |" -. BR \-\-major +. BR --major . IR major -. BR \-\-minor +. BR --minor . IR minor " |" -. BR \-u | \-\-uuid +. BR -u | --uuid . IR uuid -. RB \%[ \-v | \-\-verbose] +. RB \%[ -v | --verbose] . ad b .. .CMD_COMMAND @@ -85,26 +85,26 @@ dmstats \(em device\-mapper statistics management .de CMD_CREATE . ad l . BR create -. IR device_name... | file_path... | \fB\-\-alldevices -. RB [ \-\-areas -. IR nr_areas | \fB\-\-areasize +. IR device_name... | file_path... | \fB--alldevices +. RB [ --areas +. IR nr_areas | \fB--areasize . IR area_size ] -. RB [ \-\-bounds +. RB [ --bounds . IR \%histogram_boundaries ] -. RB [ \-\-filemap ] -. RB [ \-\-follow +. RB [ --filemap ] +. RB [ --follow . IR follow_mode ] . OPT_FOREGROUND -. RB [ \-\-nomonitor ] -. RB [ \-\-nogroup ] -. RB [ \-\-precise ] -. RB [ \-\-start +. RB [ --nomonitor ] +. RB [ --nogroup ] +. RB [ --precise ] +. RB [ --start . IR start_sector -. BR \-\-length -. IR length | \fB\-\-segments ] -. RB \%[ \-\-userdata +. BR --length +. IR length | \fB--segments ] +. RB \%[ --userdata . IR user_data ] -. RB [ \-\-programid +. RB [ --programid . IR id ] . ad b .. @@ -115,7 +115,7 @@ dmstats \(em device\-mapper statistics management .de CMD_DELETE . ad l . BR delete -. IR device_name | \fB\-\-alldevices +. IR device_name | \fB--alldevices . OPT_PROGRAMS . OPT_REGIONS . ad b @@ -127,10 +127,10 @@ dmstats \(em device\-mapper statistics management .de CMD_GROUP . ad l . BR group -. RI [ device_name | \fB\-\-alldevices ] -. RB [ \-\-alias +. RI [ device_name | \fB--alldevices ] +. RB [ --alias . IR name ] -. RB [ \-\-regions +. RB [ --regions . IR regions ] . ad b .. @@ -140,7 +140,7 @@ dmstats \(em device\-mapper statistics management .de CMD_HELP . ad l . BR help -. RB [ \-c | \-C | \-\-columns ] +. RB [ -c | -C | --columns ] . ad b .. .CMD_HELP @@ -151,14 +151,14 @@ dmstats \(em device\-mapper statistics management . ad l . BR list . RI [ device_name ] -. RB [ \-\-histogram ] +. RB [ --histogram ] . OPT_PROGRAMS -. RB [ \-\-units +. RB [ --units . IR units ] . OPT_OBJECTS -. RB \%[ \-\-nosuffix ] -. RB [ \-\-notimesuffix ] -. RB \%[ \-v | \-\-verbose] +. RB \%[ --nosuffix ] +. RB [ --notimesuffix ] +. RB \%[ -v | --verbose] . ad b .. .CMD_LIST @@ -169,7 +169,7 @@ dmstats \(em device\-mapper statistics management . ad l . BR print . RI [ device_name ] -. RB [ \-\-clear ] +. RB [ --clear ] . OPT_PROGRAMS . OPT_REGIONS . ad b @@ -182,24 +182,24 @@ dmstats \(em device\-mapper statistics management . ad l . BR report . RI [ device_name ] -. RB [ \-\-interval +. RB [ --interval . IR seconds ] -. RB [ \-\-count +. RB [ --count . IR count ] -. RB [ \-\-units +. RB [ --units . IR units ] -. RB [ \-\-histogram ] +. RB [ --histogram ] . OPT_PROGRAMS . OPT_REGIONS . OPT_OBJECTS -. RB [ \-O | \-\-sort +. RB [ -O | --sort . IR sort_fields ] -. RB [ \-S | \-\-select +. RB [ -S | --select . IR selection ] -. RB [ \-\-units +. RB [ --units . IR units ] -. RB [ \-\-nosuffix ] -. RB \%[ \-\-notimesuffix ] +. RB [ --nosuffix ] +. RB \%[ --notimesuffix ] . ad b .. .CMD_REPORT @@ -208,8 +208,8 @@ dmstats \(em device\-mapper statistics management .de CMD_UNGROUP . ad l . BR ungroup -. RI [ device_name | \fB\-\-alldevices ] -. RB [ \-\-groupid +. RI [ device_name | \fB--alldevices ] +. RB [ --groupid . IR id ] . ad b .. @@ -220,9 +220,9 @@ dmstats \(em device\-mapper statistics management . ad l . BR update_filemap . IR file_path -. RB [ \-\-groupid +. RB [ --groupid . IR id ] -. RB [ \-\-follow +. RB [ --follow . IR follow_mode ] . OPT_FOREGROUND . ad b @@ -235,7 +235,7 @@ dmstats \(em device\-mapper statistics management .SH DESCRIPTION . The dmstats program manages IO statistics regions for devices that use -the device\-mapper driver. Statistics regions may be created, deleted, +the device-mapper driver. Statistics regions may be created, deleted, listed and reported on using the tool. The first argument to dmstats is a \fIcommand\fP. @@ -247,48 +247,48 @@ Further options permit the selection of regions, output format control, and reporting behaviour. When no device argument is given dmstats will by default operate on all -device\-mapper devices present. The \fBcreate\fP and \fBdelete\fP -commands require the use of \fB\-\-alldevices\fP when used in this way. +device-mapper devices present. The \fBcreate\fP and \fBdelete\fP +commands require the use of \fB--alldevices\fP when used in this way. . .SH OPTIONS . .HP -.BR \-\-alias +.BR --alias .IR name .br Specify an alias name for a group. . .HP -.BR \-\-alldevices +.BR --alldevices .br If no device arguments are given allow operation on all devices when creating or deleting regions. . .HP -.BR \-\-allprograms +.BR --allprograms .br Include regions from all program IDs for list and report operations. .br .HP -.BR \-\-allregions +.BR --allregions .br Include all present regions for commands that normally accept a single region identifier. . .HP -.BR \-\-area +.BR --area .br When peforming a list or report, include objects of type area in the results. . .HP -.BR \-\-areas +.BR --areas .IR nr_areas .br Specify the number of statistics areas to create within a new region. . .HP -.BR \-\-areasize +.BR --areasize .IR area_size \c .RB [ \c .UNITS @@ -298,45 +298,45 @@ optional suffix selects units of: .HELP_UNITS . .HP -.BR \-\-clear +.BR --clear .br When printing statistics counters, also atomically reset them to zero. . .HP -.BR \-\-count +.BR --count .IR count .br Specify the iteration count for repeating reports. If the count argument is zero reports will continue to repeat until interrupted. . .HP -.BR \-\-group +.BR --group .br When peforming a list or report, include objects of type group in the results. . .HP -.BR \-\-filemap +.BR --filemap .br Instead of creating regions on a device as specified by command line options, open the file found at each \fBfile_path\fP argument, and -create regions corresponding to the locations of the on\-disk extents +create regions corresponding to the locations of the on-disk extents allocated to the file(s). . .HP -.BR \-\-nomonitor +.BR --nomonitor .br Disable the \fBdmfilemapd\fP daemon when creating new file mapped -groups. Normally the device\-mapper filemap monitoring daemon, +groups. Normally the device-mapper filemap monitoring daemon, \fBdmfilemapd\fP, is started for each file mapped group to update the -set of regions as the file changes on\-disk: use of this option +set of regions as the file changes on-disk: use of this option disables this behaviour. Regions in the group may still be updated with the \fBupdate_filemap\fP command, or by starting the daemon manually. . .HP -.BR \-\-follow +.BR --follow .IR follow_mode .br Specify the \fBdmfilemapd\fP file following mode. The file map @@ -345,46 +345,46 @@ affects the behaviour of the daemon when a file under monitoring is renamed or unlinked, and the conditions which cause the daemon to terminate. -The \fBfollow_mode\fP argument is either "inode", for follow\-inode -mode, or "path", for follow\-path. +The \fBfollow_mode\fP argument is either "inode", for follow-inode +mode, or "path", for follow-path. -If follow\-inode mode is used, the daemon will hold the file open, and +If follow-inode mode is used, the daemon will hold the file open, and continue to update regions from the same file descriptor. This means that the mapping will follow rename, move (within the same file system), and unlink operations. This mode is useful if the file is expected to be moved, renamed, or unlinked while it is being monitored. -In follow\-inode mode, the daemon will exit once it detects that the +In follow-inode mode, the daemon will exit once it detects that the file has been unlinked and it is the last holder of a reference to it. -If follow\-path is used, the daemon will re\-open the provided path on +If follow-path is used, the daemon will re-open the provided path on each monitoring iteration. This means that the group will be updated to reflect a new file being moved to the same path as the original file. This mode is useful for files that are expected to be updated via unlink and rename. -In follow\-path mode, the daemon will exit if the file is removed and +In follow-path mode, the daemon will exit if the file is removed and not replaced within a brief tolerance interval. In either mode, the daemon exits automatically if the monitored group is removed. . .HP -.BR \-\-foreground +.BR --foreground .br Specify that the \fBdmfilemapd\fP daemon should run in the foreground. The daemon will not fork into the background, and will replace the \fBdmstats\fP command that started it. . .HP -.BR \-\-groupid +.BR --groupid .IR id .br Specify the group to operate on. . .HP -.BR \-\-bounds +.BR --bounds .IR histogram_boundaries \c .RB [ ns | us | ms | s ] .br @@ -398,22 +398,22 @@ or \fBs\fP may be given after each value to specify units of nanoseconds, microseconds, miliseconds or seconds respectively. . .HP -.BR \-\-histogram +.BR --histogram .br When used with the \fBreport\fP and \fBlist\fP commands select default fields that emphasize latency histogram data. . .HP -.BR \-\-interval +.BR --interval .IR seconds .br Specify the interval in seconds between successive iterations for -repeating reports. If \fB\-\-interval\fP is specified but -\fB\-\-count\fP is not, +repeating reports. If \fB--interval\fP is specified but +\fB--count\fP is not, reports will continue to repeat until interrupted. . .HP -.BR \-\-length +.BR --length .IR length \c .RB [ \c .UNITS @@ -423,100 +423,100 @@ suffix selects units of: .HELP_UNITS . .HP -.BR \-j | \-\-major +.BR -j | --major .IR major .br Specify the major number. . .HP -.BR \-m | \-\-minor +.BR -m | --minor .IR minor .br Specify the minor number. . .HP -.BR \-\-nogroup +.BR --nogroup .br When creating regions mapping the extents of a file in the file system, do not create a group or set an alias. . .HP -.BR \-\-nosuffix +.BR --nosuffix .br -Suppress the suffix on output sizes. Use with \fB\-\-units\fP +Suppress the suffix on output sizes. Use with \fB--units\fP (except h and H) if processing the output. . .HP -.BR \-\-notimesuffix +.BR --notimesuffix .br Suppress the suffix on output time values. Histogram boundary values will be reported in units of nanoseconds. . .HP -.BR \-o | \-\-options +.BR -o | --options .br Specify which report fields to display. . .HP -.BR \-O | \-\-sort +.BR -O | --sort .IR sort_fields .br Sort output according to the list of fields given. Precede any -sort field with '\fB\-\fP' for a reverse sort on that column. +sort field with '\fB-\fP' for a reverse sort on that column. . .HP -.BR \-\-precise +.BR --precise .br Attempt to use nanosecond precision counters when creating new statistics regions. . .HP -.BR \-\-programid +.BR --programid .IR id .br Specify a program ID string. When creating new statistics regions this string is stored with the region. Subsequent operations may supply a program ID in order to select only regions with a matching value. The -default program ID for dmstats\-managed regions is "dmstats". +default program ID for dmstats-managed regions is "dmstats". . .HP -.BR \-\-region +.BR --region .br When peforming a list or report, include objects of type region in the results. . .HP -.BR \-\-regionid +.BR --regionid .IR id .br Specify the region to operate on. . .HP -.BR \-\-regions +.BR --regions .IR region_list .br -Specify a list of regions to group. The group list is a comma\-separated +Specify a list of regions to group. The group list is a comma-separated list of region identifiers. Continuous sequences of identifiers may be expressed as a hyphen separated range, for example: '1-10'. . .HP -.BR \-\-relative +.BR --relative .br If displaying the histogram report show relative (percentage) values instead of absolute counts. . .HP -.BR \-S | \-\-select +.BR -S | --select .IR selection .br Display only rows that match \fIselection\fP criteria. All rows with the -additional "selected" column (\fB\-o selected\fP) showing 1 if the row matches +additional "selected" column (\fB-o selected\fP) showing 1 if the row matches the \fIselection\fP and 0 otherwise. The selection criteria are defined by specifying column names and their valid values while making use of supported comparison operators. . .HP -.BR \-\-start +.BR --start .IR start \c .RB [ \c .UNITS @@ -526,30 +526,30 @@ optional suffix selects units of: .HELP_UNITS . .HP -.BR \-\-segments +.BR --segments .br When used with \fBcreate\fP, create a new statistics region for each target contained in the given device(s). This causes a separate region to be allocated for each segment of the device. The newly created regions are automatically placed into a group unless -the \fB\-\-nogroup\fP option is given. When grouping is enabled a group -alias may be specified using the \fB\-\-alias\fP option. +the \fB--nogroup\fP option is given. When grouping is enabled a group +alias may be specified using the \fB--alias\fP option. . .HP -.BR \-\-units +.BR --units .RI [ units ] \c .RB [ h | H | \c .UNITS .br Set the display units for report output. All sizes are output in these units: -.RB ( h )uman\-readable, +.RB ( h )uman-readable, .HELP_UNITS -Can also specify custom units e.g. \fB\-\-units\ 3M\fP. +Can also specify custom units e.g. \fB--units\ 3M\fP. . .HP -.BR \-\-userdata +.BR --userdata .IR user_data .br Specify user data (a word) to be stored with a new region. The value @@ -558,12 +558,12 @@ information), and stored with the region in the aux_data field provided by the kernel. Whitespace is not permitted. . .HP -.BR \-u | \-\-uuid +.BR -u | --uuid .br Specify the uuid. . .HP -.BR \-v | \-\-verbose " [" \-v | \-\-verbose ] +.BR -v | --verbose " [" -v | --verbose ] .br Produce additional output. . @@ -573,24 +573,24 @@ Produce additional output. .CMD_CLEAR .br Instructs the kernel to clear statistics counters for the speficied -regions (with the exception of in\-flight IO counters). +regions (with the exception of in-flight IO counters). . .HP .CMD_CREATE .br Creates one or more new statistics regions on the specified device(s). -The region will span the entire device unless \fB\-\-start\fP and -\fB\-\-length\fP or \fB\-\-segments\fP are given. The \fB\-\-start\fP an -\fB\-\-length\fP options allow a region of arbitrary length to be placed -at an arbitrary offset into the device. The \fB\-\-segments\fP option +The region will span the entire device unless \fB--start\fP and +\fB--length\fP or \fB--segments\fP are given. The \fB--start\fP an +\fB--length\fP options allow a region of arbitrary length to be placed +at an arbitrary offset into the device. The \fB--segments\fP option causes a new region to be created for each target in the corresponding -device\-mapper device's table. +device-mapper device's table. -If the \fB\-\-precise\fP option is used the command will attempt to +If the \fB--precise\fP option is used the command will attempt to create a region using nanosecond precision counters. -If \fB\-\-bounds\fP is given a latency histogram will be tracked for +If \fB--bounds\fP is given a latency histogram will be tracked for the new region. The boundaries of the histogram bins are given as a comma separated list of latency values. There is an implicit lower bound of zero on the first bin and an implicit upper bound of infinity (or the @@ -601,14 +601,14 @@ ms, or s may be given after each value to specify units of nanoseconds, microseconds, miliseconds or seconds respectively, so for example, 10ms is equivalent to 10000000. Latency values with a precision of less than one milisecond can only be used when precise timestamps are enabled: if -\fB\-\-precise\fP is not given and values less than one milisecond are +\fB--precise\fP is not given and values less than one milisecond are used it will be enabled automatically. An optional \fBprogram_id\fP or \fBuser_data\fP string may be associated with the region. A \fBprogram_id\fP may then be used to select regions for subsequent list, print, and report operations. The \fBuser_data\fP stores an arbitrary string and is not used by dmstats or the -device\-mapper kernel statistics subsystem. +device-mapper kernel statistics subsystem. By default dmstats creates regions with a \fBprogram_id\fP of "dmstats". @@ -616,7 +616,7 @@ By default dmstats creates regions with a \fBprogram_id\fP of On success the \fBregion_id\fP of the newly created region is printed to stdout. -If the \fB\-\-filemap\fP option is given with a regular file, or list +If the \fB--filemap\fP option is given with a regular file, or list of files, as the \fBfile_path\fP argument, instead of creating regions with parameters specified on the command line, \fBdmstats\fP will open the files located at \fBfile_path\fP and create regions corresponding to @@ -624,20 +624,20 @@ the physical extents allocated to the file. This can be used to monitor statistics for individual files in the file system, for example, virtual machine images, swap areas, or large database files. -To work with the \fB\-\-filemap\fP option, files must be located on a -local file system, backed by a device\-mapper device, that supports +To work with the \fB--filemap\fP option, files must be located on a +local file system, backed by a device-mapper device, that supports physical extent data using the FIEMAP ioctl (Ext4 and XFS for e.g.). By default regions that map a file are placed into a group and the group alias is set to the basename of the file. This behaviour can be -overridden with the \fB\-\-alias\fP and \fB\-\-nogroup\fP options. +overridden with the \fB--alias\fP and \fB--nogroup\fP options. Creating a group that maps a file automatically starts a daemon, \fBdmfilemapd\fP to monitor the file and update the mapping as the extents allocated to the file change. This behaviour can be disabled -using the \fB\-\-nomonitor\fP option. +using the \fB--nomonitor\fP option. -Use the \fB\-\-group\fP option to only display information for groups +Use the \fB--group\fP option to only display information for groups when listing and reporting. . .HP @@ -648,12 +648,12 @@ by the region are released and the region will not appear in the output of subsequent list, print, or report operations. All regions registered on a device may be removed using -\fB\-\-allregions\fP. +\fB--allregions\fP. -To remove all regions on all devices both \fB\-\-allregions\fP and -\fB\-\-alldevices\fP must be used. +To remove all regions on all devices both \fB--allregions\fP and +\fB--alldevices\fP must be used. -If a \fB\-\-groupid\fP is given instead of a \fB\-\-regionid\fP the +If a \fB--groupid\fP is given instead of a \fB--regionid\fP the command will attempt to delete the group and all regions that it contains. @@ -666,11 +666,11 @@ will also be removed. Combine one or more statistics regions on the specified device into a group. -The list of regions to be grouped is specified with \fB\-\-regions\fP -and an optional alias may be assigned with \fB\-\-alias\fP. The set of -regions is given as a comma\-separated list of region identifiers. A +The list of regions to be grouped is specified with \fB--regions\fP +and an optional alias may be assigned with \fB--alias\fP. The set of +regions is given as a comma-separated list of region identifiers. A continuous range of identifers spanning from \fBR1\fP to \fBR2\fP may -be expressed as '\fBR1\fP\-\fBR2\fP'. +be expressed as '\fBR1\fP-\fBR2\fP'. Regions that have a histogram configured can be grouped: in this case the number of histogram bins and their bounds must match exactly. @@ -693,21 +693,21 @@ the list of report fields. .CMD_LIST .br List the statistics regions, areas, or groups registered on the device. -If the \fB\-\-allprograms\fP switch is given all regions will be listed +If the \fB--allprograms\fP switch is given all regions will be listed regardless of region program ID values. By default only regions and groups are included in list output. If -\fB\-v\fP or \fB\-\-verbose\fP is given the report will also include a +\fB-v\fP or \fB--verbose\fP is given the report will also include a row of information for each configured group and for each area contained in each region displayed. Regions that contain a single area are by default omitted from the verbose list since their properties are identical to the area that they contain - to view all regions regardless of the number of areas present -use \fB\-\-region\fP). To also view the areas contained within regions -use \fB\-\-area\fP. +use \fB--region\fP). To also view the areas contained within regions +use \fB--area\fP. -If \fB\-\-histogram\fP is given the report will include the bin count +If \fB--histogram\fP is given the report will include the bin count and latency boundary values for any configured histograms. .HP .CMD_PRINT @@ -720,20 +720,20 @@ present regions. .br Start a report for the specified object or for all present objects. If the count argument is specified, the report will repeat at a fixed -interval set by the \fB\-\-interval\fP option. The default interval is +interval set by the \fB--interval\fP option. The default interval is one second. -If the \fB\-\-allprograms\fP switch is given, all regions will be +If the \fB--allprograms\fP switch is given, all regions will be listed, regardless of region program ID values. -If the \fB\-\-histogram\fP is given the report will include the histogram +If the \fB--histogram\fP is given the report will include the histogram values and latency boundaries. -If the \fB\-\-relative\fP is used the default histogram field displays +If the \fB--relative\fP is used the default histogram field displays bin values as a percentage of the total number of I/Os. Object types (areas, regions and groups) to include in the report are -selected using the \fB\-\-area\fP, \fB\-\-region\fP, and \fB\-\-group\fP +selected using the \fB--area\fP, \fB--region\fP, and \fB--group\fP options. . .HP @@ -742,35 +742,35 @@ options. Remove an existing group and return all the group's regions to their original state. -The group to be removed is specified using \fB\-\-groupid\fP. +The group to be removed is specified using \fB--groupid\fP. .HP .CMD_UPDATE_FILEMAP .br Update a group of \fBdmstats\fP regions specified by \fBgroup_id\fP, -that were previously created with \fB\-\-filemap\fP, either directly, +that were previously created with \fB--filemap\fP, either directly, or by starting the monitoring daemon, \fBdmfilemapd\fP. This will add and remove regions to reflect changes in the allocated -extents of the file on\-disk, since the time that it was crated or last +extents of the file on-disk, since the time that it was crated or last updated. Use of this command is not normally needed since the \fBdmfilemapd\fP daemon will automatically monitor filemap groups and perform these updates when required. -If a filemapped group was created with \fB\-\-nomonitor\fP, or the +If a filemapped group was created with \fB--nomonitor\fP, or the daemon has been killed, the \fBupdate_filemap\fP can be used to manually force an update or start a new daemon. -Use \fB\-\-nomonitor\fP to force a direct update and disable starting +Use \fB--nomonitor\fP to force a direct update and disable starting the monitoring daemon. . .SH REGIONS, AREAS, AND GROUPS . -The device\-mapper statistics facility allows separate performance +The device-mapper statistics facility allows separate performance counters to be maintained for arbitrary regions of devices. A region may span any range: from a single sector to the whole device. A region may -be further sub\-divided into a number of distinct areas (one or more), +be further sub-divided into a number of distinct areas (one or more), each with its own counter set. In this case a summary value for the entire region is also available for use in reports. @@ -786,19 +786,19 @@ The group metadata is stored with the first (lowest numbered) the group and other group members will be returned to their prior state. -By default new regions span the entire device. The \fB\-\-start\fP and -\fB\-\-length\fP options allows a region of any size to be placed at any +By default new regions span the entire device. The \fB--start\fP and +\fB--length\fP options allows a region of any size to be placed at any location on the device. Using offsets it is possible to create regions that map individual objects within a block device (for example: partitions, files in a file system, or stripes or other structures in a RAID volume). Groups allow -several non\-contiguous regions to be assembled together for reporting +several non-contiguous regions to be assembled together for reporting and data aggregation. -A region may be either divided into the specified number of equal\-sized +A region may be either divided into the specified number of equal-sized areas, or into areas of the given size by specifying one of -\fB\-\-areas\fP or \fB\-\-areasize\fP when creating a region with the +\fB--areas\fP or \fB--areasize\fP when creating a region with the \fBcreate\fP command. Depending on the size of the areas and the device region the final area within the region may be smaller than requested. .P @@ -827,14 +827,14 @@ reference the group. . .SH FILE MAPPING . -Using \fB\-\-filemap\fP, it is possible to create regions that +Using \fB--filemap\fP, it is possible to create regions that correspond to the extents of a file in the file system. This allows -IO statistics to be monitored on a per\-file basis, for example to +IO statistics to be monitored on a per-file basis, for example to observe large database files, virtual machine images, or other files of interest. To be able to use file mapping, the file must be backed by a -device\-mapper device, and in a file system that supports the FIEMAP +device-mapper device, and in a file system that supports the FIEMAP ioctl (and which returns data describing the physical location of extents). This currently includes \fBxfs(5)\fP and \fBext4(5)\fP. @@ -843,7 +843,7 @@ group, and the group alias is set to the \fBbasename(3)\fP of the file. This allows statistics to be reported for the file as a whole, aggregating values for the regions making up the group. To see only the whole file (group) when using the \fBlist\fP and \fBreport\fP -commands, use \fB\-\-group\fP. +commands, use \fB--group\fP. Since it is possible for the file to change after the initial group of regions is created, the \fBupdate_filemap\fP command, and @@ -854,29 +854,29 @@ either manually or automatically. .B File follow modes .P The file map monitoring daemon can monitor files in two distinct ways: -follow\-inode mode, and follow\-path mode. +follow-inode mode, and follow-path mode. The mode affects the behaviour of the daemon when a file under monitoring is renamed or unlinked, and the conditions which cause the daemon to terminate. -If follow\-inode mode is used, the daemon will hold the file open, and +If follow-inode mode is used, the daemon will hold the file open, and continue to update regions from the same file descriptor. This means that the mapping will follow rename, move (within the same file system), and unlink operations. This mode is useful if the file is expected to be moved, renamed, or unlinked while it is being monitored. -In follow\-inode mode, the daemon will exit once it detects that the +In follow-inode mode, the daemon will exit once it detects that the file has been unlinked and it is the last holder of a reference to it. -If follow\-path is used, the daemon will re\-open the provided path on +If follow-path is used, the daemon will re-open the provided path on each monitoring iteration. This means that the group will be updated to reflect a new file being moved to the same path as the original file. This mode is useful for files that are expected to be updated via unlink and rename. -In follow\-path mode, the daemon will exit if the file is removed and +In follow-path mode, the daemon will exit if the file is removed and not replaced within a brief tolerance interval (one second). To stop the daemon, delete the group containing the mapped regions: @@ -884,12 +884,12 @@ the daemon will automatically shut down. The daemon can also be safely killed at any time and the group kept: if the file is still being allocated the mapping will become -progressively out\-of\-date as extents are added and removed (in this -case the daemon can be re\-started or the group updated manually with +progressively out-of-date as extents are added and removed (in this +case the daemon can be re-started or the group updated manually with the \fBupdate_filemap\fP command). -See the \fBcreate\fP command and \fB\-\-filemap\fP, \fB\-\-follow\fP, -and \fB\-\-nomonitor\fP options for further information. +See the \fBcreate\fP command and \fB--filemap\fP, \fB--follow\fP, +and \fB--nomonitor\fP options for further information. . .P .B Limitations @@ -899,7 +899,7 @@ extents and the regions contained in the group, however, since it can only react to new allocations once they have been written, there are inevitably some IO events that cannot be counted when a file is growing, particularly if the file is being extended by a single thread -writing beyond end\-of\-file (for example, the \fBdd\fP program). +writing beyond end-of-file (for example, the \fBdd\fP program). There is a further loss of events in that there is currently no way to atomically resize a \fBdmstats\fP region and preserve its current @@ -917,7 +917,7 @@ these limitations when kernel support is available. The dmstats report provides several types of field that may be added to the default field set, or used to create custom reports. -All performance counters and metrics are calculated per\-area. +All performance counters and metrics are calculated per-area. . .SS Derived metrics . @@ -979,19 +979,19 @@ identifier, start, length, and counts, as well as the program ID and user data values. .TP .B region_id -Region identifier. This is a non\-negative integer returned by the kernel +Region identifier. This is a non-negative integer returned by the kernel when a statistics region is created. .TP .B region_start The region start location. Display units are selected by the -\fB\-\-units\fP option. +\fB--units\fP option. .TP .B region_len The length of the region. Display units are selected by the -\fB\-\-units\fP option. +\fB--units\fP option. .TP .B area_id -Area identifier. Area identifiers are assigned by the device\-mapper +Area identifier. Area identifiers are assigned by the device-mapper statistics library and uniquely identify each area within a region. Each ID corresponds to a distinct set of performance counters for that area of the statistics region. Area identifiers are always monotonically @@ -1001,11 +1001,11 @@ identifiers exist. .TP .B area_start The area start location. Display units are selected by the -\fB\-\-units\fP option. +\fB--units\fP option. .TP .B area_len The length of the area. Display units are selected by the -\fB\-\-units\fP option. +\fB--units\fP option. .TP .B area_count The number of areas in this region. @@ -1017,7 +1017,7 @@ The program ID value associated with this region. The user data value associated with this region. .TP .B group_id -Group identifier. This is a non\-negative integer returned by the dmstats +Group identifier. This is a non-negative integer returned by the dmstats \fBgroup\fP command when a statistics group is created. .TP .B interval_ns @@ -1139,7 +1139,7 @@ indicating the unit. .B hist_ranges A list of the histogram bin ranges for the current statistics area in order of ascending latency value. The values are expressed as -"LOWER\-UPPER" in whole units of seconds, miliseconds, microseconds or +"LOWER-UPPER" in whole units of seconds, miliseconds, microseconds or nanoseconds with a suffix indicating the unit. .TP .B hist_bins @@ -1147,7 +1147,7 @@ The number of latency histogram bins configured for the area. . .SH EXAMPLES . -Create a whole\-device region with one area on vg00/lvol1 +Create a whole-device region with one area on vg00/lvol1 .br # .B dmstats create vg00/lvol1 @@ -1157,15 +1157,15 @@ vg00/lvol1: Created new region with 1 area(s) as region ID 0 Create a 32M region 1G into device d0 .br # -.B dmstats create \-\-start 1G \-\-length 32M d0 +.B dmstats create --start 1G --length 32M d0 .br d0: Created new region with 1 area(s) as region ID 0 .P -Create a whole\-device region with 8 areas on every device +Create a whole-device region with 8 areas on every device .br .br # -.B dmstats create \-\-areas 8 +.B dmstats create --areas 8 .br vg00-lvol1: Created new region with 8 area(s) as region ID 0 .br @@ -1183,21 +1183,21 @@ Delete all regions on all devices .br .br # -.B dmstats delete \-\-alldevices \-\-allregions +.B dmstats delete --alldevices --allregions .P -Create a whole\-device region with areas 10GiB in size on vg00/lvol1 +Create a whole-device region with areas 10GiB in size on vg00/lvol1 using dmsetup .br .br # -.B dmsetup stats create \-\-areasize 10G vg00/lvol1 +.B dmsetup stats create --areasize 10G vg00/lvol1 .br vg00-lvol1: Created new region with 5 area(s) as region ID 1 .P Create a 1GiB region with 16 areas at the start of vg00/lvol1 .br # -.B dmstats create \-\-start 0 \-\-len 1G \-\-areas=16 vg00/lvol1 +.B dmstats create --start 0 --len 1G --areas=16 vg00/lvol1 .br vg00-lvol1: Created new region with 16 area(s) as region ID 0 .P @@ -1218,24 +1218,24 @@ Display five statistics reports for vg00/lvol1 at an interval of one second .br .br # -.B dmstats report \-\-interval 1 \-\-count 5 vg00/lvol1 +.B dmstats report --interval 1 --count 5 vg00/lvol1 .br # .B dmstats report .br Name RgID ArID AStart ASize RRqM/s WRqM/s R/s W/s RSz/s WSz/s AvRqSz QSize Util% AWait RdAWa WrAWa .br -vg_hex\-lv_home 0 0 0 61.00g 0.00 0.00 0.00 218.00 0 1.04m 4.50k 2.97 81.70 13.62 0.00 13.62 +vg_hex-lv_home 0 0 0 61.00g 0.00 0.00 0.00 218.00 0 1.04m 4.50k 2.97 81.70 13.62 0.00 13.62 .br -vg_hex\-lv_home 1 0 61.00g 19.20g 0.00 0.00 0.00 5.00 0 548.00k 109.50k 0.14 11.00 27.40 0.00 27.40 +vg_hex-lv_home 1 0 61.00g 19.20g 0.00 0.00 0.00 5.00 0 548.00k 109.50k 0.14 11.00 27.40 0.00 27.40 .br -vg_hex\-lv_home 2 0 80.20g 2.14g 0.00 0.00 0.00 14.00 0 1.15m 84.00k 0.39 18.70 27.71 0.00 27.71 +vg_hex-lv_home 2 0 80.20g 2.14g 0.00 0.00 0.00 14.00 0 1.15m 84.00k 0.39 18.70 27.71 0.00 27.71 .P Create one region for reach target contained in device vg00/lvol1 .br .br # -.B dmstats create \-\-segments vg00/lvol1 +.B dmstats create --segments vg00/lvol1 .br vg00-lvol1: Created new region with 1 area(s) as region ID 0 .br @@ -1247,7 +1247,7 @@ Create regions mapping each file in the directory images/ and place them into separate groups, each named after the corresponding file .br # -.B dmstats create \-\-filemap images/* +.B dmstats create --filemap images/* .br images/vm1.qcow2: Created new group with 87 region(s) as group ID 0. .br @@ -1262,7 +1262,7 @@ images/vm3.img: Created new group with 2 region(s) as group ID 1560. Print raw counters for region 4 on device d0 .br # -.B dmstats print \-\-regionid 4 d0 +.B dmstats print --regionid 4 d0 .br 2097152+65536 0 0 0 0 29 0 264 701 0 41 701 0 41 . @@ -1276,9 +1276,9 @@ Bryn M. Reeves LVM2 resource page: https://www.sourceware.org/lvm2/ .br -Device\-mapper resource page: http://sources.redhat.com/dm/ +Device-mapper resource page: http://sources.redhat.com/dm/ .br -Device\-mapper statistics kernel documentation +Device-mapper statistics kernel documentation .br -.I Documentation/device\-mapper/statistics.txt +.I Documentation/device-mapper/statistics.txt diff --git a/man/fsadm.8_main b/man/fsadm.8_main index 02431c527..c46033ce2 100644 --- a/man/fsadm.8_main +++ b/man/fsadm.8_main @@ -35,32 +35,32 @@ filesystem. .SH OPTIONS . .HP -.BR \-e | \-\-ext\-offline +.BR -e | --ext-offline .br Unmount ext2/ext3/ext4 filesystem before doing resize. . .HP -.BR \-f | \-\-force +.BR -f | --force .br Bypass some sanity checks. . .HP -.BR \-h | \-\-help +.BR -h | --help .br Display the help text. . .HP -.BR \-n | \-\-dry\-run +.BR -n | --dry-run .br Print commands without running them. . .HP -.BR \-v | \-\-verbose +.BR -v | --verbose .br Be more verbose. . .HP -.BR \-y | \-\-yes +.BR -y | --yes .br Answer "yes" at any prompts. . @@ -87,7 +87,7 @@ If \fI/dev/vg/test\fP contains ext2/ext3/ext4 filesystem it will be unmounted prior the resize. All [y/n] questions will be answered 'y'. .sp -.B fsadm \-e \-y resize /dev/vg/test 1000M +.B fsadm -e -y resize /dev/vg/test 1000M . .SH ENVIRONMENT VARIABLES . diff --git a/man/lvchange.8_end b/man/lvchange.8_end index 99de8a83c..e3087d7fc 100644 --- a/man/lvchange.8_end +++ b/man/lvchange.8_end @@ -1,4 +1,4 @@ .SH EXAMPLES Change LV permission to read-only: .sp -.B lvchange \-pr vg00/lvol1 +.B lvchange -pr vg00/lvol1 diff --git a/man/lvconvert.8_des b/man/lvconvert.8_des index f1efcbd0c..dc51aaede 100644 --- a/man/lvconvert.8_des +++ b/man/lvconvert.8_des @@ -4,7 +4,7 @@ The LV type is also called the segment type or segtype. To display the current LV type, run the command: -.B lvs \-o name,segtype +.B lvs -o name,segtype .I LV The diff --git a/man/lvconvert.8_end b/man/lvconvert.8_end index bbc50a795..1087c6ed4 100644 --- a/man/lvconvert.8_end +++ b/man/lvconvert.8_end @@ -1,7 +1,7 @@ .SH NOTES This previous command syntax would perform two different operations: .br -\fBlvconvert \-\-thinpool\fP \fILV1\fP \fB\-\-poolmetadata\fP \fILV2\fP +\fBlvconvert --thinpool\fP \fILV1\fP \fB--poolmetadata\fP \fILV2\fP .br If LV1 was not a thin pool, the command would convert LV1 to a thin pool, optionally using a specified LV for metadata. @@ -11,7 +11,7 @@ the current metadata LV with LV2 (for repair purposes.) In the same way, this previous command syntax would perform two different operations: .br -\fBlvconvert \-\-cachepool\fP \fILV1\fP \fB\-\-poolmetadata\fP \fILV2\fP +\fBlvconvert --cachepool\fP \fILV1\fP \fB--poolmetadata\fP \fILV2\fP .br If LV1 was not a cache pool, the command would convert LV1 to a cache pool, optionally using a specified LV for metadata. @@ -20,93 +20,93 @@ the current metadata LV with LV2 (for repair purposes.) .SH EXAMPLES Convert a linear LV to a two-way mirror LV. .br -.B lvconvert \-\-type mirror \-\-mirrors 1 vg/lvol1 +.B lvconvert --type mirror --mirrors 1 vg/lvol1 Convert a linear LV to a two-way RAID1 LV. .br -.B lvconvert \-\-type raid1 \-\-mirrors 1 vg/lvol1 +.B lvconvert --type raid1 --mirrors 1 vg/lvol1 -Convert a mirror LV to use an in\-memory log. +Convert a mirror LV to use an in-memory log. .br -.B lvconvert \-\-mirrorlog core vg/lvol1 +.B lvconvert --mirrorlog core vg/lvol1 Convert a mirror LV to use a disk log. .br -.B lvconvert \-\-mirrorlog disk vg/lvol1 +.B lvconvert --mirrorlog disk vg/lvol1 Convert a mirror or raid1 LV to a linear LV. .br -.B lvconvert \-\-type linear vg/lvol1 +.B lvconvert --type linear vg/lvol1 Convert a mirror LV to a raid1 LV with the same number of images. .br -.B lvconvert \-\-type raid1 vg/lvol1 +.B lvconvert --type raid1 vg/lvol1 Convert a linear LV to a two-way mirror LV, allocating new extents from specific PV ranges. .br -.B lvconvert \-\-mirrors 1 vg/lvol1 /dev/sda:0\-15 /dev/sdb:0\-15 +.B lvconvert --mirrors 1 vg/lvol1 /dev/sda:0-15 /dev/sdb:0-15 Convert a mirror LV to a linear LV, freeing physical extents from a specific PV. .br -.B lvconvert \-\-type linear vg/lvol1 /dev/sda +.B lvconvert --type linear vg/lvol1 /dev/sda Split one image from a mirror or raid1 LV, making it a new LV. .br -.B lvconvert \-\-splitmirrors 1 \-\-name lv_split vg/lvol1 +.B lvconvert --splitmirrors 1 --name lv_split vg/lvol1 Split one image from a raid1 LV, and track changes made to the raid1 LV while the split image remains detached. .br -.B lvconvert \-\-splitmirrors 1 \-\-trackchanges vg/lvol1 +.B lvconvert --splitmirrors 1 --trackchanges vg/lvol1 -Merge an image (that was previously created with \-\-splitmirrors and -\-\-trackchanges) back into the original raid1 LV. +Merge an image (that was previously created with --splitmirrors and +--trackchanges) back into the original raid1 LV. .br -.B lvconvert \-\-mergemirrors vg/lvol1_rimage_1 +.B lvconvert --mergemirrors vg/lvol1_rimage_1 Replace PV /dev/sdb1 with PV /dev/sdf1 in a raid1/4/5/6/10 LV. .br -.B lvconvert \-\-replace /dev/sdb1 vg/lvol1 /dev/sdf1 +.B lvconvert --replace /dev/sdb1 vg/lvol1 /dev/sdf1 Replace 3 PVs /dev/sd[b-d]1 with PVs /dev/sd[f-h]1 in a raid1 LV. .br -.B lvconvert \-\-replace /dev/sdb1 \-\-replace /dev/sdc1 \-\-replace /dev/sdd1 +.B lvconvert --replace /dev/sdb1 --replace /dev/sdc1 --replace /dev/sdd1 .RS .B vg/lvol1 /dev/sd[fgh]1 .RE Replace the maximum of 2 PVs /dev/sd[bc]1 with PVs /dev/sd[gh]1 in a raid6 LV. .br -.B lvconvert \-\-replace /dev/sdb1 \-\-replace /dev/sdc1 vg/lvol1 /dev/sd[gh]1 +.B lvconvert --replace /dev/sdb1 --replace /dev/sdc1 vg/lvol1 /dev/sd[gh]1 Convert an LV into a thin LV in the specified thin pool. The existing LV -is used as an external read\-only origin for the new thin LV. +is used as an external read-only origin for the new thin LV. .br -.B lvconvert \-\-type thin \-\-thinpool vg/tpool1 vg/lvol1 +.B lvconvert --type thin --thinpool vg/tpool1 vg/lvol1 Convert an LV into a thin LV in the specified thin pool. The existing LV -is used as an external read\-only origin for the new thin LV, and is +is used as an external read-only origin for the new thin LV, and is renamed "external". .br -.B lvconvert \-\-type thin \-\-thinpool vg/tpool1 +.B lvconvert --type thin --thinpool vg/tpool1 .RS -.B \-\-originname external vg/lvol1 +.B --originname external vg/lvol1 .RE Convert an LV to a cache pool LV using another specified LV for cache pool metadata. .br -.B lvconvert \-\-type cache-pool \-\-poolmetadata vg/poolmeta1 vg/lvol1 +.B lvconvert --type cache-pool --poolmetadata vg/poolmeta1 vg/lvol1 Convert an LV to a cache LV using the specified cache pool and chunk size. .br -.B lvconvert \-\-type cache \-\-cachepool vg/cpool1 \-c 128 vg/lvol1 +.B lvconvert --type cache --cachepool vg/cpool1 -c 128 vg/lvol1 Detach and keep the cache pool from a cache LV. .br -.B lvconvert \-\-splitcache vg/lvol1 +.B lvconvert --splitcache vg/lvol1 Detach and remove the cache pool from a cache LV. .br -.B lvconvert \-\-uncache vg/lvol1 +.B lvconvert --uncache vg/lvol1 diff --git a/man/lvcreate.8_des b/man/lvcreate.8_des index a526b85bd..42f42135d 100644 --- a/man/lvcreate.8_des +++ b/man/lvcreate.8_des @@ -26,11 +26,11 @@ virtual size rather than a physical size. A cache LV is the combination of a standard LV with a cache pool, used to cache active portions of the LV to improve performance. .SS Usage notes -In the usage section below, \fB\-\-size\fP \fISize\fP can be replaced -with \fB\-\-extents\fP \fINumber\fP. See both descriptions +In the usage section below, \fB--size\fP \fISize\fP can be replaced +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 +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 specified, a new LV name is generated with the "lvol" prefix and a unique numeric suffix. Also see the description in the options section. diff --git a/man/lvcreate.8_end b/man/lvcreate.8_end index b4ebd2d99..2770f62a8 100644 --- a/man/lvcreate.8_end +++ b/man/lvcreate.8_end @@ -3,56 +3,56 @@ Create a striped LV with 3 stripes, a stripe size of 8KiB and a size of 100MiB. The LV name is chosen by lvcreate. .br -.B lvcreate \-i 3 \-I 8 \-L 100m vg00 +.B lvcreate -i 3 -I 8 -L 100m vg00 Create a raid1 LV with two images, and a useable size of 500 MiB. This operation requires two devices, one for each mirror image. RAID metadata (superblock and bitmap) is also included on the two devices. .br -.B lvcreate \-\-type raid1 \-m1 \-L 500m \-n mylv vg00 +.B lvcreate --type raid1 -m1 -L 500m -n mylv vg00 Create a mirror LV with two images, and a useable size of 500 MiB. This operation requires three devices: two for mirror images and one for a disk log. .br -.B lvcreate \-\-type mirror \-m1 \-L 500m \-n mylv vg00 +.B lvcreate --type mirror -m1 -L 500m -n mylv vg00 Create a mirror LV with 2 images, and a useable size of 500 MiB. This operation requires 2 devices because the log is in memory. .br -.B lvcreate \-\-type mirror \-m1 \-\-mirrorlog core \-L 500m \-n mylv vg00 +.B lvcreate --type mirror -m1 --mirrorlog core -L 500m -n mylv vg00 -Create a copy\-on\-write snapshot of an LV: +Create a copy-on-write snapshot of an LV: .br -.B lvcreate \-\-snapshot \-\-size 100m \-\-name mysnap vg00/mylv +.B lvcreate --snapshot --size 100m --name mysnap vg00/mylv -Create a copy\-on\-write snapshot with a size sufficient +Create a copy-on-write snapshot with a size sufficient for overwriting 20% of the size of the original LV. .br -.B lvcreate \-s \-l 20%ORIGIN \-n mysnap vg00/mylv +.B lvcreate -s -l 20%ORIGIN -n mysnap vg00/mylv Create a sparse LV with 1TiB of virtual space, and actual space just under 100MiB. .br -.B lvcreate \-\-snapshot \-\-virtualsize 1t \-\-size 100m \-\-name mylv vg00 +.B lvcreate --snapshot --virtualsize 1t --size 100m --name mylv vg00 Create a linear LV with a usable size of 64MiB on specific physical extents. .br -.B lvcreate \-L 64m \-n mylv vg00 /dev/sda:0\-7 /dev/sdb:0\-7 +.B lvcreate -L 64m -n mylv vg00 /dev/sda:0-7 /dev/sdb:0-7 Create a RAID5 LV with a usable size of 5GiB, 3 stripes, a stripe size of 64KiB, using a total of 4 devices (including one for parity). .br -.B lvcreate \-\-type raid5 \-L 5G \-i 3 \-I 64 \-n mylv vg00 +.B lvcreate --type raid5 -L 5G -i 3 -I 64 -n mylv vg00 Create a RAID5 LV using all of the free space in the VG and spanning all the PVs in the VG (note that the command will fail if there are more than 8 PVs in -the VG, in which case \fB\-i 7\fP must be used to get to the current maximum of +the VG, in which case \fB-i 7\fP must be used to get to the current maximum of 8 devices including parity for RaidLVs). .br -.B lvcreate \-\-config allocation/raid_stripe_all_devices=1 +.B lvcreate --config allocation/raid_stripe_all_devices=1 .RS -.B \-\-type raid5 \-l 100%FREE \-n mylv vg00 +.B --type raid5 -l 100%FREE -n mylv vg00 .RE Create RAID10 LV with a usable size of 5GiB, using 2 stripes, each on @@ -62,36 +62,36 @@ differently: but \fB-m\fP specifies the number of images in addition to the first image). .br -.B lvcreate \-\-type raid10 \-L 5G \-i 2 \-m 1 \-n mylv vg00 +.B lvcreate --type raid10 -L 5G -i 2 -m 1 -n mylv vg00 Create a 1TiB thin LV, first creating a new thin pool for it, where the thin pool has 100MiB of space, uses 2 stripes, has a 64KiB stripe size, and 256KiB chunk size. .br -.B lvcreate \-\-type thin \-\-name mylv \-\-thinpool mypool +.B lvcreate --type thin --name mylv --thinpool mypool .RS -.B \-V 1t \-L 100m \-i 2 \-I 64 \-c 256 vg00 +.B -V 1t -L 100m -i 2 -I 64 -c 256 vg00 .RE Create a thin snapshot of a thin LV (the size option must not be used, otherwise a copy-on-write snapshot would be created). .br -.B lvcreate \-\-snapshot \-\-name mysnap vg00/thinvol +.B lvcreate --snapshot --name mysnap vg00/thinvol Create a thin snapshot of the read-only inactive LV named "origin" which becomes an external origin for the thin snapshot LV. .br -.B lvcreate \-\-snapshot \-\-name mysnap \-\-thinpool mypool vg00/origin +.B lvcreate --snapshot --name mysnap --thinpool mypool vg00/origin Create a cache pool from a fast physical device. The cache pool can then be used to cache an LV. .br -.B lvcreate \-\-type cache-pool \-L 1G \-n my_cpool vg00 /dev/fast1 +.B lvcreate --type cache-pool -L 1G -n my_cpool vg00 /dev/fast1 Create a cache LV, first creating a new origin LV on a slow physical device, then combining the new origin LV with an existing cache pool. .br -.B lvcreate \-\-type cache \-\-cachepool my_cpool +.B lvcreate --type cache --cachepool my_cpool .RS -.B \-L 100G \-n mylv vg00 /dev/slow1 +.B -L 100G -n mylv vg00 /dev/slow1 .RE diff --git a/man/lvextend.8_des b/man/lvextend.8_des index f1e02d6b5..eafd24755 100644 --- a/man/lvextend.8_des +++ b/man/lvextend.8_des @@ -2,11 +2,11 @@ lvextend extends the size of an LV. This requires allocating logical extents from the VG's free physical extents. If the extension adds a new LV segment, the new segment will use the existing segment type of the LV. -Extending a copy\-on\-write snapshot LV adds space for COW blocks. +Extending a copy-on-write snapshot LV adds space for COW blocks. Use \fBlvconvert\fP(8) to change the number of data images in a RAID or mirrored LV. -In the usage section below, \fB\-\-size\fP \fISize\fP can be replaced -with \fB\-\-extents\fP \fINumber\fP. See both descriptions +In the usage section below, \fB--size\fP \fISize\fP can be replaced +with \fB--extents\fP \fINumber\fP. See both descriptions the options section. diff --git a/man/lvextend.8_end b/man/lvextend.8_end index aebe6d8b1..af24d4f80 100644 --- a/man/lvextend.8_end +++ b/man/lvextend.8_end @@ -1,14 +1,14 @@ .SH EXAMPLES Extend the size of an LV by 54MiB, using a specific PV. .br -.B lvextend \-L +54 vg01/lvol10 /dev/sdk3 +.B lvextend -L +54 vg01/lvol10 /dev/sdk3 Extend the size of an LV by the amount of free space on PV /dev/sdk3. This is equivalent to specifying -"\-l +100%PVS" on the command line. +"-l +100%PVS" on the command line. .br .B lvextend vg01/lvol01 /dev/sdk3 Extend an LV by 16MiB using specific physical extents. .br -.B lvextend \-L+16m vg01/lvol01 /dev/sda:8\-9 /dev/sdb:8\-9 +.B lvextend -L+16m vg01/lvol01 /dev/sda:8-9 /dev/sdb:8-9 diff --git a/man/lvm-config.8_des b/man/lvm-config.8_des index 1d365668d..046806e66 100644 --- a/man/lvm-config.8_des +++ b/man/lvm-config.8_des @@ -2,4 +2,4 @@ This command is the same as \fBlvmconfig\fP(8). lvm config produces formatted output from the LVM configuration tree. The sources of the configuration data include \fBlvm.conf\fP(5) and command -line settings from \-\-config. +line settings from --config. diff --git a/man/lvm-dumpconfig.8_des b/man/lvm-dumpconfig.8_des index 18593fba5..3ebe2b339 100644 --- a/man/lvm-dumpconfig.8_des +++ b/man/lvm-dumpconfig.8_des @@ -2,4 +2,4 @@ This command is the same as \fBlvmconfig\fP(8). lvm dumpconfig produces formatted output from the LVM configuration tree. The sources of the configuration data include \fBlvm.conf\fP(5) and command -line settings from \-\-config. +line settings from --config. diff --git a/man/lvm-lvpoll.8_end b/man/lvm-lvpoll.8_end index efd0f184c..d38dfd0f3 100644 --- a/man/lvm-lvpoll.8_end +++ b/man/lvm-lvpoll.8_end @@ -8,24 +8,24 @@ To find the name of the pvmove LV that was created by an original Continue polling a pvmove operation. .br -.B lvm lvpoll \-\-polloperation pvmove vg00/pvmove0 +.B lvm lvpoll --polloperation pvmove vg00/pvmove0 Abort a pvmove operation. .br -.B lvm lvpoll \-\-polloperation pvmove \-\-abort vg00/pvmove0 +.B lvm lvpoll --polloperation pvmove --abort vg00/pvmove0 Continue polling a mirror conversion. .br -.B lvm lvpoll \-\-polloperation convert vg00/lvmirror +.B lvm lvpoll --polloperation convert vg00/lvmirror Continue mirror repair. .br -.B lvm lvpoll \-\-polloperation convert vg/damaged_mirror \-\-handlemissingpvs +.B lvm lvpoll --polloperation convert vg/damaged_mirror --handlemissingpvs Continue snapshot merge. .br -.B lvm lvpoll \-\-polloperation merge vg/snapshot_old +.B lvm lvpoll --polloperation merge vg/snapshot_old Continue thin snapshot merge. .br -.B lvm lvpoll \-\-polloperation merge_thin vg/thin_snapshot +.B lvm lvpoll --polloperation merge_thin vg/thin_snapshot diff --git a/man/lvm.8_main b/man/lvm.8_main index a1da3821e..977a0fd5f 100644 --- a/man/lvm.8_main +++ b/man/lvm.8_main @@ -11,7 +11,7 @@ lvm \(em LVM2 tools . .SH DESCRIPTION . -lvm provides the command\-line tools for LVM2. A separate +lvm provides the command-line tools for LVM2. A separate manual page describes each command in detail. .P If \fBlvm\fP is invoked with no arguments it presents a readline prompt @@ -36,9 +36,9 @@ as "vg0/lvol0". Where a list of VGs is required but is left empty, a list of all VGs will be substituted. Where a list of LVs is required but a VG is given, a list of all the LVs in that VG will be substituted. So \fBlvdisplay vg0\fP will display all the LVs in "vg0". -Tags can also be used - see \fB\-\-addtag\fP below. +Tags can also be used - see \fB--addtag\fP below. .P -One advantage of using the built\-in shell is that configuration +One advantage of using the built-in shell is that configuration information gets cached internally between commands. .P A file containing a simple script with one command per line @@ -47,9 +47,9 @@ executed directly if the first line is #! followed by the absolute path of \fBlvm\fP. .P Additional hyphens within option names are ignored. For example, -\fB\-\-readonly\fP and \fB\-\-read\-only\fP are both accepted. +\fB--readonly\fP and \fB--read-only\fP are both accepted. . -.SH BUILT\-IN COMMANDS +.SH BUILT-IN COMMANDS . The following commands are built into lvm without links normally being created in the filesystem for them. @@ -60,7 +60,7 @@ normally being created in the filesystem for them. The same as \fBlvmconfig\fP(8) below. .TP .B devtypes -Display the recognised built\-in block device types. +Display the recognised built-in block device types. .TP .B dumpconfig The same as \fBlvmconfig\fP(8) below. @@ -234,7 +234,7 @@ Scan (all disks) for Logical Volumes. The following LVM1 commands are not implemented in LVM2: .BR lvmchange ", " lvmsadc ", " lvmsar ", " pvdata . For performance metrics, use \fBdmstats\fP(8) or to manipulate the kernel -device\-mapper driver used by LVM2 directly, use \fBdmsetup\fP(8). +device-mapper driver used by LVM2 directly, use \fBdmsetup\fP(8). . .SH VALID NAMES . @@ -253,7 +253,7 @@ least one LV that is still present. This helps to record the ancestry of thin snapshots even after some links in the chain have been removed. A reference to the historical LV 'lvol1' in VG 'vg00' would be 'vg00/-lvol1' or just '-lvol1' if the VG is already set. (The latter form must be preceded -by '\-\-' to terminate command line option processing before reaching this +by '--' to terminate command line option processing before reaching this argument.) .P There are also various reserved names that are used internally by lvm that can @@ -288,8 +288,8 @@ When VGs with the same name exist, commands operating on all VGs will include all of the VGs with the same name. If the ambiguous VG name is specified on the command line, the command will produce an error. The error states that multiple VGs exist with the specified name. To process -one of the VGs specifically, the \-\-select option should be used with the -UUID of the intended VG: '\-\-select vg_uuid='. +one of the VGs specifically, the --select option should be used with the +UUID of the intended VG: '--select vg_uuid='. An exception is if all but one of the VGs with the shared name is foreign (see @@ -313,9 +313,9 @@ those ranges on the specified Physical Volumes are considered. Then they try each allocation policy in turn, starting with the strictest policy (\fBcontiguous\fP) and ending with the allocation policy specified -using \fB\-\-alloc\fP or set as the default for the particular Logical +using \fB--alloc\fP or set as the default for the particular Logical Volume or Volume Group concerned. For each policy, working from the -lowest\-numbered Logical Extent of the empty Logical Volume space that +lowest-numbered Logical Extent of the empty Logical Volume space that needs to be filled, they allocate as much space as possible according to the restrictions imposed by the policy. If more space is needed, they move on to the next policy. @@ -371,7 +371,7 @@ restrictions described above applied to each step leave the tools no discretion over the layout. To view the way the allocation process currently works in any specific -case, read the debug logging output, for example by adding \fB\-vvvv\fP to +case, read the debug logging output, for example by adding \fB-vvvv\fP to a command. . .SH LOGICAL VOLUME TYPES @@ -384,8 +384,8 @@ and thin provisioning (\fBlvmthin\fP(7)) types are examples of this. . .SH DIAGNOSTICS . -All tools return a status code of zero on success or non\-zero on failure. -The non\-zero codes distinguish only between the broad categories of +All tools return a status code of zero on success or non-zero on failure. +The non-zero codes distinguish only between the broad categories of unrecognised commands, problems processing the command line arguments and any other failures. As LVM remains under active development, the code used in a specific case occasionally changes between releases. @@ -409,7 +409,7 @@ File descriptor to use for report output from LVM commands. .TP .B LVM_COMMAND_PROFILE Name of default command profile to use for LVM commands. This profile -is overriden by direct use of \fB\-\-commandprofile\fP command line option. +is overriden by direct use of \fB--commandprofile\fP command line option. .TP .B LVM_RUN_BY_DMEVENTD This variable is normally set by dmeventd plugin to inform lvm2 command @@ -464,7 +464,7 @@ Used to suppress warning messages when the configured locking is known to be unavailable. .TP .B DM_ABORT_ON_INTERNAL_ERRORS -Abort processing if the code detects a non\-fatal internal error. +Abort processing if the code detects a non-fatal internal error. .TP .B DM_DISABLE_UDEV Avoid interaction with udev. LVM will manage the relevant nodes in /dev @@ -525,7 +525,7 @@ directly. .BR lvs (8) .BR lvscan (8) -.BR lvm2-activation\-generator (8) +.BR lvm2-activation-generator (8) .BR blkdeactivate (8) .BR lvmdump (8) diff --git a/man/lvm.conf.5_main b/man/lvm.conf.5_main index 0c7029975..74526e666 100644 --- a/man/lvm.conf.5_main +++ b/man/lvm.conf.5_main @@ -14,7 +14,7 @@ The settings defined in lvm.conf can be overridden by any of these extended configuration methods: .TP .B direct config override on command line -The \fB\-\-config ConfigurationString\fP command line option takes the +The \fB--config ConfigurationString\fP command line option takes the ConfigurationString as direct string representation of the configuration to override the existing configuration. The ConfigurationString is of exactly the same format as used in any LVM configuration file. @@ -34,7 +34,7 @@ The \fBcommand profile\fP is used to override selected configuration settings at global LVM command level - it is applied at the very beginning of LVM command execution and it is used throughout the whole time of LVM command execution. The command profile is applied by using the -\fB\-\-commandprofile ProfileName\fP command line option that is recognised by +\fB--commandprofile ProfileName\fP command line option that is recognised by all LVM2 commands. The \fBmetadata profile\fP is used to override selected configuration @@ -46,11 +46,11 @@ processed, the profile is applied automatically. If Volume Group and any of its Logical Volumes have different profiles defined, the profile defined for the Logical Volume is preferred. The metadata profile can be attached/detached by using the \fBlvchange\fP and \fBvgchange\fP commands -and their \fB\-\-metadataprofile ProfileName\fP and -\fB\-\-detachprofile\fP options or the \fB\-\-metadataprofile\fP +and their \fB--metadataprofile ProfileName\fP and +\fB--detachprofile\fP options or the \fB--metadataprofile\fP option during creation when using \fBvgcreate\fP or \fBlvcreate\fP command. -The \fBvgs\fP and \fBlvs\fP reporting commands provide \fB\-o vg_profile\fP -and \fB\-o lv_profile\fP output options to show the metadata profile +The \fBvgs\fP and \fBlvs\fP reporting commands provide \fB-o vg_profile\fP +and \fB-o lv_profile\fP output options to show the metadata profile currently attached to a Volume Group or a Logical Volume. The set of options allowed for command profiles is mutually exclusive @@ -65,8 +65,8 @@ For this purpose, there's the \fBcommand_profile_template.profile\fP (for metadata profiles) which contain all settings that are customizable by profiles of certain type. Users are encouraged to copy these template profiles and edit them as needed. Alternatively, the -\fBlvmconfig \-\-file \-\-type profilable\-command
\fP -or \fBlvmconfig \-\-file \-\-type profilable\-metadata
\fP +\fBlvmconfig --file --type profilable-command
\fP +or \fBlvmconfig --file --type profilable-metadata
\fP can be used to generate a configuration with profilable settings in either of the type for given section and save it to new ProfileName.profile (if the section is not specified, all profilable settings are reported). @@ -166,30 +166,30 @@ See the man page Command to print a list of all possible config settings, with their default values: .br -.B lvmconfig \-\-type default +.B lvmconfig --type default Command to print a list of all possible config settings, with their default values, and a full description of each as a comment: .br -.B lvmconfig \-\-type default \-\-withcomments +.B lvmconfig --type default --withcomments Command to print a list of all possible config settings, with their -current values (configured, non\-default values are shown): +current values (configured, non-default values are shown): .br -.B lvmconfig \-\-type current +.B lvmconfig --type current Command to print all config settings that have been configured with a -different value than the default (configured, non\-default values are +different value than the default (configured, non-default values are shown): .br -.B lvmconfig \-\-type diff +.B lvmconfig --type diff Command to print a single config setting, with its default value, and a full description, where "Section" refers to the config section, e.g. global, and "Setting" refers to the name of the specific setting, e.g. umask: .br -.B lvmconfig \-\-type default \-\-withcomments Section/Setting +.B lvmconfig --type default --withcomments Section/Setting .SH FILES diff --git a/man/lvm2-activation-generator.8_main b/man/lvm2-activation-generator.8_main index ffd5a6363..056320562 100644 --- a/man/lvm2-activation-generator.8_main +++ b/man/lvm2-activation-generator.8_main @@ -1,22 +1,22 @@ -.TH "LVM2-ACTIVATION\-GENERATOR" "8" "LVM TOOLS #VERSION#" "Red Hat, Inc" "\"" +.TH "LVM2-ACTIVATION-GENERATOR" "8" "LVM TOOLS #VERSION#" "Red Hat, Inc" "\"" .SH "NAME" -lvm2-activation\-generator \- generator for systemd units to activate LVM2 volumes on boot +lvm2-activation-generator - generator for systemd units to activate LVM2 volumes on boot .SH SYNOPSIS -.B #SYSTEMD_GENERATOR_DIR#/lvm2-activation\-generator +.B #SYSTEMD_GENERATOR_DIR#/lvm2-activation-generator .sp .SH DESCRIPTION -The lvm2-activation\-generator is called by \fBsystemd\fP(1) on boot +The lvm2-activation-generator is called by \fBsystemd\fP(1) on boot to generate systemd units at runtime to activate LVM2 volumes if \fBlvmetad\fP(8) is disabled (global/use_lvmetad=0 \fBlvm.conf\fP(5) option is used). Otherwise, if \fBlvmetad\fP(8) is enabled, -the lvm2-activation\-generator exits immediately without generating -any systemd units and LVM2 fully relies on event\-based activation +the lvm2-activation-generator exits immediately without generating +any systemd units and LVM2 fully relies on event-based activation to activate the LVM2 volumes instead using the \fBpvscan\fP(8) -(pvscan \-\-cache -aay) call that is a part of \fBudev\fP(8) rules. +(pvscan --cache -aay) call that is a part of \fBudev\fP(8) rules. -These systemd units are generated by lvm2-activation\-generator: +These systemd units are generated by lvm2-activation-generator: .sp -\fIlvm2-activation\-early.service\fP +\fIlvm2-activation-early.service\fP used for activation of LVM2 volumes that is ordered before systemd's special \fBcryptsetup.target\fP to support LVM2 volumes which are not layered on top of encrypted devices. @@ -26,21 +26,21 @@ used for activation of LVM2 volumes that is ordered after systemd's special \fBcryptsetup.target\fP to support LVM2 volumes which are layered on top of encrypted devices. -\fIlvm2-activation\-net.service\fP +\fIlvm2-activation-net.service\fP used for activation of LVM2 volumes that is ordered after systemd's -special \fBremote\-fs\-pre.target\fP to support LVM2 volumes which are +special \fBremote-fs-pre.target\fP to support LVM2 volumes which are layered on attached remote devices. Note that all the underlying devices (Physical Volumes) need to be present when the service is run. If the there are any devices presented in the system anytime later, any LVM2 volumes on top of such devices need to be activated directly by \fBlvchange\fP(8) or \fBvgchange\fP(8). This limitation does -not exist when using \fBlvmetad\fP(8) and accompanying event\-based activation +not exist when using \fBlvmetad\fP(8) and accompanying event-based activation since such LVM volumes are activated automatically as soon as the Volume Group is ready (all the Physical Volumes making up the Volume Group are present in the system). -The lvm2-activation\-generator implements the \fBGenerators Specification\fP +The lvm2-activation-generator implements the \fBGenerators Specification\fP as referenced in \fBsystemd\fP(1). .sp .SH SEE ALSO diff --git a/man/lvmcache.7_main b/man/lvmcache.7_main index 6f246dce9..3ddb7cd63 100644 --- a/man/lvmcache.7_main +++ b/man/lvmcache.7_main @@ -8,7 +8,7 @@ The \fBcache\fP logical volume type uses a small and fast LV to improve the performance of a large and slow LV. It does this by storing the frequently used blocks on the faster LV. LVM refers to the small fast LV as a \fBcache pool LV\fP. The large -slow LV is called the \fBorigin LV\fP. Due to requirements from dm\-cache +slow LV is called the \fBorigin LV\fP. Due to requirements from dm-cache (the kernel driver), LVM further splits the cache pool LV into two devices - the \fBcache data LV\fP and \fBcache metadata LV\fP. The cache data LV is where copies of data blocks are kept from the @@ -36,11 +36,11 @@ The primary method for using a cache type logical volume: Create an LV or identify an existing LV to be the origin LV. -.B lvcreate \-n OriginLV \-L LargeSize VG SlowPVs +.B lvcreate -n OriginLV -L LargeSize VG SlowPVs .I Example .br -# lvcreate \-n lvol0 \-L 100G vg +# lvcreate -n lvol0 -L 100G vg .SS 1. create CacheDataLV @@ -49,11 +49,11 @@ Create the cache data LV. This LV will hold data blocks from the OriginLV. The size of this LV is the size of the cache and will be reported as the size of the cache pool LV. -.B lvcreate \-n CacheDataLV \-L CacheSize VG FastPVs +.B lvcreate -n CacheDataLV -L CacheSize VG FastPVs .I Example .br -# lvcreate \-n cache0 \-L 10G vg /dev/fast +# lvcreate -n cache0 -L 10G vg /dev/fast .SS 2. create CacheMetaLV @@ -62,18 +62,18 @@ Create the cache metadata LV. This LV will hold cache pool metadata. The size of this LV should be 1000 times smaller than the cache data LV, with a minimum size of 8MiB. -.B lvcreate \-n CacheMetaLV \-L MetaSize VG FastPVs +.B lvcreate -n CacheMetaLV -L MetaSize VG FastPVs .I Example .br -# lvcreate \-n cache0meta \-L 12M vg /dev/fast +# lvcreate -n cache0meta -L 12M vg /dev/fast .nf # lvs -a vg LV VG Attr LSize Pool Origin - cache0 vg -wi\-a\-\-\-\-\- 10.00g - cache0meta vg -wi\-a\-\-\-\-\- 12.00m - lvol0 vg -wi\-a\-\-\-\-\- 100.00g + cache0 vg -wi-a----- 10.00g + cache0meta vg -wi-a----- 12.00m + lvol0 vg -wi-a----- 100.00g .fi @@ -88,22 +88,22 @@ CacheDataLV is renamed CachePoolLV_cdata and becomes hidden. .br CacheMetaLV is renamed CachePoolLV_cmeta and becomes hidden. -.B lvconvert \-\-type cache\-pool \-\-poolmetadata VG/CacheMetaLV +.B lvconvert --type cache-pool --poolmetadata VG/CacheMetaLV .RS .B VG/CacheDataLV .RE .I Example .br -# lvconvert \-\-type cache\-pool \-\-poolmetadata vg/cache0meta vg/cache0 +# lvconvert --type cache-pool --poolmetadata vg/cache0meta vg/cache0 .nf # lvs -a vg LV VG Attr LSize Pool Origin - cache0 vg Cwi\-\-\-C\-\-\- 10.00g - [cache0_cdata] vg Cwi\-\-\-\-\-\-\- 10.00g - [cache0_cmeta] vg ewi\-\-\-\-\-\-\- 12.00m - lvol0 vg -wi\-a\-\-\-\-\- 100.00g + cache0 vg Cwi---C--- 10.00g + [cache0_cdata] vg Cwi------- 10.00g + [cache0_cmeta] vg ewi------- 12.00m + lvol0 vg -wi-a----- 100.00g .fi @@ -118,20 +118,20 @@ CacheLV takes the name of OriginLV. .br OriginLV is renamed OriginLV_corig and becomes hidden. -.B lvconvert \-\-type cache \-\-cachepool VG/CachePoolLV VG/OriginLV +.B lvconvert --type cache --cachepool VG/CachePoolLV VG/OriginLV .I Example .br -# lvconvert \-\-type cache \-\-cachepool vg/cache0 vg/lvol0 +# lvconvert --type cache --cachepool vg/cache0 vg/lvol0 .nf # lvs -a vg LV VG Attr LSize Pool Origin - cache0 vg Cwi\-\-\-C\-\-\- 10.00g - [cache0_cdata] vg Cwi\-ao\-\-\-\- 10.00g - [cache0_cmeta] vg ewi\-ao\-\-\-\- 12.00m - lvol0 vg Cwi\-a\-C\-\-\- 100.00g cache0 [lvol0_corig] - [lvol0_corig] vg -wi\-ao\-\-\-\- 100.00g + cache0 vg Cwi---C--- 10.00g + [cache0_cdata] vg Cwi-ao---- 10.00g + [cache0_cmeta] vg ewi-ao---- 12.00m + lvol0 vg Cwi-a-C--- 100.00g cache0 [lvol0_corig] + [lvol0_corig] vg -wi-ao---- 100.00g .fi @@ -145,7 +145,7 @@ A cache pool LV can be disconnected from a cache LV, leaving an unused cache pool LV, and an uncached origin LV. This command writes back data from the cache pool to the origin LV when necessary. -.B lvconvert \-\-splitcache VG/CacheLV +.B lvconvert --splitcache VG/CacheLV .SS Removing a cache pool LV without removing its linked origin LV @@ -159,20 +159,20 @@ then removes the cache pool LV, leaving the uncached origin LV. An alternative command that also disconnects the cache pool from the cache LV, and deletes the cache pool: -.B lvconvert \-\-uncache VG/CacheLV +.B lvconvert --uncache VG/CacheLV .I Example .nf # lvs vg LV VG Attr LSize Pool Origin - cache0 vg Cwi\-\-\-C\-\-\- 10.00g - lvol0 vg Cwi\-a\-C\-\-\- 100.00g cache0 [lvol0_corig] + cache0 vg Cwi---C--- 10.00g + lvol0 vg Cwi-a-C--- 100.00g cache0 [lvol0_corig] # lvremove vg/cache0 # lvs vg LV VG Attr LSize Pool Origin - lvol0 vg -wi\-a\-\-\-\-\- 100.00g + lvol0 vg -wi-a----- 100.00g .fi .SS Removing a cache LV: both origin LV and the cache pool LV @@ -193,26 +193,26 @@ LV. Users who are concerned about the possibility of failures in their fast devices that could lead to data loss might consider making their cache -pool sub\-LVs redundant. +pool sub-LVs redundant. .I Example .nf 0. Create an origin LV we wish to cache -# lvcreate \-L 10G \-n lv1 vg /dev/slow_devs +# lvcreate -L 10G -n lv1 vg /dev/slow_devs 1. Create a 2-way RAID1 cache data LV -# lvcreate \-\-type raid1 \-m 1 \-L 1G -n cache1 vg \\ +# lvcreate --type raid1 -m 1 -L 1G -n cache1 vg \\ /dev/fast1 /dev/fast2 2. Create a 2-way RAID1 cache metadata LV -# lvcreate \-\-type raid1 \-m 1 \-L 8M -n cache1meta vg \\ +# lvcreate --type raid1 -m 1 -L 8M -n cache1meta vg \\ /dev/fast1 /dev/fast2 3. Create a cache pool LV combining cache data LV and cache metadata LV -# lvconvert \-\-type cache\-pool \-\-poolmetadata vg/cache1meta vg/cache1 +# lvconvert --type cache-pool --poolmetadata vg/cache1meta vg/cache1 4. Create a cached LV by combining the cache pool LV and origin LV -# lvconvert \-\-type cache \-\-cachepool vg/cache1 vg/lv1 +# lvconvert --type cache --cachepool vg/cache1 vg/lv1 .fi .SS Cache mode @@ -229,11 +229,11 @@ from the cache pool back to the origin LV. This mode will increase performance, but the loss of a device associated with the cache pool LV can result in lost data. -With the \-\-cachemode option, the cache mode can be set when creating a +With the --cachemode option, the cache mode can be set when creating a cache LV, or changed on an existing cache LV. The current cache mode of a cache LV can be displayed with the cache_mode reporting option: -.B lvs \-o+cache_mode VG/CacheLV +.B lvs -o+cache_mode VG/CacheLV .BR lvm.conf (5) .B allocation/cache_mode @@ -243,21 +243,21 @@ defines the default cache mode. .I Example .nf 0. Create an origin LV we wish to cache (yours may already exist) -# lvcreate \-L 10G \-n lv1 vg /dev/slow +# lvcreate -L 10G -n lv1 vg /dev/slow 1. Create a cache data LV -# lvcreate \-L 1G \-n cache1 vg /dev/fast +# lvcreate -L 1G -n cache1 vg /dev/fast 2. Create a cache metadata LV -# lvcreate \-L 8M \-n cache1meta vg /dev/fast +# lvcreate -L 8M -n cache1meta vg /dev/fast 3. Create a cache pool LV -# lvconvert \-\-type cache\-pool \-\-poolmetadata vg/cache1meta vg/cache1 +# lvconvert --type cache-pool --poolmetadata vg/cache1meta vg/cache1 4. Create a cache LV by combining the cache pool LV and origin LV, and use the writethrough cache mode. -# lvconvert \-\-type cache \-\-cachepool vg/cache1 \\ - \-\-cachemode writethrough vg/lv1 +# lvconvert --type cache --cachepool vg/cache1 \\ + --cachemode writethrough vg/lv1 .fi @@ -265,7 +265,7 @@ defines the default cache mode. \& -The cache subsystem has additional per\-LV parameters: the cache policy to +The cache subsystem has additional per-LV parameters: the cache policy to use, and possibly tunable parameters for the cache policy. Three policies are currently available: "smq" is the default policy, "mq" is an older implementation, and "cleaner" is used to force the cache to write back @@ -275,18 +275,18 @@ The "mq" policy has a number of tunable parameters. The defaults are chosen to be suitable for the majority of systems, but in special circumstances, changing the settings can improve performance. -With the \-\-cachepolicy and \-\-cachesettings options, the cache policy +With the --cachepolicy and --cachesettings options, the cache policy and settings can be set when creating a cache LV, or changed on an existing cache LV (both options can be used together). The current cache policy and settings of a cache LV can be displayed with the cache_policy and cache_settings reporting options: -.B lvs \-o+cache_policy,cache_settings VG/CacheLV +.B lvs -o+cache_policy,cache_settings VG/CacheLV .I Example .nf Change the cache policy and settings of an existing cache LV. -# lvchange \-\-cachepolicy mq \-\-cachesettings \\ +# lvchange --cachepolicy mq --cachesettings \\ \(aqmigration_threshold=2048 random_threshold=4\(aq vg/lv1 .fi @@ -306,7 +306,7 @@ defines the default cache settings. \& The size of data blocks managed by a cache pool can be specified with the -\-\-chunksize option when the cache LV is created. The default unit +--chunksize option when the cache LV is created. The default unit is KiB. The value must be a multiple of 32KiB between 32KiB and 1GiB. Using a chunk size that is too large can result in wasteful use of the @@ -318,7 +318,7 @@ CPU time searching for chunks, and excessive memory tracking chunks. Command to display the cache pool LV chunk size: .br -.B lvs \-o+chunksize VG/CacheLV +.B lvs -o+chunksize VG/CacheLV .BR lvm.conf (5) .B cache_pool_chunk_size @@ -327,7 +327,7 @@ controls the default chunk size used when creating a cache LV. The default value is shown by: .br -.B lvmconfig \-\-type default allocation/cache_pool_chunk_size +.B lvmconfig --type default allocation/cache_pool_chunk_size .SS Spare metadata LV @@ -349,7 +349,7 @@ the same VG. .B lvcreate -n CacheDataLV -L CacheSize VG .br -.B lvconvert \-\-type cache\-pool VG/CacheDataLV +.B lvconvert --type cache-pool VG/CacheDataLV .SS Create a new cache LV without an existing origin LV @@ -360,9 +360,9 @@ A cache LV can be created using an existing cache pool without an existing origin LV. A new origin LV is created and linked to the cache pool in a single step. -.B lvcreate \-\-type cache \-L LargeSize \-n CacheLV +.B lvcreate --type cache -L LargeSize -n CacheLV .RS -.B \-\-cachepool VG/CachePoolLV VG SlowPVs +.B --cachepool VG/CachePoolLV VG SlowPVs .RE @@ -374,7 +374,7 @@ A cache pool LV can be created with a single lvcreate command, rather than using lvconvert on existing LVs. This one command creates a cache data LV, a cache metadata LV, and combines the two into a cache pool LV. -.B lvcreate \-\-type cache\-pool \-L CacheSize \-n CachePoolLV VG FastPVs +.B lvcreate --type cache-pool -L CacheSize -n CachePoolLV VG FastPVs .SS Convert existing LVs to cache types @@ -390,7 +390,7 @@ may optionally be specified. .br .B lvcreate -n CacheDataLV -L CacheSize VG .br -.B lvconvert \-\-type cache \-\-cachepool VG/CataDataLV VG/OriginLV +.B lvconvert --type cache --cachepool VG/CataDataLV VG/OriginLV This is equivalent to: @@ -398,9 +398,9 @@ This is equivalent to: .br .B lvcreate -n CacheDataLV -L CacheSize VG .br -.B lvconvert \-\-type cache\-pool VG/CacheDataLV +.B lvconvert --type cache-pool VG/CacheDataLV .br -.B lvconvert \-\-type cache \-\-cachepool VG/CachePoolLV VG/OriginLV +.B lvconvert --type cache --cachepool VG/CachePoolLV VG/OriginLV .SH SEE ALSO diff --git a/man/lvmconf.8_main b/man/lvmconf.8_main index 5ca80f306..ca66ae628 100644 --- a/man/lvmconf.8_main +++ b/man/lvmconf.8_main @@ -4,19 +4,19 @@ lvmconf \(em LVM configuration modifier .SH "SYNOPSIS" .B lvmconf -.RB [ \-\-disable\-cluster ] -.RB [ \-\-enable\-cluster ] -.RB [ \-\-enable\-halvm ] -.RB [ \-\-disable\-halvm ] -.RB [ \-\-file +.RB [ --disable-cluster ] +.RB [ --enable-cluster ] +.RB [ --enable-halvm ] +.RB [ --disable-halvm ] +.RB [ --file .RI < configfile >] -.RB [ \-\-lockinglib +.RB [ --lockinglib .RI < lib >] -.RB [ \-\-lockinglibdir +.RB [ --lockinglibdir .RI < dir >] -.RB [ \-\-services ] -.RB [ \-\-mirrorservice ] -.RB [ \-\-startstopservices ] +.RB [ --services ] +.RB [ --mirrorservice ] +.RB [ --startstopservices ] .SH "DESCRIPTION" lvmconf is a script that modifies the locking configuration in @@ -26,42 +26,42 @@ changes in the lvm configuration if needed. .SH "OPTIONS" .TP -.BR \-\-disable\-cluster -Set \fBlocking_type\fR to the default non\-clustered type. Also reset +.BR --disable-cluster +Set \fBlocking_type\fR to the default non-clustered type. Also reset lvmetad use to its default. .TP -.BR \-\-enable\-cluster +.BR --enable-cluster Set \fBlocking_type\fR to the default clustered type on this system. Also disable lvmetad use as it is not yet supported in clustered environment. .TP -.BR \-\-disable\-halvm -Set \fBlocking_type\fR to the default non\-clustered type. Also reset +.BR --disable-halvm +Set \fBlocking_type\fR to the default non-clustered type. Also reset lvmetad use to its default. .TP -.BR \-\-enable\-halvm +.BR --enable-halvm Set \fBlocking_type\fR suitable for HA LVM use. Also disable lvmetad use as it is not yet supported in HA LVM environment. .TP -.BR \-\-file " <" \fIconfigfile > +.BR --file " <" \fIconfigfile > Apply the changes to \fIconfigfile\fP instead of the default \fI#DEFAULT_SYS_DIR#/lvm.conf\fP. .TP -.BR \-\-lockinglib " <" \fIlib > +.BR --lockinglib " <" \fIlib > Set external \fBlocking_library\fR locking library to load if an external locking type is used. .TP -.BR \-\-lockinglibdir " <" \fIdir > +.BR --lockinglibdir " <" \fIdir > .TP -.BR \-\-services +.BR --services In addition to setting the lvm configuration, also enable or disable related Systemd or SysV clvmd and lvmetad services. This script does not configure services provided by cluster resource agents. .TP -.BR \-\-mirrorservice -Also enable or disable optional cmirrord service when handling services (applicable only with \-\-services). +.BR --mirrorservice +Also enable or disable optional cmirrord service when handling services (applicable only with --services). .TP -.BR \-\-startstopservices +.BR --startstopservices In addition to enabling or disabling related services, start or stop them immediately -(applicable only with \-\-services). +(applicable only with --services). .SH FILES .I #DEFAULT_SYS_DIR#/lvm.conf diff --git a/man/lvmconfig.8_des b/man/lvmconfig.8_des index 17f9f18e7..3863d1202 100644 --- a/man/lvmconfig.8_des +++ b/man/lvmconfig.8_des @@ -1,3 +1,3 @@ lvmconfig produces formatted output from the LVM configuration tree. The sources of the configuration data include \fBlvm.conf\fP(5) and command -line settings from \-\-config. +line settings from --config. diff --git a/man/lvmdbusd.8_main b/man/lvmdbusd.8_main index 3bf46c181..99a7001f1 100644 --- a/man/lvmdbusd.8_main +++ b/man/lvmdbusd.8_main @@ -2,19 +2,19 @@ . .SH NAME . -lvmdbusd \(em LVM D\-Bus daemon +lvmdbusd \(em LVM D-Bus daemon . .SH SYNOPSIS . .ad l .B lvmdbusd -.RB [ \-\-debug \] -.RB [ \-\-udev \] +.RB [ --debug \] +.RB [ --udev \] .ad b . .SH DESCRIPTION . -lvmdbusd is a service which provides a D\-Bus API to the logical volume manager (LVM). +lvmdbusd is a service which provides a D-Bus API to the logical volume manager (LVM). Run .BR lvmdbusd (8) as root. @@ -22,17 +22,17 @@ as root. .SH OPTIONS . .HP -.BR \-\-debug +.BR --debug .br Enable debug statements . .HP -.BR \-\-udev +.BR --udev .br Use udev events to trigger updates . .SH SEE ALSO . .nh -.BR dbus\-send (1), +.BR dbus-send (1), .BR lvm (8) diff --git a/man/lvmdump.8_main b/man/lvmdump.8_main index d62c736c0..ec3dbb2ea 100644 --- a/man/lvmdump.8_main +++ b/man/lvmdump.8_main @@ -3,16 +3,16 @@ lvmdump \(em create lvm2 information dumps for diagnostic purposes .SH SYNOPSIS .B lvmdump -.RB [ \-a ] -.RB [ \-c ] -.RB [ \-d +.RB [ -a ] +.RB [ -c ] +.RB [ -d .IR directory ] -.RB [ \-h ] -.RB [ \-l ] -.RB [ \-m ] -.RB [ \-p ] -.RB [ \-s ] -.RB [ \-u ] +.RB [ -h ] +.RB [ -l ] +.RB [ -m ] +.RB [ -p ] +.RB [ -s ] +.RB [ -u ] .SH DESCRIPTION lvmdump is a tool to dump various information concerning LVM2. By default, it creates a tarball suitable for submission along @@ -34,69 +34,69 @@ The content of the tarball is as follows: .br - list of files present /sys/devices/virtual/block .br -- if enabled with \-m, metadata dump will be also included +- if enabled with -m, metadata dump will be also included .br -- if enabled with \-a, debug output of vgscan, pvscan and list of all available volume groups, physical volumes and logical volumes will be included +- if enabled with -a, debug output of vgscan, pvscan and list of all available volume groups, physical volumes and logical volumes will be included .br -- if enabled with \-c, cluster status info +- if enabled with -c, cluster status info .br -- if enabled with \-l, lvmetad state if running +- if enabled with -l, lvmetad state if running .br -- if enabled with \-p, lvmpolld state if running +- if enabled with -p, lvmpolld state if running .br -- if enabled with \-s, system info and context +- if enabled with -s, system info and context .br -- if enabled with \-u, udev info and context +- if enabled with -u, udev info and context .SH OPTIONS .TP -.B \-a +.B -a Advanced collection. \fBWARNING\fR: if lvm is already hung, then this script may hang as well -if \fB\-a\fR is used. +if \fB-a\fR is used. .TP -.B \-c +.B -c If clvmd is running, gather cluster data as well. .TP -.B \-d \fIdirectory +.B -d \fIdirectory Dump into a directory instead of tarball By default, lvmdump will produce a single compressed tarball containing all the information. Using this option, it can be instructed to only produce the raw dump tree, rooted in \fIdirectory\fP. .TP -.B \-h +.B -h Print help message .TP -.B \-l +.B -l Include \fBlvmetad\fP(8) daemon dump if it is running. The dump contains cached information that is currently stored in lvmetad: VG metadata, PV metadata and various mappings in between these metadata for quick access. .TP -.B \-m +.B -m Gather LVM metadata from the PVs This option generates a 1:1 dump of the metadata area from all PVs visible to the system, which can cause the dump to increase in size considerably. However, the metadata dump may represent a valuable diagnostic resource. .TP -.B \-p +.B -p Include \fBlvmpolld\fP(8) daemon dump if it is running. The dump contains -all in\-progress operation currently monitored by the daemon and partial +all in-progress operation currently monitored by the daemon and partial history for all yet uncollected results of polling operations already finished including reason. .TP -.B \-s +.B -s Gather system info and context. Currently, this encompasses info gathered by calling lsblk command and various systemd info and context: overall state of systemd units present in the system, more detailed status of units controlling LVM functionality and the content of systemd journal for current boot. .TP -.B \-u +.B -u Gather udev info and context: /etc/udev/udev.conf file, udev daemon version -(output of 'udevadm info \-\-version' command), udev rules currently used in the system +(output of 'udevadm info --version' command), udev rules currently used in the system (content of /lib/udev/rules.d and /etc/udev/rules.d directory), list of files in /lib/udev directory and dump of current udev -database content (the output of 'udevadm info \-\-export\-db' command). +database content (the output of 'udevadm info --export-db' command). .SH ENVIRONMENT VARIABLES .TP \fBLVM_BINARY\fP diff --git a/man/lvmetad.8_main b/man/lvmetad.8_main index 16e3d5256..31a89ccbc 100644 --- a/man/lvmetad.8_main +++ b/man/lvmetad.8_main @@ -4,18 +4,18 @@ lvmetad \(em LVM metadata cache daemon .SH SYNOPSIS .B lvmetad -.RB [ \-l +.RB [ -l .IR level [,level...]] -.RB [ \-p +.RB [ -p .IR pidfile_path ] -.RB [ \-s +.RB [ -s .IR socket_path ] -.RB [ \-t +.RB [ -t .IR timeout_value ] -.RB [ \-f ] -.RB [ \-h ] -.RB [ \-V ] -.RB [ \-? ] +.RB [ -f ] +.RB [ -h ] +.RB [ -V ] +.RB [ -? ] .SH DESCRIPTION @@ -26,7 +26,7 @@ the normal work of the system. lvmetad can be a disadvantage when disk event notifications from the system are unreliable. lvmetad does not read metadata from disks itself. Instead, it relies on -an LVM command, like pvscan \-\-cache, to read metadata from disks and +an LVM command, like pvscan --cache, to read metadata from disks and send it to lvmetad to be cached. New LVM disks that appear on the system must be scanned before lvmetad @@ -34,8 +34,8 @@ knows about them. If lvmetad does not know about a disk, then LVM commands using lvmetad will also not know about it. When disks are added or removed from the system, lvmetad must be updated. -lvmetad is usually combined with event\-based system services that -automatically run pvscan \-\-cache on disks added or removed. This way, +lvmetad is usually combined with event-based system services that +automatically run pvscan --cache on disks added or removed. This way, the cache is automatically updated with metadata from new disks when they appear. LVM udev rules and systemd services implement this automation. Automatic scanning is usually combined with automatic activation. For @@ -44,7 +44,7 @@ more information, see If lvmetad is started or restarted after disks have been added to the system, or if the global_filter has changed, the cache must be updated. -This can be done by running pvscan \-\-cache, or it will be done +This can be done by running pvscan --cache, or it will be done automatically by the next LVM command that's run. When lvmetad is not used, LVM commands revert to scanning disks for LVM @@ -56,7 +56,7 @@ revert to scanning disks. A warning will also be printed which includes the reason why lvmetad is not being used. The most common reason is the existence of duplicate PVs (lvmetad cannot cache data for duplicate PVs.) Once duplicates have been resolved, the lvmetad cache is can be updated -with pvscan \-\-cache and commands will return to using the cache. +with pvscan --cache and commands will return to using the cache. Use of lvmetad is enabled/disabled by: .br @@ -65,7 +65,7 @@ Use of lvmetad is enabled/disabled by: For more information on this setting, see: .br -.B lvmconfig \-\-withcomments global/use_lvmetad +.B lvmconfig --withcomments global/use_lvmetad To ignore disks from LVM at the system level, e.g. lvmetad, pvscan use: .br @@ -74,42 +74,42 @@ To ignore disks from LVM at the system level, e.g. lvmetad, pvscan use: For more information on this setting, see .br -.B lvmconfig \-\-withcomments devices/global_filter +.B lvmconfig --withcomments devices/global_filter .SH OPTIONS To run the daemon in a test environment both the pidfile_path and the socket_path should be changed from the defaults. .TP -.B \-f +.B -f Don't fork, but run in the foreground. .TP -.BR \-h ", " \-? +.BR -h ", " -? Show help information. .TP -.B \-l \fIlevels +.B -l \fIlevels Specify the levels of log messages to generate as a comma separated list. Messages are logged by syslog. -Additionally, when \-f is given they are also sent to standard error. +Additionally, when -f is given they are also sent to standard error. Possible levels are: all, fatal, error, warn, info, wire, debug. .TP -.B \-p \fIpidfile_path -Path to the pidfile. This overrides both the built\-in default +.B -p \fIpidfile_path +Path to the pidfile. This overrides both the built-in default (#DEFAULT_PID_DIR#/lvmetad.pid) and the environment variable \fBLVM_LVMETAD_PIDFILE\fP. This file is used to prevent more than one instance of the daemon running simultaneously. .TP -.B \-s \fIsocket_path -Path to the socket file. This overrides both the built\-in default +.B -s \fIsocket_path +Path to the socket file. This overrides both the built-in default (#DEFAULT_RUN_DIR#/lvmetad.socket) and the environment variable \fBLVM_LVMETAD_SOCKET\fP. To communicate successfully with lvmetad, all LVM2 processes should use the same socket path. .TP -.B \-t \fItimeout_value +.B -t \fItimeout_value The daemon may shutdown after being idle for the given time (in seconds). When the option is omitted or the value given is zero the daemon never shutdowns on idle. .TP -.B \-V +.B -V Display the version of lvmetad daemon. .SH ENVIRONMENT VARIABLES .TP diff --git a/man/lvmlockctl.8_main b/man/lvmlockctl.8_main index fc18fcb1d..b7ac0ecd6 100644 --- a/man/lvmlockctl.8_main +++ b/man/lvmlockctl.8_main @@ -11,41 +11,41 @@ This command interacts with lvmlockctl [options] -.B \-\-help | \-h +.B --help | -h Show this help information. -.B \-\-quit | \-q +.B --quit | -q Tell lvmlockd to quit. -.B \-\-info | \-i +.B --info | -i Print lock state information from lvmlockd. -.B \-\-dump | \-d +.B --dump | -d Print log buffer from lvmlockd. -.B \-\-wait | \-w 0|1 +.B --wait | -w 0|1 Wait option for other commands. -.B \-\-force | \-f 0|1 +.B --force | -f 0|1 Force option for other commands. -.B \-\-kill | \-k +.B --kill | -k .I vgname Kill access to the VG when sanlock cannot renew lease. -.B \-\-drop | \-r +.B --drop | -r .I vgname Clear locks for the VG when it is unused after kill (-k). -.B \-\-gl\-enable | \-E +.B --gl-enable | -E .I vgname Tell lvmlockd to enable the global lock in a sanlock VG. -.B \-\-gl\-disable | \-D +.B --gl-disable | -D .I vgname Tell lvmlockd to disable the global lock in a sanlock VG. -.B \-\-stop\-lockspaces | \-S +.B --stop-lockspaces | -S Stop all lockspaces. @@ -55,7 +55,7 @@ lvmlockctl [options] This collects and displays lock state from lvmlockd. The display is primitive, incomplete and will change in future version. To print the raw -lock state from lvmlockd, combine this option with \-\-dump|-d. +lock state from lvmlockd, combine this option with --dump|-d. .SS dump @@ -73,28 +73,28 @@ forcibly deactivate the VG. For more, see .SS drop This should only be run after a VG has been successfully deactivated -following an lvmlockctl \-\-kill command. It clears the stale lockspace +following an lvmlockctl --kill command. It clears the stale lockspace from lvmlockd. In the future, this may become automatic along with an -automatic handling of \-\-kill. For more, see +automatic handling of --kill. For more, see .BR lvmlockd (8). -.SS gl\-enable +.SS gl-enable This enables the global lock in a sanlock VG. This is necessary if the VG that previously held the global lock is removed. For more, see .BR lvmlockd (8). -.SS gl\-disable +.SS gl-disable This disables the global lock in a sanlock VG. This is necessary if the global lock has mistakenly been enabled in more than one VG. The global lock should be disabled in all but one sanlock VG. For more, see .BR lvmlockd (8). -.SS stop\-lockspaces +.SS stop-lockspaces This tells lvmlockd to stop all lockspaces. It can be useful to stop -lockspaces for VGs that the vgchange \-\-lock\-stop comand can no longer +lockspaces for VGs that the vgchange --lock-stop comand can no longer see, or to stop the dlm global lockspace which is not directly stopped by the vgchange command. The wait and force options can be used with this command. diff --git a/man/lvmlockd.8_main b/man/lvmlockd.8_main index 6c8f3f07c..1a1c2fcec 100644 --- a/man/lvmlockd.8_main +++ b/man/lvmlockd.8_main @@ -33,50 +33,50 @@ dlm: uses network communication and a cluster manager. lvmlockd [options] -For default settings, see lvmlockd \-h. +For default settings, see lvmlockd -h. -.B \-\-help | \-h +.B --help | -h Show this help information. -.B \-\-version | \-V +.B --version | -V Show version of lvmlockd. -.B \-\-test | \-T +.B --test | -T Test mode, do not call lock manager. -.B \-\-foreground | \-f +.B --foreground | -f Don't fork. -.B \-\-daemon\-debug | \-D +.B --daemon-debug | -D Don't fork and print debugging to stdout. -.B \-\-pid\-file | \-p +.B --pid-file | -p .I path Set path to the pid file. -.B \-\-socket\-path | \-s +.B --socket-path | -s .I path Set path to the socket to listen on. -.B \-\-syslog\-priority | \-S err|warning|debug +.B --syslog-priority | -S err|warning|debug Write log messages from this level up to syslog. -.B \-\-gl\-type | \-g sanlock|dlm +.B --gl-type | -g sanlock|dlm Set global lock type to be sanlock or dlm. -.B \-\-host\-id | \-i +.B --host-id | -i .I num Set the local sanlock host id. -.B \-\-host\-id\-file | \-F +.B --host-id-file | -F .I path A file containing the local sanlock host_id. -.B \-\-sanlock\-timeout | \-o +.B --sanlock-timeout | -o .I seconds Override the default sanlock I/O timeout. -.B \-\-adopt | \-A 0|1 +.B --adopt | -A 0|1 Adopt locks from a previous instance of lvmlockd. @@ -84,7 +84,7 @@ For default settings, see lvmlockd \-h. .SS Initial set up -Using LVM with lvmlockd for the first time includes some one\-time set up +Using LVM with lvmlockd for the first time includes some one-time set up steps: .SS 1. choose a lock manager @@ -111,7 +111,7 @@ use_lvmlockd = 1 .I sanlock .br -Assign each host a unique host_id in the range 1\-2000 by setting +Assign each host a unique host_id in the range 1-2000 by setting .br /etc/lvm/lvmlocal.conf local/host_id @@ -133,7 +133,7 @@ systemctl start corosync dlm .SS 5. create VG on shared devices -vgcreate \-\-shared +vgcreate --shared The shared option sets the VG lock type to sanlock or dlm depending on which lock manager is running. LVM commands will perform locking for the @@ -141,7 +141,7 @@ VG using lvmlockd. lvmlockd will use the chosen lock manager. .SS 6. start VG on all hosts -vgchange \-\-lock\-start +vgchange --lock-start lvmlockd requires shared VGs to be started before they are used. This is a lock manager operation to start (join) the VG lockspace, and it may take @@ -156,7 +156,7 @@ LVs in a shared VG. An LV activated exclusively on one host cannot be activated on another. When multiple hosts need to use the same LV concurrently, the LV can be -activated with a shared lock (see lvchange options \-aey vs \-asy.) +activated with a shared lock (see lvchange options -aey vs -asy.) (Shared locks are disallowed for certain LV types that cannot be used from multiple hosts.) @@ -177,7 +177,7 @@ start lvmlockd start lock manager .br \[bu] -vgchange \-\-lock\-start +vgchange --lock-start .br \[bu] activate LVs in shared VGs @@ -189,7 +189,7 @@ The shut down sequence is the reverse: deactivate LVs in shared VGs .br \[bu] -vgchange \-\-lock\-stop +vgchange --lock-stop .br \[bu] stop lock manager @@ -227,7 +227,7 @@ activate the VG will fail without the necessary locks. A "local VG" is meant to be used by a single host. It has no lock type or lock type "none". LVM commands and lvmlockd do not perform locking for -these VGs. A local VG typically exists on local (non\-shared) devices and +these VGs. A local VG typically exists on local (non-shared) devices and cannot be used concurrently from different hosts. If a local VG does exist on shared devices, it should be owned by a single @@ -252,8 +252,8 @@ using lvmlockd. From a host not using lvmlockd, visible lockd VGs are ignored in the same way as foreign VGs (see .BR lvmsystemid (7).) -The \-\-shared option for reporting and display commands causes lockd VGs -to be displayed on a host not using lvmlockd, like the \-\-foreign option +The --shared option for reporting and display commands causes lockd VGs +to be displayed on a host not using lvmlockd, like the --foreign option does for foreign VGs. @@ -275,7 +275,7 @@ Creates a clvm VG when clvm is configured. .P -.B vgcreate \-\-shared +.B vgcreate --shared .IP \[bu] 2 Requires lvmlockd to be configured and running. .IP \[bu] 2 @@ -288,7 +288,7 @@ lvmlockd obtains locks from the selected lock manager. .P -.B vgcreate \-c|\-\-clustered y +.B vgcreate -c|--clustered y .IP \[bu] 2 Requires clvm to be configured and running. .IP \[bu] 2 @@ -343,29 +343,29 @@ global lock will be available, and LVM will be fully operational. When a new lockd VG is created, its lockspace is automatically started on the host that creates it. Other hosts need to run 'vgchange -\-\-lock\-start' to start the new VG before they can use it. +--lock-start' to start the new VG before they can use it. From the 'vgs' command, lockd VGs are indicated by "s" (for shared) in the sixth attr field. The specific lock type and lock args for a lockd VG can -be displayed with 'vgs \-o+locktype,lockargs'. +be displayed with 'vgs -o+locktype,lockargs'. lockd VGs need to be "started" and "stopped", unlike other types of VGs. See the following section for a full description of starting and stopping. vgremove of a lockd VG will fail if other hosts have the VG started. -Run vgchange \-\-lock\-stop on all other hosts before vgremove. +Run vgchange --lock-stop on all other hosts before vgremove. (It may take several seconds before vgremove recognizes that all hosts have stopped a sanlock VG.) .SS starting and stopping VGs -Starting a lockd VG (vgchange \-\-lock\-start) causes the lock manager to +Starting a lockd VG (vgchange --lock-start) causes the lock manager to start (join) the lockspace for the VG on the host where it is run. This makes locks for the VG available to LVM commands on the host. Before a VG is started, only LVM commands that read/display the VG are allowed to continue without locks (and with a warning). -Stopping a lockd VG (vgchange \-\-lock\-stop) causes the lock manager to +Stopping a lockd VG (vgchange --lock-stop) causes the lock manager to stop (leave) the lockspace for the VG on the host where it is run. This makes locks for the VG inaccessible to the host. A VG cannot be stopped while it has active LVs. @@ -390,24 +390,24 @@ A lockd VG can be stopped if all LVs are deactivated. All lockd VGs can be started/stopped using: .br -vgchange \-\-lock\-start +vgchange --lock-start .br -vgchange \-\-lock\-stop +vgchange --lock-stop Individual VGs can be started/stopped using: .br -vgchange \-\-lock\-start ... +vgchange --lock-start ... .br -vgchange \-\-lock\-stop ... +vgchange --lock-stop ... To make vgchange not wait for start to complete: .br -vgchange \-\-lock\-start \-\-lock\-opt nowait ... +vgchange --lock-start --lock-opt nowait ... lvmlockd can be asked directly to stop all lockspaces: .br -lvmlockctl \-\-stop\-lockspaces +lvmlockctl --stop-lockspaces To start only selected lockd VGs, use the lvm.conf activation/lock_start_list. When defined, only VG names in this list are @@ -429,7 +429,7 @@ Scripts or programs on a host that automatically start VGs will use the "auto" option to indicate that the command is being run automatically by the system: -vgchange \-\-lock\-start \-\-lock\-opt auto [ ...] +vgchange --lock-start --lock-opt auto [ ...] Without any additional configuration, including the "auto" option has no effect; all VGs are started unless restricted by lock_start_list. @@ -545,7 +545,7 @@ If the situation arises where more than one sanlock VG contains a global lock, the global lock should be manually disabled in all but one of them with the command: -lvmlockctl \-\-gl\-disable +lvmlockctl --gl-disable (The one VG with the global lock enabled must be visible to all hosts.) @@ -555,7 +555,7 @@ and subsequent LVM commands will fail to acquire it. In this case, the global lock needs to be manually enabled in one of the remaining sanlock VGs with the command: -lvmlockctl \-\-gl\-enable +lvmlockctl --gl-enable A small sanlock VG dedicated to holding the global lock can avoid the case where the GL lock must be manually enabled after a vgremove. @@ -593,7 +593,7 @@ cannot be acquired, the LV is not activated and an error is reported. This would happen if the LV is active exclusively on another host. If the LV type prohibits shared access, such as a snapshot, the command will report an error and fail. -The shared mode is intended for a multi\-host/cluster application or +The shared mode is intended for a multi-host/cluster application or file system. LV types that cannot be used concurrently from multiple hosts include thin, cache, raid, mirror, and snapshot. @@ -638,18 +638,18 @@ acquired by other hosts. The VG must be forcibly deactivated on the host with the expiring lease before other hosts can acquire its locks. When the sanlock daemon detects that the lease storage is lost, it runs -the command lvmlockctl \-\-kill . This command emits a syslog +the command lvmlockctl --kill . This command emits a syslog message stating that lease storage is lost for the VG and LVs must be immediately deactivated. If no LVs are active in the VG, then the lockspace with an expiring lease will be removed, and errors will be reported when trying to use the VG. -Use the lvmlockctl \-\-drop command to clear the stale lockspace from +Use the lvmlockctl --drop command to clear the stale lockspace from lvmlockd. If the VG has active LVs when the lock storage is lost, the LVs must be quickly deactivated before the lockspace lease expires. After all LVs are -deactivated, run lvmlockctl \-\-drop to clear the expiring +deactivated, run lvmlockctl --drop to clear the expiring lockspace from lvmlockd. If all LVs in the VG are not deactivated within about 40 seconds, sanlock will reset the host using the local watchdog. The machine reset is effectively a severe form of "deactivating" LVs @@ -687,12 +687,12 @@ original cluster: .IP \[bu] 2 Stop the VG on all hosts: .br -vgchange \-\-lock\-stop +vgchange --lock-stop .IP \[bu] 2 Change the VG lock type to none: .br -vgchange \-\-lock\-type none +vgchange --lock-type none .IP \[bu] 2 Change the dlm cluster name on the host or move the VG to the new cluster. @@ -704,12 +704,12 @@ cat /sys/kernel/config/dlm/cluster/cluster_name .IP \[bu] 2 Change the VG lock type back to dlm which sets the new cluster name: .br -vgchange \-\-lock\-type dlm +vgchange --lock-type dlm .IP \[bu] 2 Start the VG on hosts to use it: .br -vgchange \-\-lock\-start +vgchange --lock-start .P @@ -728,17 +728,17 @@ cat /sys/kernel/config/dlm/cluster/cluster_name .IP \[bu] 2 Change the VG lock type to none: .br -vgchange \-\-lock\-type none \-\-force +vgchange --lock-type none --force .IP \[bu] 2 Change the VG lock type back to dlm which sets the new cluster name: .br -vgchange \-\-lock\-type dlm +vgchange --lock-type dlm .IP \[bu] 2 Start the VG on hosts to use it: .br -vgchange \-\-lock\-start +vgchange --lock-start .SS changing a local VG to a lockd VG @@ -749,18 +749,18 @@ lvmlockd must be configured and running as described in USAGE. Change a local VG to a lockd VG with the command: .br -vgchange \-\-lock\-type sanlock|dlm +vgchange --lock-type sanlock|dlm Start the VG on hosts to use it: .br -vgchange \-\-lock\-start +vgchange --lock-start .SS changing a lockd VG to a local VG Stop the lockd VG on all hosts, then run: .br -vgchange \-\-lock\-type none +vgchange --lock-type none To change a VG from one lockd type to another (i.e. between sanlock and dlm), first change it to a local VG, then to the new type. @@ -773,15 +773,15 @@ All LVs must be inactive to change the lock type. First change the clvm VG to a local VG. Within a running clvm cluster, change a clvm VG to a local VG with the command: -vgchange \-cn +vgchange -cn If the clvm cluster is no longer running on any nodes, then extra options can be used to forcibly make the VG local. Caution: this is only safe if all nodes have stopped using the VG: -vgchange \-\-config 'global/locking_type=0 global/use_lvmlockd=0' +vgchange --config 'global/locking_type=0 global/use_lvmlockd=0' .RS -\-cn +-cn .RE After the VG is local, follow the steps described in "changing a local VG @@ -830,7 +830,7 @@ lvm.conf must be configured to use either lvmlockd (use_lvmlockd=1) or clvmd (locking_type=3), but not both. .IP \[bu] 2 -vgcreate \-\-shared creates a lockd VG, and vgcreate \-\-clustered y +vgcreate --shared creates a lockd VG, and vgcreate --clustered y creates a clvm VG. .IP \[bu] 2 @@ -839,7 +839,7 @@ need for network clustering. .IP \[bu] 2 lvmlockd defaults to the exclusive activation mode whenever the activation -mode is unspecified, i.e. \-ay means \-aey, not \-asy. +mode is unspecified, i.e. -ay means -aey, not -asy. .IP \[bu] 2 lvmlockd commands always apply to the local host, and never have an effect @@ -856,13 +856,13 @@ lvmlockd saves the cluster name for a lockd VG using dlm. Only hosts in the matching cluster can use the VG. .IP \[bu] 2 -lvmlockd requires starting/stopping lockd VGs with vgchange \-\-lock\-start -and \-\-lock\-stop. +lvmlockd requires starting/stopping lockd VGs with vgchange --lock-start +and --lock-stop. .IP \[bu] 2 vgremove of a sanlock VG may fail indicating that all hosts have not stopped the VG lockspace. Stop the VG on all hosts using vgchange -\-\-lock\-stop. +--lock-stop. .IP \[bu] 2 vgreduce or pvmove of a PV in a sanlock VG will fail if it holds the diff --git a/man/lvmpolld.8_main b/man/lvmpolld.8_main index c5cbce4c3..4fe149094 100644 --- a/man/lvmpolld.8_main +++ b/man/lvmpolld.8_main @@ -3,22 +3,22 @@ lvmpolld \(em LVM poll daemon .SH SYNOPSIS .B lvmpolld -.RB [ \-l | \-\-log +.RB [ -l | --log .RI { all | wire | debug }] -.RB [ \-p | \-\-pidfile +.RB [ -p | --pidfile .IR pidfile_path ] -.RB [ \-s | \-\-socket +.RB [ -s | --socket .IR socket_path ] -.RB [ \-B | \-\-binary +.RB [ -B | --binary .IR lvm_binary_path ] -.RB [ \-t | \-\-timeout +.RB [ -t | --timeout .IR timeout_value ] -.RB [ \-f | \-\-foreground ] -.RB [ \-h | \-\-help ] -.RB [ \-V | \-\-version ] +.RB [ -f | --foreground ] +.RB [ -h | --help ] +.RB [ -V | --version ] .B lvmpolld -.RB [ \-\-dump ] +.RB [ --dump ] .SH DESCRIPTION lvmpolld is polling daemon for LVM. The daemon receives requests for polling of already initialised operations originating in LVM2 command line tool. @@ -33,48 +33,48 @@ external factors. lvmpolld is used by LVM only if it is enabled in \fBlvm.conf\fP(5) by specifying the \fBglobal/use_lvmpolld\fP setting. If this is not defined in the LVM configuration explicitly then default setting is used instead (see the -output of \fBlvmconfig \-\-type default global/use_lvmpolld\fP command). +output of \fBlvmconfig --type default global/use_lvmpolld\fP command). .SH OPTIONS To run the daemon in a test environment both the pidfile_path and the socket_path should be changed from the defaults. .TP -.BR \-f ", " \-\-foreground +.BR -f ", " --foreground Don't fork, but run in the foreground. .TP -.BR \-h ", " \-\-help +.BR -h ", " --help Show help information. .TP -.IR \fB\-l\fP ", " \fB\-\-log\fP " {" all | wire | debug } +.IR \fB-l\fP ", " \fB--log\fP " {" all | wire | debug } Select the type of log messages to generate. Messages are logged by syslog. -Additionally, when \-f is given they are also sent to standard error. +Additionally, when -f is given they are also sent to standard error. There are two classes of messages: wire and debug. Selecting 'all' supplies both -and is equivalent to a comma\-separated list \-l wire,debug. +and is equivalent to a comma-separated list -l wire,debug. .TP -.BR \-p ", " \-\-pidfile " " \fIpidfile_path -Path to the pidfile. This overrides both the built\-in default +.BR -p ", " --pidfile " " \fIpidfile_path +Path to the pidfile. This overrides both the built-in default (#DEFAULT_PID_DIR#/lvmpolld.pid) and the environment variable \fBLVM_LVMPOLLD_PIDFILE\fP. This file is used to prevent more than one instance of the daemon running simultaneously. .TP -.BR \-s ", " \-\-socket " " \fIsocket_path -Path to the socket file. This overrides both the built\-in default +.BR -s ", " --socket " " \fIsocket_path +Path to the socket file. This overrides both the built-in default (#DEFAULT_RUN_DIR#/lvmpolld.socket) and the environment variable \fBLVM_LVMPOLLD_SOCKET\fP. .TP -.BR \-t ", " \-\-timeout " " \fItimeout_value +.BR -t ", " --timeout " " \fItimeout_value The daemon may shutdown after being idle for the given time (in seconds). When the option is omitted or the value given is zero the daemon never shutdowns on idle. .TP -.BR \-B ", " \-\-binary " " \fIlvm_binary_path +.BR -B ", " --binary " " \fIlvm_binary_path Optional path to alternative LVM binary (default: #LVM_PATH#). Use for testing purposes only. .TP -.BR \-V ", " \-\-version +.BR -V ", " --version Display the version of lvmpolld daemon. .TP -.B \-\-dump +.B --dump Contact the running lvmpolld daemon to obtain the complete state and print it out in a raw format. .SH ENVIRONMENT VARIABLES diff --git a/man/lvmraid.7_main b/man/lvmraid.7_main index 98630f009..3cbc84bf6 100644 --- a/man/lvmraid.7_main +++ b/man/lvmraid.7_main @@ -31,12 +31,12 @@ The LV type corresponds to a RAID level. The basic RAID levels that can be used are: .B raid0, raid1, raid4, raid5, raid6, raid10. -.B lvcreate \-\-type +.B lvcreate --type .I RaidLevel [\fIOPTIONS\fP] -.B \-\-name +.B --name .I Name -.B \-\-size +.B --size .I Size .I VG [\fIPVs\fP] @@ -58,17 +58,17 @@ Also called striping, raid0 spreads LV data across multiple devices in units of stripe size. This is used to increase performance. LV data will be lost if any of the devices fail. -.B lvcreate \-\-type raid0 -[\fB\-\-stripes\fP \fINumber\fP \fB\-\-stripesize\fP \fISize\fP] +.B lvcreate --type raid0 +[\fB--stripes\fP \fINumber\fP \fB--stripesize\fP \fISize\fP] \fIVG\fP [\fIPVs\fP] .HP -.B \-\-stripes +.B --stripes specifies the number of devices to spread the LV across. .HP -.B \-\-stripesize +.B --stripesize specifies the size of each stripe in kilobytes. This is the amount of data that is written to one device before moving to the next. .P @@ -85,15 +85,15 @@ 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 (i.e. sub LV pairs) required is 2. -.B lvcreate \-\-type raid1 -[\fB\-\-mirrors\fP \fINumber\fP] +.B lvcreate --type raid1 +[\fB--mirrors\fP \fINumber\fP] \fIVG\fP [\fIPVs\fP] .HP -.B \-\-mirrors +.B --mirrors specifies the number of mirror images in addition to the original LV -image, e.g. \-\-mirrors 1 means there are two images of the data, the +image, e.g. --mirrors 1 means there are two images of the data, the original and one mirror image. .P @@ -109,20 +109,20 @@ 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. -.B lvcreate \-\-type raid4 -[\fB\-\-stripes\fP \fINumber\fP \fB\-\-stripesize\fP \fISize\fP] +.B lvcreate --type raid4 +[\fB--stripes\fP \fINumber\fP \fB--stripesize\fP \fISize\fP] \fIVG\fP [\fIPVs\fP] .HP -.B \-\-stripes +.B --stripes specifies the number of devices to use for LV data. This does not include the extra device lvm adds for storing parity blocks. A raid4 LV with \fINumber\fP stripes requires \fINumber\fP+1 devices. \fINumber\fP must be 2 or more. .HP -.B \-\-stripesize +.B --stripesize specifies the size of each stripe in kilobytes. This is the amount of data that is written to one device before moving to the next. .P @@ -130,7 +130,7 @@ data that is written to one device before moving to the next. \fIPVs\fP specifies the devices to use. If not specified, lvm will choose \fINumber\fP+1 separate devices. -raid4 is called non\-rotating parity because the parity blocks are always +raid4 is called non-rotating parity because the parity blocks are always stored on the same device. .SS raid5 @@ -143,20 +143,20 @@ 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] +.B lvcreate --type raid5 +[\fB--stripes\fP \fINumber\fP \fB--stripesize\fP \fISize\fP] \fIVG\fP [\fIPVs\fP] .HP -.B \-\-stripes +.B --stripes specifies the number of devices to use for LV data. This does not include the extra device lvm adds for storing parity blocks. A raid5 LV with \fINumber\fP stripes requires \fINumber\fP+1 devices. \fINumber\fP must be 2 or more. .HP -.B \-\-stripesize +.B --stripesize specifies the size of each stripe in kilobytes. This is the amount of data that is written to one device before moving to the next. .P @@ -165,7 +165,7 @@ data that is written to one device before moving to the next. \fINumber\fP+1 separate devices. raid5 is called rotating parity because the parity blocks are placed on -different devices in a round\-robin sequence. There are variations of +different devices in a round-robin sequence. There are variations of raid5 with different algorithms for placing the parity blocks. The default variant is raid5_ls (raid5 left symmetric, which is a rotating parity 0 with data restart.) See \fBRAID5 variants\fP below. @@ -181,20 +181,20 @@ 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. -.B lvcreate \-\-type raid6 -[\fB\-\-stripes\fP \fINumber\fP \fB\-\-stripesize\fP \fISize\fP] +.B lvcreate --type raid6 +[\fB--stripes\fP \fINumber\fP \fB--stripesize\fP \fISize\fP] \fIVG\fP [\fIPVs\fP] .HP -.B \-\-stripes +.B --stripes specifies the number of devices to use for LV data. This does not include the extra two devices lvm adds for storing parity blocks. A raid6 LV with \fINumber\fP stripes requires \fINumber\fP+2 devices. \fINumber\fP must be 3 or more. .HP -.B \-\-stripesize +.B --stripesize specifies the size of each stripe in kilobytes. This is the amount of data that is written to one device before moving to the next. .P @@ -215,24 +215,24 @@ raid10 is a combination of raid1 and raid0, striping data across mirrored devices. LV data remains available if one or more devices remains in each mirror set. The minimum number of devices required is 4. -.B lvcreate \-\-type raid10 +.B lvcreate --type raid10 .RS -[\fB\-\-mirrors\fP \fINumberMirrors\fP] +[\fB--mirrors\fP \fINumberMirrors\fP] .br -[\fB\-\-stripes\fP \fINumberStripes\fP \fB\-\-stripesize\fP \fISize\fP] +[\fB--stripes\fP \fINumberStripes\fP \fB--stripesize\fP \fISize\fP] .br \fIVG\fP [\fIPVs\fP] .RE .HP -.B \-\-mirrors +.B --mirrors specifies the number of mirror images within each stripe. e.g. -\-\-mirrors 1 means there are two images of the data, the original and one +--mirrors 1 means there are two images of the data, the original and one mirror image. .HP -.B \-\-stripes +.B --stripes specifies the total number of devices to use in all raid1 images (not the number of raid1 devices to spread the LV across, even though that is the effective result). The number of devices in each raid1 mirror will be @@ -240,7 +240,7 @@ NumberStripes/(NumberMirrors+1), e.g. mirrors 1 and stripes 4 will stripe data across two raid1 mirrors, where each mirror is devices. .HP -.B \-\-stripesize +.B --stripesize specifies the size of each stripe in kilobytes. This is the amount of data that is written to one device before moving to the next. .P @@ -296,17 +296,17 @@ Scrubbing assumes that RAID metadata and bitmaps may be inaccurate, so it verifies all RAID metadata, LV data, and parity blocks. Scrubbing can find inconsistencies caused by hardware errors or degradation. These kinds of problems may be undetected by automatic synchronization which -excludes areas outside of the RAID write\-intent bitmap. +excludes areas outside of the RAID write-intent bitmap. The command to scrub a RAID LV can operate in two different modes: -.B lvchange \-\-syncaction +.B lvchange --syncaction .BR check | repair .IR VG / LV .HP .B check -Check mode is read\-only and only detects inconsistent areas in the RAID +Check mode is read-only and only detects inconsistent areas in the RAID LV, it does not correct them. .HP @@ -320,7 +320,7 @@ Scrubbing can consume a lot of bandwidth and slow down application I/O on the RAID LV. To control the I/O rate used for scrubbing, use: .HP -.B \-\-maxrecoveryrate +.B --maxrecoveryrate .BR \fIRate [ b | B | s | S | k | K | m | M | g | G ] .br Sets the maximum recovery rate for a RAID LV. \fIRate\fP is specified as @@ -329,7 +329,7 @@ then KiB/sec/device is assumed. Setting the recovery rate to \fB0\fP means it will be unbounded. .HP -.BR \-\-minrecoveryrate +.BR --minrecoveryrate .BR \fIRate [ b | B | s | S | k | K | m | M | g | G ] .br Sets the minimum recovery rate for a RAID LV. \fIRate\fP is specified as @@ -355,7 +355,7 @@ Also, if mismatches were found, the lvs attr field will display the letter .nf # lvs -o name,vgname,segtype,attr vg/lvol0 LV VG Type Attr - lvol0 vg raid1 Rwi\-a\-r\-m\- + lvol0 vg raid1 Rwi-a-r-m- .fi @@ -371,7 +371,7 @@ not know which data is correct. The result may be consistent but incorrect data. When two different blocks of data must be made consistent, it chooses the block from the device that would be used during RAID intialization. However, if the PV holding corrupt data is known, -lvchange \-\-rebuild can be used in place of scrubbing to reconstruct the +lvchange --rebuild can be used in place of scrubbing to reconstruct the data on the bad device. Future developments might include: @@ -381,7 +381,7 @@ Allowing a user to choose the correct version of data during repair. Using a majority of devices to determine the correct version of data to use in a 3-way RAID1 or RAID6 LV. -Using a checksumming device to pin\-point when and where an error occurs, +Using a checksumming device to pin-point when and where an error occurs, allowing it to be rewritten. @@ -390,7 +390,7 @@ allowing it to be rewritten. An LV is often a combination of other hidden LVs called SubLVs. The SubLVs either use physical devices, or are built from other SubLVs themselves. SubLVs hold LV data blocks, RAID parity blocks, and RAID -metadata. SubLVs are generally hidden, so the lvs \-a option is required +metadata. SubLVs are generally hidden, so the lvs -a option is required to display them: .B lvs -a -o name,segtype,devices @@ -423,7 +423,7 @@ Each rimage SubLV holds a portion of LV data. No parity is used. No RAID metadata is used. .nf -lvcreate \-\-type raid0 \-\-stripes 2 \-\-name lvr0 ... +lvcreate --type raid0 --stripes 2 --name lvr0 ... lvs -a -o name,segtype,devices lvr0 raid0 lvr0_rimage_0(0),lvr0_rimage_1(0) @@ -437,7 +437,7 @@ Each rimage SubLV holds a complete copy of LV data. No parity is used. Each rmeta SubLV holds RAID metadata. .nf -lvcreate \-\-type raid1 \-\-mirrors 1 \-\-name lvr1 ... +lvcreate --type raid1 --mirrors 1 --name lvr1 ... lvs -a -o name,segtype,devices lvr1 raid1 lvr1_rimage_0(0),lvr1_rimage_1(0) @@ -453,7 +453,7 @@ Two rimage SubLVs each hold a portion of LV data and one rimage SubLV holds parity. Each rmeta SubLV holds RAID metadata. .nf -lvcreate \-\-type raid4 \-\-stripes 2 \-\-name lvr4 ... +lvcreate --type raid4 --stripes 2 --name lvr4 ... lvs -a -o name,segtype,devices lvr4 raid4 lvr4_rimage_0(0),\\ @@ -473,7 +473,7 @@ Three rimage SubLVs each hold a portion of LV data and parity. Each rmeta SubLV holds RAID metadata. .nf -lvcreate \-\-type raid5 \-\-stripes 2 \-\-name lvr5 ... +lvcreate --type raid5 --stripes 2 --name lvr5 ... lvs -a -o name,segtype,devices lvr5 raid5 lvr5_rimage_0(0),\\ @@ -493,7 +493,7 @@ Six rimage SubLVs each hold a portion of LV data and parity. Each rmeta SubLV holds RAID metadata. .nf -lvcreate \-\-type raid6 \-\-stripes 3 \-\-name lvr6 +lvcreate --type raid6 --stripes 3 --name lvr6 lvs -a -o name,segtype,devices lvr6 raid6 lvr6_rimage_0(0),\\ @@ -521,7 +521,7 @@ Four rimage SubLVs each hold a portion of LV data. No parity is used. Each rmeta SubLV holds RAID metadata. .nf -lvcreate \-\-type raid10 \-\-stripes 2 \-\-mirrors 1 \-\-name lvr10 +lvcreate --type raid10 --stripes 2 --mirrors 1 --name lvr10 lvs -a -o name,segtype,devices lvr10 raid10 lvr10_rimage_0(0),\\ @@ -568,7 +568,7 @@ is composed of a raid1 set, without LV data loss. .P -If a RAID LV is missing devices, or has other device\-related problems, lvs +If a RAID LV is missing devices, or has other device-related problems, lvs reports this in the health_status (and attr) fields: .B lvs -o name,lv_health_status @@ -596,11 +596,11 @@ See Most commands will also print a warning if a device is missing, e.g. .br .nf -WARNING: Device for PV uItL3Z\-wBME\-DQy0-... not found or rejected ... +WARNING: Device for PV uItL3Z-wBME-DQy0-... not found or rejected ... .fi This warning will go away if the device returns or is removed from the -VG (see \fBvgreduce \-\-removemissing\fP). +VG (see \fBvgreduce --removemissing\fP). .SS Activating an LV with missing devices @@ -608,7 +608,7 @@ VG (see \fBvgreduce \-\-removemissing\fP). A RAID LV that is missing devices may be activated or not, depending on the "activation mode" used in lvchange: -.B lvchange \-ay \-\-activationmode +.B lvchange -ay --activationmode .RB { complete | degraded | partial } .IR VG / LV @@ -634,32 +634,32 @@ controls the activation mode when not specified by the command. The default value is printed by: .nf -lvmconfig \-\-type default activation/activation_mode +lvmconfig --type default activation/activation_mode .fi .SS Replacing Devices Devices in a RAID LV can be replaced by other devices in the VG. When replacing devices that are no longer visible on the system, use lvconvert -\-\-repair. When replacing devices that are still visible, use lvconvert -\-\-replace. The repair command will attempt to restore the same number +--repair. When replacing devices that are still visible, use lvconvert +--replace. The repair command will attempt to restore the same number of data LVs that were previously in the LV. The replace option can be repeated to replace multiple PVs. Replacement devices can be optionally listed with either option. -.B lvconvert \-\-repair +.B lvconvert --repair .IR VG / LV [\fINewPVs\fP] -.B lvconvert \-\-replace +.B lvconvert --replace \fIOldPV\fP .IR VG / LV [\fINewPV\fP] .B lvconvert -.B \-\-replace +.B --replace \fIOldPV1\fP -.B \-\-replace +.B --replace \fIOldPV2\fP ... .IR VG / LV @@ -677,24 +677,24 @@ Restoring a device will usually require at least partial synchronization in the RAID LV operating in degraded mode until it is reactivated. Use the lvchange command to refresh an LV: -.B lvchange \-\-refresh +.B lvchange --refresh .IR VG / LV .nf # lvs -o name,vgname,segtype,attr,size vg LV VG Type Attr LSize - raid1 vg raid1 Rwi\-a\-r\-r\- 100.00g + raid1 vg raid1 Rwi-a-r-r- 100.00g -# lvchange \-\-refresh vg/raid1 +# lvchange --refresh vg/raid1 # lvs -o name,vgname,segtype,attr,size vg LV VG Type Attr LSize - raid1 vg raid1 Rwi\-a\-r\-\-\- 100.00g + raid1 vg raid1 Rwi-a-r--- 100.00g .fi .SS Automatic repair -If a device in a RAID LV fails, device\-mapper in the kernel notifies the +If a device in a RAID LV fails, device-mapper in the kernel notifies the .BR dmeventd (8) monitoring process (see \fBMonitoring\fP). dmeventd can be configured to automatically respond using: @@ -719,7 +719,7 @@ synchronization is started. The specific command run by dmeventd to warn or repair is: .br -.B lvconvert \-\-repair \-\-use\-policies +.B lvconvert --repair --use-policies .IR VG / LV @@ -735,7 +735,7 @@ This should be rare, and can be detected (see \fBScrubbing\fP). If specific PVs in a RAID LV are known to have corrupt data, the data on those PVs can be reconstructed with: -.B lvchange \-\-rebuild PV +.B lvchange --rebuild PV .IR VG / LV The rebuild option can be repeated with different PVs to replace the data @@ -746,7 +746,7 @@ on multiple PVs. When a RAID LV is activated the \fBdmeventd\fP(8) process is started to monitor the health of the LV. Various events detected in the kernel can -cause a notification to be sent from device\-mapper to the monitoring +cause a notification to be sent from device-mapper to the monitoring process, including device failures and synchronization completion (e.g. for initialization or scrubbing). @@ -781,7 +781,7 @@ A RAID1 LV can be tuned so that certain devices are avoided for reading while all devices are still written to. .B lvchange -.BR \-\- [ raid ] writemostly +.BR -- [ raid ] writemostly .BR \fIPhysicalVolume [ : { y | n | t }] .IR VG / LV @@ -808,7 +808,7 @@ further writes become synchronous. When synchronous, a write to the LV will not complete until writes to all the mirror images are complete. .B lvchange -.BR \-\- [ raid ] writebehind +.BR -- [ raid ] writebehind .IR IOCount .IR VG / LV @@ -827,7 +827,7 @@ raid5 to raid6. Changing the RAID level is usually done to increase or decrease resilience to device failures or to restripe LVs. This is done using lvconvert and specifying the new RAID level as the LV type: -.B lvconvert \-\-type +.B lvconvert --type .I RaidLevel \fIVG\fP/\fILV\fP [\fIPVs\fP] @@ -850,7 +850,7 @@ striped volume results in raid4/5/6. .P Unnatural conversions that are not recommended include converting between -striped and non\-striped types. This is because file systems often +striped and non-striped types. This is because file systems often optimize I/O patterns based on device striping values. If those values change, it can decrease performance. @@ -865,7 +865,7 @@ blocks to a new image on a new device. Converting to a parity RAID level requires reading all LV data blocks, calculating parity, and writing the new parity blocks. Synchronization can take a long time and degrade performance (rate controls also apply to conversion, see -\fB\-\-maxrecoveryrate\fP.) +\fB--maxrecoveryrate\fP.) Warning: though it is possible to create \fBstriped\fP LVs with up to 128 stripes, a maximum of 64 stripes can be converted to \fBraid0\fP, 63 to \fBraid4/5\fP and @@ -906,7 +906,7 @@ between striped/raid0 and raid10. LV Type LSize lv linear 300.00g -# lvconvert \-\-type raid1 \-\-mirrors 1 vg/lv +# lvconvert --type raid1 --mirrors 1 vg/lv # lvs -a -o name,segtype,size vg LV Type LSize @@ -938,7 +938,7 @@ between striped and raid4. LV Type LSize lv linear 300.00g -# lvconvert \-\-type raid1 \-\-mirrors 1 vg/lv +# lvconvert --type raid1 --mirrors 1 vg/lv # lvs -a -o name,segtype,size vg LV Type LSize @@ -959,7 +959,7 @@ between striped and raid4. [lv_mimage_1] linear 100.00g [lv_mlog] linear 3.00m -# lvconvert \-\-type raid1 vg/lv +# lvconvert --type raid1 vg/lv # lvs -a -o name,segtype,size vg LV Type LSize @@ -980,7 +980,7 @@ Start with a linear LV: Convert the linear LV to raid1 with three images (original linear image plus 2 mirror images): -# lvconvert \-\-type raid1 \-\-mirrors 2 vg/lv +# lvconvert --type raid1 --mirrors 2 vg/lv .fi 4. Converting an LV from \fBstriped\fP (with 4 stripes) to \fBraid6_nc\fP. @@ -988,11 +988,11 @@ Convert the linear LV to raid1 with three images .nf Start with a striped LV: -# lvcreate \-\-stripes 4 -L64M -n lv vg +# lvcreate --stripes 4 -L64M -n lv vg Convert the striped LV to raid6_n_6: -# lvconvert \-\-type raid6 vg/lv +# lvconvert --type raid6 vg/lv # lvs -a -o lv_name,segtype,sync_percent,data_copies LV Type Cpy%Sync #Cpy @@ -1061,7 +1061,7 @@ traditional RAID6. [lv_rmeta_4] linear [lv_rmeta_5] linear -# lvconvert \-\-type raid6_nr vg/lv +# lvconvert --type raid6_nr vg/lv # lvs -a -o lv_name,segtype,sync_percent,data_copies LV Type Cpy%Sync #Cpy @@ -1085,7 +1085,7 @@ traditional RAID6. .fi The DataLVs are larger (additional segment in each) which provides space -for out\-of\-place reshaping. The result is: +for out-of-place reshaping. The result is: .nf # lvs -a -o lv_name,segtype,seg_pe_ranges,dataoffset @@ -1106,15 +1106,15 @@ for out\-of\-place reshaping. The result is: [lv_rmeta_3] linear /dev/sdac:0-0 .fi -All segments with PE ranges '33-33' provide the out\-of\-place reshape space. +All segments with PE ranges '33-33' provide the out-of-place reshape space. The dataoffset column shows that the data was moved from initial offset 0 to 2048 sectors on each component DataLV. For performance reasons the raid6_nr RaidLV can be restriped. -Convert it from 3-way striped to 5-way\-striped. +Convert it from 3-way striped to 5-way-striped. .nf -# lvconvert \-\-stripes 5 -y tb/lv +# lvconvert --stripes 5 -y tb/lv Using default stripesize 64.00 KiB. WARNING: Adding stripes to active logical volume tb/lv will grow it from 99 to 165 extents! Run "lvresize -l99 tb/lv" to shrink it or use the additional capacity. @@ -1122,67 +1122,67 @@ Convert it from 3-way striped to 5-way\-striped. # lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert - root fedora -wi\-ao\-\-\-\- 15.00g - swap fedora -wi\-ao\-\-\-\- 3.99g - lv tb rwi\-a\-r\-s\- 652.00m 52.94 + root fedora -wi-ao---- 15.00g + swap fedora -wi-ao---- 3.99g + lv tb rwi-a-r-s- 652.00m 52.94 # lvs -a -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-\-\- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 0 - [lv_rimage_0] iwi\-aor\-\-\- linear /dev/sda:0-32 0 - [lv_rimage_0] iwi\-aor\-\-\- linear /dev/sda:34-34 - [lv_rimage_1] iwi\-aor\-\-\- linear /dev/sdaa:0-32 0 - [lv_rimage_1] iwi\-aor\-\-\- linear /dev/sdaa:34-34 - [lv_rimage_2] iwi\-aor\-\-\- linear /dev/sdab:0-32 0 - [lv_rimage_2] iwi\-aor\-\-\- linear /dev/sdab:34-34 - [lv_rimage_3] iwi\-aor\-\-\- linear /dev/sdac:1-34 0 - [lv_rimage_4] iwi\-aor\-\-\- linear /dev/sdad:1-34 0 - [lv_rimage_5] iwi\-aor\-\-\- linear /dev/sdae:1-34 0 - [lv_rimage_6] iwi\-aor\-\-\- linear /dev/sdaf:1-34 0 - [lv_rmeta_0] ewi\-aor\-\-\- linear /dev/sda:33-33 - [lv_rmeta_1] ewi\-aor\-\-\- linear /dev/sdaa:33-33 - [lv_rmeta_2] ewi\-aor\-\-\- linear /dev/sdab:33-33 - [lv_rmeta_3] ewi\-aor\-\-\- linear /dev/sdac:0-0 - [lv_rmeta_4] ewi\-aor\-\-\- linear /dev/sdad:0-0 - [lv_rmeta_5] ewi\-aor\-\-\- linear /dev/sdae:0-0 - [lv_rmeta_6] ewi\-aor\-\-\- linear /dev/sdaf:0-0 + lv rwi-a-r--- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 0 + [lv_rimage_0] iwi-aor--- linear /dev/sda:0-32 0 + [lv_rimage_0] iwi-aor--- linear /dev/sda:34-34 + [lv_rimage_1] iwi-aor--- linear /dev/sdaa:0-32 0 + [lv_rimage_1] iwi-aor--- linear /dev/sdaa:34-34 + [lv_rimage_2] iwi-aor--- linear /dev/sdab:0-32 0 + [lv_rimage_2] iwi-aor--- linear /dev/sdab:34-34 + [lv_rimage_3] iwi-aor--- linear /dev/sdac:1-34 0 + [lv_rimage_4] iwi-aor--- linear /dev/sdad:1-34 0 + [lv_rimage_5] iwi-aor--- linear /dev/sdae:1-34 0 + [lv_rimage_6] iwi-aor--- linear /dev/sdaf:1-34 0 + [lv_rmeta_0] ewi-aor--- linear /dev/sda:33-33 + [lv_rmeta_1] ewi-aor--- linear /dev/sdaa:33-33 + [lv_rmeta_2] ewi-aor--- linear /dev/sdab:33-33 + [lv_rmeta_3] ewi-aor--- linear /dev/sdac:0-0 + [lv_rmeta_4] ewi-aor--- linear /dev/sdad:0-0 + [lv_rmeta_5] ewi-aor--- linear /dev/sdae:0-0 + [lv_rmeta_6] ewi-aor--- linear /dev/sdaf:0-0 .fi Stripes also can be removed from raid5 and 6. -Convert the 5-way striped raid6_nr LV to 4-way\-striped. +Convert the 5-way striped raid6_nr LV to 4-way-striped. The force option needs to be used, because removing stripes (i.e. image SubLVs) from a RaidLV will shrink its size. .nf -# lvconvert \-\-stripes 4 \-\-force -y tb/lv +# lvconvert --stripes 4 --force -y tb/lv Using default stripesize 64.00 KiB. WARNING: Removing stripes from active logical volume tb/lv will shrink it from 660.00 MiB to 528.00 MiB! THIS MAY DESTROY (PARTS OF) YOUR DATA! If that leaves the logical volume larger than 206 extents due to stripe rounding, you may want to grow the content afterwards (filesystem etc.) - WARNING: too remove freed stripes after the conversion has finished, you have to run "lvconvert \-\-stripes 4 tb/lv" + WARNING: too remove freed stripes after the conversion has finished, you have to run "lvconvert --stripes 4 tb/lv" Logical volume tb/lv successfully converted. # lvs -a -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-s\- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 0 - [lv_rimage_0] Iwi\-aor\-\-\- linear /dev/sda:0-32 0 - [lv_rimage_0] Iwi\-aor\-\-\- linear /dev/sda:34-34 - [lv_rimage_1] Iwi\-aor\-\-\- linear /dev/sdaa:0-32 0 - [lv_rimage_1] Iwi\-aor\-\-\- linear /dev/sdaa:34-34 - [lv_rimage_2] Iwi\-aor\-\-\- linear /dev/sdab:0-32 0 - [lv_rimage_2] Iwi\-aor\-\-\- linear /dev/sdab:34-34 - [lv_rimage_3] Iwi\-aor\-\-\- linear /dev/sdac:1-34 0 - [lv_rimage_4] Iwi\-aor\-\-\- linear /dev/sdad:1-34 0 - [lv_rimage_5] Iwi\-aor\-\-\- linear /dev/sdae:1-34 0 - [lv_rimage_6] Iwi\-aor\-R\- linear /dev/sdaf:1-34 0 - [lv_rmeta_0] ewi\-aor\-\-\- linear /dev/sda:33-33 - [lv_rmeta_1] ewi\-aor\-\-\- linear /dev/sdaa:33-33 - [lv_rmeta_2] ewi\-aor\-\-\- linear /dev/sdab:33-33 - [lv_rmeta_3] ewi\-aor\-\-\- linear /dev/sdac:0-0 - [lv_rmeta_4] ewi\-aor\-\-\- linear /dev/sdad:0-0 - [lv_rmeta_5] ewi\-aor\-\-\- linear /dev/sdae:0-0 - [lv_rmeta_6] ewi\-aor\-R\- linear /dev/sdaf:0-0 + lv rwi-a-r-s- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 0 + [lv_rimage_0] Iwi-aor--- linear /dev/sda:0-32 0 + [lv_rimage_0] Iwi-aor--- linear /dev/sda:34-34 + [lv_rimage_1] Iwi-aor--- linear /dev/sdaa:0-32 0 + [lv_rimage_1] Iwi-aor--- linear /dev/sdaa:34-34 + [lv_rimage_2] Iwi-aor--- linear /dev/sdab:0-32 0 + [lv_rimage_2] Iwi-aor--- linear /dev/sdab:34-34 + [lv_rimage_3] Iwi-aor--- linear /dev/sdac:1-34 0 + [lv_rimage_4] Iwi-aor--- linear /dev/sdad:1-34 0 + [lv_rimage_5] Iwi-aor--- linear /dev/sdae:1-34 0 + [lv_rimage_6] Iwi-aor-R- linear /dev/sdaf:1-34 0 + [lv_rmeta_0] ewi-aor--- linear /dev/sda:33-33 + [lv_rmeta_1] ewi-aor--- linear /dev/sdaa:33-33 + [lv_rmeta_2] ewi-aor--- linear /dev/sdab:33-33 + [lv_rmeta_3] ewi-aor--- linear /dev/sdac:0-0 + [lv_rmeta_4] ewi-aor--- linear /dev/sdad:0-0 + [lv_rmeta_5] ewi-aor--- linear /dev/sdae:0-0 + [lv_rmeta_6] ewi-aor-R- linear /dev/sdaf:0-0 .fi The 's' in column 9 of the attribute field shows the RaidLV is still reshaping. @@ -1191,7 +1191,7 @@ The 'R' in the same column of the attribute field shows the freed image Sub LVs .nf # lvs -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-R\- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 8192 + lv rwi-a-r-R- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 8192 .fi Now that the reshape is finished the 'R' atribute on the RaidLV shows images can be removed. @@ -1199,87 +1199,87 @@ Now that the reshape is finished the 'R' atribute on the RaidLV shows images can .nf # lvs -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-R\- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 8192 + lv rwi-a-r-R- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 lv_rimage_6:0-33 8192 .fi -This is achieved by repeating the command ("lvconvert \-\-stripes 4 tb/lv" would be sufficient). +This is achieved by repeating the command ("lvconvert --stripes 4 tb/lv" would be sufficient). .nf -# lvconvert \-\-stripes 4 \-\-force -y tb/lv +# lvconvert --stripes 4 --force -y tb/lv Using default stripesize 64.00 KiB. Logical volume tb/lv successfully converted. # lvs -a -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-\-\- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 8192 - [lv_rimage_0] iwi\-aor\-\-\- linear /dev/sda:0-32 8192 - [lv_rimage_0] iwi\-aor\-\-\- linear /dev/sda:34-34 - [lv_rimage_1] iwi\-aor\-\-\- linear /dev/sdaa:0-32 8192 - [lv_rimage_1] iwi\-aor\-\-\- linear /dev/sdaa:34-34 - [lv_rimage_2] iwi\-aor\-\-\- linear /dev/sdab:0-32 8192 - [lv_rimage_2] iwi\-aor\-\-\- linear /dev/sdab:34-34 - [lv_rimage_3] iwi\-aor\-\-\- linear /dev/sdac:1-34 8192 - [lv_rimage_4] iwi\-aor\-\-\- linear /dev/sdad:1-34 8192 - [lv_rimage_5] iwi\-aor\-\-\- linear /dev/sdae:1-34 8192 - [lv_rmeta_0] ewi\-aor\-\-\- linear /dev/sda:33-33 - [lv_rmeta_1] ewi\-aor\-\-\- linear /dev/sdaa:33-33 - [lv_rmeta_2] ewi\-aor\-\-\- linear /dev/sdab:33-33 - [lv_rmeta_3] ewi\-aor\-\-\- linear /dev/sdac:0-0 - [lv_rmeta_4] ewi\-aor\-\-\- linear /dev/sdad:0-0 - [lv_rmeta_5] ewi\-aor\-\-\- linear /dev/sdae:0-0 + lv rwi-a-r--- raid6_nr lv_rimage_0:0-33 lv_rimage_1:0-33 lv_rimage_2:0-33 ... lv_rimage_5:0-33 8192 + [lv_rimage_0] iwi-aor--- linear /dev/sda:0-32 8192 + [lv_rimage_0] iwi-aor--- linear /dev/sda:34-34 + [lv_rimage_1] iwi-aor--- linear /dev/sdaa:0-32 8192 + [lv_rimage_1] iwi-aor--- linear /dev/sdaa:34-34 + [lv_rimage_2] iwi-aor--- linear /dev/sdab:0-32 8192 + [lv_rimage_2] iwi-aor--- linear /dev/sdab:34-34 + [lv_rimage_3] iwi-aor--- linear /dev/sdac:1-34 8192 + [lv_rimage_4] iwi-aor--- linear /dev/sdad:1-34 8192 + [lv_rimage_5] iwi-aor--- linear /dev/sdae:1-34 8192 + [lv_rmeta_0] ewi-aor--- linear /dev/sda:33-33 + [lv_rmeta_1] ewi-aor--- linear /dev/sdaa:33-33 + [lv_rmeta_2] ewi-aor--- linear /dev/sdab:33-33 + [lv_rmeta_3] ewi-aor--- linear /dev/sdac:0-0 + [lv_rmeta_4] ewi-aor--- linear /dev/sdad:0-0 + [lv_rmeta_5] ewi-aor--- linear /dev/sdae:0-0 # lvs -a -o lv_name,attr,segtype,reshapelen tb LV Attr Type RSize - lv rwi\-a\-r\-\-\- raid6_nr 24.00m - [lv_rimage_0] iwi\-aor\-\-\- linear 4.00m - [lv_rimage_0] iwi\-aor\-\-\- linear - [lv_rimage_1] iwi\-aor\-\-\- linear 4.00m - [lv_rimage_1] iwi\-aor\-\-\- linear - [lv_rimage_2] iwi\-aor\-\-\- linear 4.00m - [lv_rimage_2] iwi\-aor\-\-\- linear - [lv_rimage_3] iwi\-aor\-\-\- linear 4.00m - [lv_rimage_4] iwi\-aor\-\-\- linear 4.00m - [lv_rimage_5] iwi\-aor\-\-\- linear 4.00m - [lv_rmeta_0] ewi\-aor\-\-\- linear - [lv_rmeta_1] ewi\-aor\-\-\- linear - [lv_rmeta_2] ewi\-aor\-\-\- linear - [lv_rmeta_3] ewi\-aor\-\-\- linear - [lv_rmeta_4] ewi\-aor\-\-\- linear - [lv_rmeta_5] ewi\-aor\-\-\- linear + lv rwi-a-r--- raid6_nr 24.00m + [lv_rimage_0] iwi-aor--- linear 4.00m + [lv_rimage_0] iwi-aor--- linear + [lv_rimage_1] iwi-aor--- linear 4.00m + [lv_rimage_1] iwi-aor--- linear + [lv_rimage_2] iwi-aor--- linear 4.00m + [lv_rimage_2] iwi-aor--- linear + [lv_rimage_3] iwi-aor--- linear 4.00m + [lv_rimage_4] iwi-aor--- linear 4.00m + [lv_rimage_5] iwi-aor--- linear 4.00m + [lv_rmeta_0] ewi-aor--- linear + [lv_rmeta_1] ewi-aor--- linear + [lv_rmeta_2] ewi-aor--- linear + [lv_rmeta_3] ewi-aor--- linear + [lv_rmeta_4] ewi-aor--- linear + [lv_rmeta_5] ewi-aor--- linear .fi If the reshape space shall be removed any lvconvert command not changing the layout can be used: .nf -# lvconvert \-\-stripes 4 tb/lv +# lvconvert --stripes 4 tb/lv Using default stripesize 64.00 KiB. No change in RAID LV tb/lv layout, freeing reshape space. Logical volume tb/lv successfully converted. # lvs -a -o lv_name,attr,segtype,reshapelen tb LV Attr Type RSize - lv rwi\-a\-r\-\-\- raid6_nr 0 - [lv_rimage_0] iwi\-aor\-\-\- linear 0 - [lv_rimage_0] iwi\-aor\-\-\- linear - [lv_rimage_1] iwi\-aor\-\-\- linear 0 - [lv_rimage_1] iwi\-aor\-\-\- linear - [lv_rimage_2] iwi\-aor\-\-\- linear 0 - [lv_rimage_2] iwi\-aor\-\-\- linear - [lv_rimage_3] iwi\-aor\-\-\- linear 0 - [lv_rimage_4] iwi\-aor\-\-\- linear 0 - [lv_rimage_5] iwi\-aor\-\-\- linear 0 - [lv_rmeta_0] ewi\-aor\-\-\- linear - [lv_rmeta_1] ewi\-aor\-\-\- linear - [lv_rmeta_2] ewi\-aor\-\-\- linear - [lv_rmeta_3] ewi\-aor\-\-\- linear - [lv_rmeta_4] ewi\-aor\-\-\- linear - [lv_rmeta_5] ewi\-aor\-\-\- linear + lv rwi-a-r--- raid6_nr 0 + [lv_rimage_0] iwi-aor--- linear 0 + [lv_rimage_0] iwi-aor--- linear + [lv_rimage_1] iwi-aor--- linear 0 + [lv_rimage_1] iwi-aor--- linear + [lv_rimage_2] iwi-aor--- linear 0 + [lv_rimage_2] iwi-aor--- linear + [lv_rimage_3] iwi-aor--- linear 0 + [lv_rimage_4] iwi-aor--- linear 0 + [lv_rimage_5] iwi-aor--- linear 0 + [lv_rmeta_0] ewi-aor--- linear + [lv_rmeta_1] ewi-aor--- linear + [lv_rmeta_2] ewi-aor--- linear + [lv_rmeta_3] ewi-aor--- linear + [lv_rmeta_4] ewi-aor--- linear + [lv_rmeta_5] ewi-aor--- linear .fi In case the RaidLV should be converted to striped: .nf -# lvconvert \-\-type striped tb/lv +# lvconvert --type striped tb/lv Unable to convert LV tb/lv from raid6_nr to striped. Converting tb/lv from raid6_nr is directly possible to the following layouts: raid6_nc @@ -1290,55 +1290,55 @@ In case the RaidLV should be converted to striped: raid6_rs_6 raid6_n_6 -# lvconvert \-\-type raid6_n_6 +# lvconvert --type raid6_n_6 Using default stripesize 64.00 KiB. Converting raid6_nr LV tb/lv to raid6_n_6. Are you sure you want to convert raid6_nr LV tb/lv? [y/n]: y Logical volume tb/lv successfully converted. -# lvconvert -y \-\-type striped tb/lv +# lvconvert -y --type striped tb/lv Logical volume tb/lv successfully converted. [root@vm46 ~]# lvs -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv -wi\-a\-\-\-\-\- striped /dev/sda:2-32 /dev/sdaa:2-32 /dev/sdab:2-32 /dev/sdac:3-33 - lv -wi\-a\-\-\-\-\- striped /dev/sda:34-35 /dev/sdaa:34-35 /dev/sdab:34-35 /dev/sdac:34-35 + lv -wi-a----- striped /dev/sda:2-32 /dev/sdaa:2-32 /dev/sdab:2-32 /dev/sdac:3-33 + lv -wi-a----- striped /dev/sda:34-35 /dev/sdaa:34-35 /dev/sdab:34-35 /dev/sdac:34-35 .fi From striped we can convert to raid10 .nf -# lvconvert -y \-\-type raid10 tb/lv +# lvconvert -y --type raid10 tb/lv Using default stripesize 64.00 KiB. Logical volume tb/lv successfully converted. # lvs -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-\-\- raid10 lv_rimage_0:0-32 lv_rimage_4:0-32 lv_rimage_1:0-32 ... lv_rimage_3:0-32 lv_rimage_7:0-32 0 + lv rwi-a-r--- raid10 lv_rimage_0:0-32 lv_rimage_4:0-32 lv_rimage_1:0-32 ... lv_rimage_3:0-32 lv_rimage_7:0-32 0 # lvs -a -o lv_name,attr,segtype,seg_pe_ranges,dataoffset tb WARNING: Cannot find matching striped segment for tb/lv_rimage_3. LV Attr Type PE Ranges DOff - lv rwi\-a\-r\-\-\- raid10 lv_rimage_0:0-32 lv_rimage_4:0-32 lv_rimage_1:0-32 ... lv_rimage_3:0-32 lv_rimage_7:0-32 0 - [lv_rimage_0] iwi\-aor\-\-\- linear /dev/sda:2-32 0 - [lv_rimage_0] iwi\-aor\-\-\- linear /dev/sda:34-35 - [lv_rimage_1] iwi\-aor\-\-\- linear /dev/sdaa:2-32 0 - [lv_rimage_1] iwi\-aor\-\-\- linear /dev/sdaa:34-35 - [lv_rimage_2] iwi\-aor\-\-\- linear /dev/sdab:2-32 0 - [lv_rimage_2] iwi\-aor\-\-\- linear /dev/sdab:34-35 - [lv_rimage_3] iwi\-XXr\-\-\- linear /dev/sdac:3-35 0 - [lv_rimage_4] iwi\-aor\-\-\- linear /dev/sdad:1-33 0 - [lv_rimage_5] iwi\-aor\-\-\- linear /dev/sdae:1-33 0 - [lv_rimage_6] iwi\-aor\-\-\- linear /dev/sdaf:1-33 0 - [lv_rimage_7] iwi\-aor\-\-\- linear /dev/sdag:1-33 0 - [lv_rmeta_0] ewi\-aor\-\-\- linear /dev/sda:0-0 - [lv_rmeta_1] ewi\-aor\-\-\- linear /dev/sdaa:0-0 - [lv_rmeta_2] ewi\-aor\-\-\- linear /dev/sdab:0-0 - [lv_rmeta_3] ewi\-aor\-\-\- linear /dev/sdac:0-0 - [lv_rmeta_4] ewi\-aor\-\-\- linear /dev/sdad:0-0 - [lv_rmeta_5] ewi\-aor\-\-\- linear /dev/sdae:0-0 - [lv_rmeta_6] ewi\-aor\-\-\- linear /dev/sdaf:0-0 - [lv_rmeta_7] ewi\-aor\-\-\- linear /dev/sdag:0-0 + lv rwi-a-r--- raid10 lv_rimage_0:0-32 lv_rimage_4:0-32 lv_rimage_1:0-32 ... lv_rimage_3:0-32 lv_rimage_7:0-32 0 + [lv_rimage_0] iwi-aor--- linear /dev/sda:2-32 0 + [lv_rimage_0] iwi-aor--- linear /dev/sda:34-35 + [lv_rimage_1] iwi-aor--- linear /dev/sdaa:2-32 0 + [lv_rimage_1] iwi-aor--- linear /dev/sdaa:34-35 + [lv_rimage_2] iwi-aor--- linear /dev/sdab:2-32 0 + [lv_rimage_2] iwi-aor--- linear /dev/sdab:34-35 + [lv_rimage_3] iwi-XXr--- linear /dev/sdac:3-35 0 + [lv_rimage_4] iwi-aor--- linear /dev/sdad:1-33 0 + [lv_rimage_5] iwi-aor--- linear /dev/sdae:1-33 0 + [lv_rimage_6] iwi-aor--- linear /dev/sdaf:1-33 0 + [lv_rimage_7] iwi-aor--- linear /dev/sdag:1-33 0 + [lv_rmeta_0] ewi-aor--- linear /dev/sda:0-0 + [lv_rmeta_1] ewi-aor--- linear /dev/sdaa:0-0 + [lv_rmeta_2] ewi-aor--- linear /dev/sdab:0-0 + [lv_rmeta_3] ewi-aor--- linear /dev/sdac:0-0 + [lv_rmeta_4] ewi-aor--- linear /dev/sdad:0-0 + [lv_rmeta_5] ewi-aor--- linear /dev/sdae:0-0 + [lv_rmeta_6] ewi-aor--- linear /dev/sdaf:0-0 + [lv_rmeta_7] ewi-aor--- linear /dev/sdag:0-0 .fi raid10 allows to add stripes but can't remove them. @@ -1353,7 +1353,7 @@ We start with the linear LV. .nf # lvs -aoname,attr,size,segtype,syncpercent,datastripes,stripesize,reshapelenle,devices vg LV Attr LSize Type Cpy%Sync #DStr Stripe RSize Devices - lv -wi\-a\-\-\-\-\- 128.00m linear 1 0 /dev/sda(0) + lv -wi-a----- 128.00m linear 1 0 /dev/sda(0) .fi Then convert it to a 2-way raid1. @@ -1364,11 +1364,11 @@ Then convert it to a 2-way raid1. # lvs -aoname,attr,size,segtype,syncpercent,datastripes,stripesize,reshapelenle,devices vg LV Attr LSize Type Cpy%Sync #DStr Stripe RSize Devices - lv rwi\-a\-r\-\-\- 128.00m raid1 100.00 2 0 lv_rimage_0(0),lv_rimage_1(0) - [lv_rimage_0] iwi\-aor\-\-\- 128.00m linear 1 0 /dev/sda(0) - [lv_rimage_1] iwi\-aor\-\-\- 128.00m linear 1 0 /dev/sdhx(1) - [lv_rmeta_0] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sda(32) - [lv_rmeta_1] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdhx(0) + lv rwi-a-r--- 128.00m raid1 100.00 2 0 lv_rimage_0(0),lv_rimage_1(0) + [lv_rimage_0] iwi-aor--- 128.00m linear 1 0 /dev/sda(0) + [lv_rimage_1] iwi-aor--- 128.00m linear 1 0 /dev/sdhx(1) + [lv_rmeta_0] ewi-aor--- 4.00m linear 1 0 /dev/sda(32) + [lv_rmeta_1] ewi-aor--- 4.00m linear 1 0 /dev/sdhx(0) .fi Once the raid1 LV is fully synchronized we convert it to raid5_n (only 2-way raid1 @@ -1377,17 +1377,17 @@ SubLVs at the end and can be converted to striped directly without any additiona conversion. .nf -# lvconvert -y \-\-ty raid5_n vg/lv +# lvconvert -y --ty raid5_n vg/lv Using default stripesize 64.00 KiB. Logical volume vg/lv successfully converted. # lvs -aoname,attr,size,segtype,syncpercent,datastripes,stripesize,reshapelenle,devices vg LV Attr LSize Type Cpy%Sync #DStr Stripe RSize Devices - lv rwi\-a\-r\-\-\- 128.00m raid5_n 100.00 1 64.00k 0 lv_rimage_0(0),lv_rimage_1(0) - [lv_rimage_0] iwi\-aor\-\-\- 128.00m linear 1 0 0 /dev/sda(0) - [lv_rimage_1] iwi\-aor\-\-\- 128.00m linear 1 0 0 /dev/sdhx(1) - [lv_rmeta_0] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sda(32) - [lv_rmeta_1] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdhx(0) + lv rwi-a-r--- 128.00m raid5_n 100.00 1 64.00k 0 lv_rimage_0(0),lv_rimage_1(0) + [lv_rimage_0] iwi-aor--- 128.00m linear 1 0 0 /dev/sda(0) + [lv_rimage_1] iwi-aor--- 128.00m linear 1 0 0 /dev/sdhx(1) + [lv_rmeta_0] ewi-aor--- 4.00m linear 1 0 /dev/sda(32) + [lv_rmeta_1] ewi-aor--- 4.00m linear 1 0 /dev/sdhx(0) .fi Now we'll change the number of data stripes from 1 to 5 and request 128K stripe size @@ -1396,7 +1396,7 @@ to the one given). That additonal space can be used by e.g. growing any contain or the LV can be reduced in size after the reshaping conversion has finished. .nf -# lvconvert \-\-yes \-\-stripesize 128k \-\-stripes 5 vg/lv +# lvconvert --yes --stripesize 128k --stripes 5 vg/lv Converting stripesize 64.00 KiB of raid5_n LV vg/lv to 128.00 KiB. WARNING: Adding stripes to active logical volume vg/lv will grow it from 32 to 160 extents! Run "lvresize -l32 vg/lv" to shrink it or use the additional capacity. @@ -1404,46 +1404,46 @@ or the LV can be reduced in size after the reshaping conversion has finished. # lvs -aoname,attr,size,segtype,syncpercent,datastripes,stripesize,reshapelenle,devices vg LV Attr LSize Type Cpy%Sync #DStr Stripe RSize Devices - lv rwi\-a\-r\-\-\- 640.00m raid5_n 100.00 5 128.00k 6 lv_rimage_0(0),lv_rimage_1(0),lv_rimage_2(0),lv_rimage_3(0),lv_rimage_4(0),lv_rimage_5(0) - [lv_rimage_0] iwi\-aor\-\-\- 132.00m linear 1 0 1 /dev/sda(33) - [lv_rimage_0] iwi\-aor\-\-\- 132.00m linear 1 0 /dev/sda(0) - [lv_rimage_1] iwi\-aor\-\-\- 132.00m linear 1 0 1 /dev/sdhx(33) - [lv_rimage_1] iwi\-aor\-\-\- 132.00m linear 1 0 /dev/sdhx(1) - [lv_rimage_2] iwi\-aor\-\-\- 132.00m linear 1 0 1 /dev/sdhw(33) - [lv_rimage_2] iwi\-aor\-\-\- 132.00m linear 1 0 /dev/sdhw(1) - [lv_rimage_3] iwi\-aor\-\-\- 132.00m linear 1 0 1 /dev/sdhv(33) - [lv_rimage_3] iwi\-aor\-\-\- 132.00m linear 1 0 /dev/sdhv(1) - [lv_rimage_4] iwi\-aor\-\-\- 132.00m linear 1 0 1 /dev/sdhu(33) - [lv_rimage_4] iwi\-aor\-\-\- 132.00m linear 1 0 /dev/sdhu(1) - [lv_rimage_5] iwi\-aor\-\-\- 132.00m linear 1 0 1 /dev/sdht(33) - [lv_rimage_5] iwi\-aor\-\-\- 132.00m linear 1 0 /dev/sdht(1) - [lv_rmeta_0] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sda(32) - [lv_rmeta_1] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdhx(0) - [lv_rmeta_2] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdhw(0) - [lv_rmeta_3] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdhv(0) - [lv_rmeta_4] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdhu(0) - [lv_rmeta_5] ewi\-aor\-\-\- 4.00m linear 1 0 /dev/sdht(0) + lv rwi-a-r--- 640.00m raid5_n 100.00 5 128.00k 6 lv_rimage_0(0),lv_rimage_1(0),lv_rimage_2(0),lv_rimage_3(0),lv_rimage_4(0),lv_rimage_5(0) + [lv_rimage_0] iwi-aor--- 132.00m linear 1 0 1 /dev/sda(33) + [lv_rimage_0] iwi-aor--- 132.00m linear 1 0 /dev/sda(0) + [lv_rimage_1] iwi-aor--- 132.00m linear 1 0 1 /dev/sdhx(33) + [lv_rimage_1] iwi-aor--- 132.00m linear 1 0 /dev/sdhx(1) + [lv_rimage_2] iwi-aor--- 132.00m linear 1 0 1 /dev/sdhw(33) + [lv_rimage_2] iwi-aor--- 132.00m linear 1 0 /dev/sdhw(1) + [lv_rimage_3] iwi-aor--- 132.00m linear 1 0 1 /dev/sdhv(33) + [lv_rimage_3] iwi-aor--- 132.00m linear 1 0 /dev/sdhv(1) + [lv_rimage_4] iwi-aor--- 132.00m linear 1 0 1 /dev/sdhu(33) + [lv_rimage_4] iwi-aor--- 132.00m linear 1 0 /dev/sdhu(1) + [lv_rimage_5] iwi-aor--- 132.00m linear 1 0 1 /dev/sdht(33) + [lv_rimage_5] iwi-aor--- 132.00m linear 1 0 /dev/sdht(1) + [lv_rmeta_0] ewi-aor--- 4.00m linear 1 0 /dev/sda(32) + [lv_rmeta_1] ewi-aor--- 4.00m linear 1 0 /dev/sdhx(0) + [lv_rmeta_2] ewi-aor--- 4.00m linear 1 0 /dev/sdhw(0) + [lv_rmeta_3] ewi-aor--- 4.00m linear 1 0 /dev/sdhv(0) + [lv_rmeta_4] ewi-aor--- 4.00m linear 1 0 /dev/sdhu(0) + [lv_rmeta_5] ewi-aor--- 4.00m linear 1 0 /dev/sdht(0) .fi Once the conversion has finished we can can convert to striped. .nf -[root@vm46 ~]# lvconvert -y \-\-ty striped vg/lv +[root@vm46 ~]# lvconvert -y --ty striped vg/lv Logical volume vg/lv successfully converted. [root@vm46 ~]# lvs -aoname,attr,size,segtype,syncpercent,datastripes,stripesize,reshapelenle,devices vg|sed 's/ *$//' LV Attr LSize Type Cpy%Sync #DStr Stripe RSize Devices - lv -wi\-a\-\-\-\-\- 640.00m striped 5 128.00k /dev/sda(33),/dev/sdhx(33),/dev/sdhw(33),/dev/sdhv(33),/dev/sdhu(33) - lv -wi\-a\-\-\-\-\- 640.00m striped 5 128.00k /dev/sda(0),/dev/sdhx(1),/dev/sdhw(1),/dev/sdhv(1),/dev/sdhu(1) + lv -wi-a----- 640.00m striped 5 128.00k /dev/sda(33),/dev/sdhx(33),/dev/sdhw(33),/dev/sdhv(33),/dev/sdhu(33) + lv -wi-a----- 640.00m striped 5 128.00k /dev/sda(0),/dev/sdhx(1),/dev/sdhw(1),/dev/sdhv(1),/dev/sdhu(1) .fi Reversing these steps wil convert a given striped LV to linear. Mind the fact that stripes are removed thus the capacity of the RaidLV will shrink. -"lvconvert \-\-stripes 1 vg/lv" for converting to 1 stripe will inform upfront about +"lvconvert --stripes 1 vg/lv" for converting to 1 stripe will inform upfront about the reduced size to allow for resizing the content or growing the RaidLV before -actually converting to 1 stripe. The \fB\-\-force\fP option is needed to +actually converting to 1 stripe. The \fB--force\fP option is needed to allow stripe removing conversions to prevent data loss. Of course any interim step can be the intended last one (e.g. striped -> raid1). @@ -1554,7 +1554,7 @@ raid6_n_6 RAID6 N continue .br \[bu] -Fixed P\-Syndrome N\-1 and Q\-Syndrome N with striped data +Fixed P-Syndrome N-1 and Q-Syndrome N with striped data .br \[bu] Used for RAID Takeover @@ -1565,7 +1565,7 @@ raid6_ls_6 RAID6 N continue .br \[bu] -Same as raid5_ls for N\-1 disks with fixed Q\-Syndrome N +Same as raid5_ls for N-1 disks with fixed Q-Syndrome N .br \[bu] Used for RAID Takeover @@ -1576,7 +1576,7 @@ raid6_la_6 RAID6 N continue .br \[bu] -Same as raid5_la for N\-1 disks with fixed Q\-Syndrome N +Same as raid5_la for N-1 disks with fixed Q-Syndrome N .br \[bu] Used forRAID Takeover @@ -1587,7 +1587,7 @@ raid6_rs_6 RAID6 N continue .br \[bu] -Same as raid5_rs for N\-1 disks with fixed Q\-Syndrome N +Same as raid5_rs for N-1 disks with fixed Q-Syndrome N .br \[bu] Used for RAID Takeover @@ -1598,7 +1598,7 @@ raid6_ra_6 RAID6 N continue .br \[bu] -Same as raid5_ra for N\-1 disks with fixed Q\-Syndrome N +Same as raid5_ra for N-1 disks with fixed Q-Syndrome N .br \[bu] Used for RAID Takeover @@ -1607,7 +1607,7 @@ Used for RAID Takeover .ig .SH RAID Duplication -RAID LV conversion (takeover or reshaping) can be done out\-of\-place by +RAID LV conversion (takeover or reshaping) can be done out-of-place by copying the LV data onto new devices while changing the RAID properties. Copying avoids modifying the original LV but requires additional devices. Once the LV data has been copied/converted onto the new devices, there are @@ -1626,23 +1626,23 @@ LV, leaving the original RAID LV unchanged on its original devices. The command to start duplication is: -.B lvconvert \-\-type +.B lvconvert --type .I RaidLevel -[\fB\-\-stripes\fP \fINumber\fP \fB\-\-stripesize\fP \fISize\fP] +[\fB--stripes\fP \fINumber\fP \fB--stripesize\fP \fISize\fP] .RS -.B \-\-duplicate +.B --duplicate .IR VG / LV [\fIPVs\fP] .RE .HP -.B \-\-duplicate +.B --duplicate .br -Specifies that the LV conversion should be done out\-of\-place, copying +Specifies that the LV conversion should be done out-of-place, copying LV data to new devices while converting. .HP -.BR \-\-type , \-\-stripes , \-\-stripesize +.BR --type , --stripes , --stripesize .br Specifies the RAID properties to use when creating the copy. @@ -1678,16 +1678,16 @@ devices (SubLV 0) or the new devices (SubLV 1). To make the RAID LV use the data on the old devices, and drop the copy on the new devices, specify the name of SubLV 0 (suffix _dup_0): -.B lvconvert \-\-unduplicate -.BI \-\-name +.B lvconvert --unduplicate +.BI --name .IB LV _dup_0 .IR VG / LV To make the RAID LV use the data copy on the new devices, and drop the old devices, specify the name of SubLV 1 (suffix _dup_1): -.B lvconvert \-\-unduplicate -.BI \-\-name +.B lvconvert --unduplicate +.BI --name .IB LV _dup_1 .IR VG / LV @@ -1704,9 +1704,9 @@ TODO .SH History -The 2.6.38-rc1 version of the Linux kernel introduced a device\-mapper +The 2.6.38-rc1 version of the Linux kernel introduced a device-mapper target to interface with the software RAID (MD) personalities. This -provided device\-mapper with RAID 4/5/6 capabilities and a larger +provided device-mapper with RAID 4/5/6 capabilities and a larger development community. Later, support for RAID1, RAID10, and RAID1E (RAID 10 variants) were added. Support for these new kernel RAID targets was added to LVM version 2.02.87. The capabilities of the LVM \fBraid1\fP diff --git a/man/lvmreport.7_main b/man/lvmreport.7_main index e2fa81290..7a264018b 100644 --- a/man/lvmreport.7_main +++ b/man/lvmreport.7_main @@ -12,16 +12,16 @@ options to customize report and filter the report's output. Based on functionality, commands which make use of the reporting infrastructure are divided in two groups: -.IP \fBReport\-oriented commands\fP +.IP \fBReport-oriented commands\fP These commands inform about current LVM state and their primary role is to display this information in compendious way. To make a distinction, we will -name this report as \fBmain report\fP. The set of report\-only commands include: +name this report as \fBmain report\fP. The set of report-only commands include: pvs, vgs, lvs, pvdisplay, vgdisplay, lvdisplay, lvm devtypes, lvm fullreport. For further information about main report, see \fBmain report specifics\fP. -.IP \fBProcessing\-oriented commands\fP +.IP \fBProcessing-oriented commands\fP These commands are responsible for changing LVM state and they do not contain -any main report as identified for report\-oriented commands, they only perform -some kind of processing. The set of processing\-oriented commands includes: +any main report as identified for report-oriented commands, they only perform +some kind of processing. The set of processing-oriented commands includes: pvcreate, vgcreate, lvcreate, pvchange, vgchange, lvchange, pvremove, vgremove, lvremove, pvresize, vgextend, vgreduce, lvextend, lvreduce, lvresize, lvrename, pvscan, vgscan, lvscan, pvmove, vgcfgbackup, vgck, vgconvert, vgexport, @@ -29,9 +29,9 @@ vgimport, vgmknodes. .RE If enabled, so called \fBlog report\fP is either displayed solely -(for processing\-oriented commands) or in addition to main report -(for report\-oriented commands). The log report contains a log of operations, -messages and per\-object status with complete object identification collected +(for processing-oriented commands) or in addition to main report +(for report-oriented commands). The log report contains a log of operations, +messages and per-object status with complete object identification collected during LVM command execution. See \fBlog report specifics\fP for more information about this report type. @@ -108,7 +108,7 @@ report/buffered This document does not describe these settings in more detail - if you need detailed information, including values which are accepted for the settings, -please run \fBlvmconfig \-\-type default \-\-withcomments \fP. There are +please run \fBlvmconfig --type default --withcomments \fP. There are more configuration settings in addition to the common set listed above, but they are specific to either \fBmain report\fP or \fBlog report\fP, see \fBmain report specifics\fP and \fBlog report specifics\fP for @@ -125,25 +125,25 @@ or further specify the report configuration. Definition of the set set of fields to use .RS .IP - 3 -\-\-options|-o FieldSet +--options|-o FieldSet .br Field set to use. See \fBmain report specifics\fP and \fBlog report specifics\fP for information about field sets configured with global configuratin settings that this option overrides. .IP - 3 -\-\-options|-o+ FieldSet +--options|-o+ FieldSet .br Fields to include to current field set. See \fBmain report specifics\fP\ and \fBlog report specifics\fP for information about field sets configured with global configuration settings that this option extends. .IP - 3 -\-\-options|-o\- FieldSet +--options|-o- FieldSet .br Fields to exclude from current field set. See \fBmain report specifics\fP and \fBlog report specifics\fP for information about field sets configured with global configuration settings that this option reduces. .IP - 3 -\-\-options|-o# FieldSet +--options|-o# FieldSet .br Compaction of unused fields. Overrides report/compact_output_cols configuration setting. @@ -153,13 +153,13 @@ setting. Sorting .RS .IP - 3 -\-\-sort|-O+ FieldSet +--sort|-O+ FieldSet .br Fields to sort by in ascending order. See \fBmain report specifics\fP and \fBlog report specifics\fP for information about field sets configured with global configuration settings that this option overrides. .IP - 3 -\-\-sort|-O\- FieldSet +--sort|-O- FieldSet .br Fields to sort by in descending order. See \fBmain report specifics\fP and \fBlog report specifics\fP for information about fields sets configured with @@ -170,7 +170,7 @@ global configuration settings that this options overrides. Selection .RS .IP - 3 -\-\-select|-S Selection +--select|-S Selection .br Define selection criteria for report output. For \fBlog report\fP, this also overrides log/command_log_selection configuration setting, see also @@ -181,43 +181,43 @@ overrides log/command_log_selection configuration setting, see also Changing output format and composition .RS .IP - 3 -\-\-reportformat +--reportformat .br Overrides report/output_format configuration setting. .IP - 3 -\-\-aligned +--aligned .br Overrides report/aligned configuration setting. .IP - 3 -\-\-binary +--binary .br Overrides report/binary_values_as_numeric configuration setting. .IP - 3 -\-\-nameprefixes +--nameprefixes .br Overrides report/prefixes configuration setting. .IP - 3 -\-\-noheadings +--noheadings .br Overrides report/noheadings configuration setting. .IP - 3 -\-\-nosuffix +--nosuffix .br Overrides global/suffix configuration setting. .IP - 3 -\-\-rows +--rows .br Overrides report/columns_as_rows configuration setting. .IP - 3 -\-\-separator +--separator .br Overrides report/separator configuration setting. .IP - 3 -\-\-units +--units .br Overrides global/units configuration setting. .IP - 3 -\-\-unquoted +--unquoted .br Overrides report/quoted configuration setting. .RE @@ -226,19 +226,19 @@ Overrides report/quoted configuration setting. Special options .RS .IP - 3 -\-\-configreport \fBReportName\fP +--configreport \fBReportName\fP .br -This defines the \fBReportName\fP for which any subsequent -o|\-\-columns, --O|\-\-sort or -S|\-\-select applies to. See also \fBmain report specifics\fP +This defines the \fBReportName\fP for which any subsequent -o|--columns, +-O|--sort or -S|--select applies to. See also \fBmain report specifics\fP and \fBlog report specifics\fP for possible \fBReportName\fP values. .IP - 3 -\-\-logonly +--logonly .br When an LVM command contains both \fBmain report\fP and \fBlog report\fP, this option suppresses the \fBmain report\fP output and it causes the \fBlog report\fP output to be displayed only. .IP - 3 -\-\-unbuffered +--unbuffered .br Overrides report/bufffered configuration setting. .RE @@ -249,7 +249,7 @@ Overrides report/bufffered configuration setting. The \fBFieldSet\fP mentioned in the lists above is a set of field names where each field name is delimited by "," character. Field set definition, sorting -and selection may be repeated on command line (-o+/-o\- includes/excludes fields +and selection may be repeated on command line (-o+/-o- includes/excludes fields to/from current list, for all the other repeatable options, the last value typed for the option on the command line is used). The \fBSelection\fP is a string with \fBselection criteria\fP, see also \fBSelection\fP paragraph @@ -276,7 +276,7 @@ report/pvs_sort .RE .IP \[bu] 3 -\fBpvseg\fP representing report about Physical Volume Segments (\fBpvs \-\-segments\fP) +\fBpvseg\fP representing report about Physical Volume Segments (\fBpvs --segments\fP) .RS .IP - 3 report/pvseg_cols @@ -303,7 +303,7 @@ report/lvs_sort .RE .IP \[bu] 3 -\fBseg\fP representing report about Logical Volume Segments (\fBlvs \-\-segments\fP) +\fBseg\fP representing report about Logical Volume Segments (\fBlvs --segments\fP) .RS .IP - 3 report/segs_cols @@ -355,10 +355,10 @@ groups are combined together. Some of these combinations are not allowed in which case LVM will issue an error. For all main report subtypes except \fBfull\fP, it's not necessary to use -\fB\-\-configreport ReportName\fP to denote which report any subsequent -\fB\-o, -O or -S\fP option applies to as they always apply to the single main +\fB--configreport ReportName\fP to denote which report any subsequent +\fB-o, -O or -S\fP option applies to as they always apply to the single main report type. Currently, \fBlvm fullreport\fP is the only command that -includes more than one \fBmain report\fP subtype. Therefore, the \-\-configreport +includes more than one \fBmain report\fP subtype. Therefore, the --configreport is particularly suitable for the full report if you need to configure each of its subreports in a different way. @@ -387,20 +387,20 @@ log/command_log_selection .RE -You always need to use \fB\-\-configreport log\fP together with \fB\-o|\-\-options, --O|\-\-sort or -S|\-\-selection\fP to override configuration settings directly on +You always need to use \fB--configreport log\fP together with \fB-o|--options, +-O|--sort or -S|--selection\fP to override configuration settings directly on command line for \fBlog report\fP. When compared to \fBmain report\fP, in addition to usual configuration settings for report fields and sorting, the \fBlog report\fP has also configuration option for selection - \fBreport/command_log_selection\fP. This configuration setting is provided for -convenience so it's not necessary to use \fB\-S|\-\-select\fP on command line +convenience so it's not necessary to use \fB-S|--select\fP on command line each time an LVM command is executed and we need the same selection criteria to be applied for \fBlog report\fP. Default selection criteria used for \fBlog report\fP are \fBlog/command_log_selection="!(log_type=status && message=success)"\fP. This means that, by default, \fBlog report\fP doesn't display status messages about successful operation and it displays only rows with error, warning, -print\-type messages and messages about failure states (for more information, +print-type messages and messages about failure states (for more information, see \fBlog report content\fP below). .B Log report coverage @@ -411,7 +411,7 @@ entities are iterated and processed one by one. It does not cover any command initialization nor command finalization stage. If there is any message issued out of log report's coverage range, such message goes directly to output, bypassing the \fBlog report\fP. By default, that is \fBstandard error output\fP -for error and warning messages and \fBstandard output\fP for common print\-like +for error and warning messages and \fBstandard output\fP for common print-like messages. When running LVM commands in \fBLVM shell\fP, the log report covers the whole @@ -430,7 +430,7 @@ For these reasons and for completeness, it's not possible to rely fully on \fBlog report\fP as the only indicator of LVM command's status and the only place where all messages issued during LVM command execution are collected. You always need to check whether the command has not failed out of log -report's range by checking the non\-report output too. +report's range by checking the non-report output too. To help with this, LVM can separate output which you can then redirect to any \fBcustom file descriptor\fP that you prepare before running an LVM @@ -441,7 +441,7 @@ descriptor numbers. See also \fBLVM_OUT_FD\fP, \fBLVM_ERR_FD\fP and man page. Also note that, by default, reports use the same file descriptor as -common print\-like messages, which is \fBstandard output\fP. If you plan to +common print-like messages, which is \fBstandard output\fP. If you plan to use \fBlog report\fP in your scripts or any external tool, you should use \fBLVM_OUT_FD\fP, \fBLVM_ERR_FD\fP and \fBLVM_REPORT_FD\fP to separate all output types to different file descriptors. For example, with bash, that @@ -572,13 +572,13 @@ Rreturn code associated with current item. .RE -You can also run \fB \-\-configreport log -o help\fP to +You can also run \fB --configreport log -o help\fP to to display complete list of fields that you may use for the \fBlog report\fP. .SH Selection Selection is used for a report to display only rows that match \fBselection criteria\fP. All rows are displayed with the additional -\fBselected\fP field (\fB\-o selected\fP) displaying 1 if the row matches the +\fBselected\fP field (\fB-o selected\fP) displaying 1 if the row matches the \fISelection\fP and 0 otherwise. The \fBselection criteria\fP are a set of \fBstatements\fP combined by \fBlogical and grouping operators\fP. The \fBstatement\fP consists of a \fBfield\fP name for which a set of valid @@ -668,7 +668,7 @@ criteria) \fBnumber\fP for integer value .IP \[bu] 3 \fBsize\fP for integer or floating point number with size unit suffix -(see also \fBlvcreate\fP(8) man page and description for "-L|\-\-size" +(see also \fBlvcreate\fP(8) man page and description for "-L|--size" option for the list of recognized suffixes) .IP \[bu] 3 \fBpercent\fP for floating point number with or without "%" suffix @@ -708,9 +708,9 @@ demonstrating time expressions in selection criteria, see \fBEXAMPLES\fP section date .RS .IP -YYYY\-MM\-DD +YYYY-MM-DD .IP -YYYY\-MM, auto DD=1 +YYYY-MM, auto DD=1 .IP YYYY, auto MM=01 and DD=01 .RE @@ -735,7 +735,7 @@ timezone +hh or -hh .RE -The full date/time specification is YYYY\-MM\-DD hh:mm:ss. Users are able +The full date/time specification is YYYY-MM-DD hh:mm:ss. Users are able to leave date/time parts from right to left. Whenever these parts are left out, a range is assumed automatically with second granularity. For example: @@ -795,12 +795,12 @@ month names ("January" - "December" or abbreviated as "Jan" - "Dec") .IP .BR VALUE " = " [VALUE " log_op " VALUE] .br -For list\-based types: string list. Matches strictly. +For list-based types: string list. Matches strictly. The log_op must always be of one type within the whole list value. .IP .BR VALUE " = " {VALUE " log_op " VALUE} .br -For list\-based types: string list. Matches a subset. +For list-based types: string list. Matches a subset. The log_op must always be of one type within the whole list value. .IP .BR VALUE " = " value @@ -818,7 +818,7 @@ including all configuration related to reporting. We will use it throughout examples below to display current configuration. .nf -# lvmconfig \-\-type full global/units global/suffix \\ +# lvmconfig --type full global/units global/suffix \\ report/output_format report/compact_output \\ report/compact_output_cols report/aligned \\ report/headings report/separator \\ @@ -840,7 +840,7 @@ prefixes=0 quoted=1 columns_as_rows=0 binary_values_as_numeric=0 -time_format="%Y\-%m\-%d %T %z" +time_format="%Y-%m-%d %T %z" mark_hidden_devices=1 two_word_unknown_device=0 buffered=1 @@ -854,7 +854,7 @@ type is configured with configuration settings as we already mentioned in \fBmain report specifics\fP section in this man page. .nf -# lvmconfig \-\-type full report/pvs_cols report/pvs_sort \\ +# lvmconfig --type full report/pvs_cols report/pvs_sort \\ report/pvsegs_cols report/pvsegs_sort report/vgs_cols \\ report/vgs_sort report/lvs_cols report/lvs_sort \\ report/segs_cols report/segs_sort @@ -875,32 +875,32 @@ segs_sort="vg_name,lv_name,seg_start" .nf # pvs PV VG Fmt Attr PSize PFree - /dev/sda vg lvm2 a\-\- 100.00m 88.00m - /dev/sdb vg lvm2 a\-\- 100.00m 92.00m + /dev/sda vg lvm2 a-- 100.00m 88.00m + /dev/sdb vg lvm2 a-- 100.00m 92.00m -# pvs \-\-segments +# pvs --segments PV VG Fmt Attr PSize PFree Start SSize - /dev/sda vg lvm2 a\-\- 100.00m 88.00m 0 1 - /dev/sda vg lvm2 a\-\- 100.00m 88.00m 1 1 - /dev/sda vg lvm2 a\-\- 100.00m 88.00m 2 1 - /dev/sda vg lvm2 a\-\- 100.00m 88.00m 3 22 - /dev/sdb vg lvm2 a\-\- 100.00m 92.00m 0 1 - /dev/sdb vg lvm2 a\-\- 100.00m 92.00m 1 1 - /dev/sdb vg lvm2 a\-\- 100.00m 92.00m 2 23 + /dev/sda vg lvm2 a-- 100.00m 88.00m 0 1 + /dev/sda vg lvm2 a-- 100.00m 88.00m 1 1 + /dev/sda vg lvm2 a-- 100.00m 88.00m 2 1 + /dev/sda vg lvm2 a-- 100.00m 88.00m 3 22 + /dev/sdb vg lvm2 a-- 100.00m 92.00m 0 1 + /dev/sdb vg lvm2 a-- 100.00m 92.00m 1 1 + /dev/sdb vg lvm2 a-- 100.00m 92.00m 2 23 # vgs VG #PV #LV #SN Attr VSize VFree - vg 2 2 0 wz\-\-n\- 200.00m 180.00m + vg 2 2 0 wz--n- 200.00m 180.00m # lvs LV VG Attr LSize Pool Origin Move Log Cpy%Sync Convert - lvol0 vg -wi\-a\-\-\-\-\- 4.00m - lvol1 vg rwi\-a\-r\-\-\- 4.00m 100.00 + lvol0 vg -wi-a----- 4.00m + lvol1 vg rwi-a-r--- 4.00m 100.00 -# lvs \-\-segments +# lvs --segments LV VG Attr #Str Type SSize - lvol0 vg -wi\-a\-\-\-\-\- 1 linear 4.00m - lvol1 vg rwi\-a\-r\-\-\- 2 raid1 4.00m + lvol0 vg -wi-a----- 1 linear 4.00m + lvol1 vg rwi-a-r--- 2 raid1 4.00m .fi We will use \fBreport/lvs_cols\fP and \fBreport/lvs_sort\fP configuration @@ -911,7 +911,7 @@ Also note that in the example below, we don't display the "lv_time" field even though we're using it for sorting - this is allowed. .nf -# lvmconfig \-\-type full report/lvs_cols report/lvs_sort +# lvmconfig --type full report/lvs_cols report/lvs_sort lvs_cols="lv_name,lv_size,origin,pool_lv,copy_percent" lvs_sort="-lv_time" @@ -921,7 +921,7 @@ lvs_sort="-lv_time" lvol0 4.00m .fi -You can use \fB\-o|\-\-options\fP command line option to override current +You can use \fB-o|--options\fP command line option to override current configuration directly on command line. .nf @@ -935,12 +935,12 @@ configuration directly on command line. lvol1 4.00m 100.00 raid,raid1 lvol0 4.00m linear -# lvs -o\-origin +# lvs -o-origin LV LSize Pool Cpy%Sync lvol1 4.00m 100.00 lvol0 4.00m -# lvs -o lv_name,lv_size,origin -o+lv_layout -o\-origin -O lv_name +# lvs -o lv_name,lv_size,origin -o+lv_layout -o-origin -O lv_name LV LSize Layout lvol0 4.00m linear lvol1 4.00m raid,raid1 @@ -956,7 +956,7 @@ This way, it's possible to configure different sets of fields to display and to sort by for individual reports as well as the full report. .nf -# lvmconfig \-\-type full report/pvs_cols_full \\ +# lvmconfig --type full report/pvs_cols_full \\ report/pvs_sort_full report/pvsegs_cols_full \\ report/pvsegs_sort_full report/vgs_cols_full \\ report/vgs_sort_full report/lvs_cols_full \\ @@ -1007,7 +1007,7 @@ output. To enable this feature and to compact all fields, use \fBreport/compact_output=1\fP in your configuration. .nf -# lvmconfig \-\-type full report/compact_output +# lvmconfig --type full report/compact_output compact_output=1 # lvs @@ -1021,11 +1021,11 @@ compact_output=1 .fi Alternatively, you can define which fields should be compacted by configuring -\fBreport/compact_output_cols\fP configuration setting (or \fB\-o|\-\-options #\fP +\fBreport/compact_output_cols\fP configuration setting (or \fB-o|--options #\fP command line option). .nf -# lvmconfig \-\-type full report/compact_output report/compact_output_cols +# lvmconfig --type full report/compact_output report/compact_output_cols compact_output=0 compact_output_cols="origin" @@ -1048,85 +1048,85 @@ We will use \fBreport/compact_output=1\fP for subsequent examples. .SS Further formatting options -By default, LVM displays sizes in reports in human\-readable form which means +By default, LVM displays sizes in reports in human-readable form which means that the most suitable unit is used so it's easy to read. You can use -\fBreport/units\fP configuration setting (or \fB\-\-units\fP option directly +\fBreport/units\fP configuration setting (or \fB--units\fP option directly on command line) and \fBreport/suffix\fP -configuration setting (or \fB\-\-nosuffix\fP command line option) to change this. +configuration setting (or \fB--nosuffix\fP command line option) to change this. .nf -# lvs \-\-units b \-\-nosuffix +# lvs --units b --nosuffix LV LSize Cpy%Sync lvol1 4194304 100.00 lvol0 4194304 .fi If you want to configure whether report headings are displayed or not, use -\fBreport/headings\fP configuration settings (or \fB\-\-noheadings\fP command +\fBreport/headings\fP configuration settings (or \fB--noheadings\fP command line option). .nf -# lvs \-\-noheadings +# lvs --noheadings lvol1 4.00m 100.00 lvol0 4.00m .fi In some cases, it may be useful to display report content as key=value pairs where key here is actually the field name. Use \fBreport/prefixes\fP -configuration setting (or \fB\-\-nameprefixes\fP command line option) to switch +configuration setting (or \fB--nameprefixes\fP command line option) to switch between standard output and the key=value output. The key=value pair is the output that is suitable for use in scripts and for other tools to parse easily. Usually, you also don't want to display headings with the output that has these key=value pairs. .nf -# lvs \-\-noheadings \-\-nameprefixes +# lvs --noheadings --nameprefixes LVM2_LV_NAME='lvol1' LVM2_LV_SIZE='4.00m' LVM2_COPY_PERCENT='100.00' LVM2_LV_NAME='lvol0' LVM2_LV_SIZE='4.00m' LVM2_COPY_PERCENT='' .fi To define whether quotation marks in key=value pairs should be used or not, -use \fBreport/quoted\fP configuration setting (or \fB\-\-unquoted\fP command +use \fBreport/quoted\fP configuration setting (or \fB--unquoted\fP command line option). .nf -# lvs \-\-noheadings \-\-nameprefixes \-\-unquoted +# lvs --noheadings --nameprefixes --unquoted LVM2_LV_NAME=lvol1 LVM2_LV_SIZE=4.00m LVM2_COPY_PERCENT=100.00 LVM2_LV_NAME=lvol0 LVM2_LV_SIZE=4.00m LVM2_COPY_PERCENT= .fi For easier parsing, you can even transpose the report so each column now becomes a row in the output. This is done with \fBreport/output_as_rows\fP -configuration setting (or \fB\-\-rows\fP command line option). +configuration setting (or \fB--rows\fP command line option). .nf -# lvs \-\-noheadings \-\-nameprefixes \-\-unquoted \-\-rows +# lvs --noheadings --nameprefixes --unquoted --rows LVM2_LV_NAME=lvol1 LVM2_LV_NAME=lvol0 LVM2_LV_SIZE=4.00m LVM2_LV_SIZE=4.00m LVM2_COPY_PERCENT=100.00 LVM2_COPY_PERCENT= .fi -Use \fBreport/separator\fP configuration setting (or \fB\-\-separator\fP command +Use \fBreport/separator\fP configuration setting (or \fB--separator\fP command line option) to define your own field separator to use. .nf -# lvs \-\-noheadings \-\-nameprefixes \-\-unquoted \-\-separator " | " +# lvs --noheadings --nameprefixes --unquoted --separator " | " LVM2_LV_NAME=lvol1 | LVM2_LV_SIZE=4.00m | LVM2_COPY_PERCENT=100.00 LVM2_LV_NAME=lvol0 | LVM2_LV_SIZE=4.00m | LVM2_COPY_PERCENT= .fi If you are using your own separator, the columns in the output are not aligned -by default. Use \fBreport/aligned\fP configuration setting (or \fB\-\-aligned\fP +by default. Use \fBreport/aligned\fP configuration setting (or \fB--aligned\fP command line option) for LVM to add extra spaces in report to align the output properly. .nf -# lvs \-\-separator " | " +# lvs --separator " | " LV | LSize | Cpy%Sync lvol1 | 4.00m | 100.00 lvol0 | 4.00m | -# lvs \-\-separator " | " \-\-aligned +# lvs --separator " | " --aligned LV | LSize | Cpy%Sync lvol1 | 4.00m | 100.00 lvol0 | 4.00m | @@ -1148,7 +1148,7 @@ separator, use \fBreport/list_item_separator\fP configuration setting its definition. .nf -# lvmconfig \-\-type full report/list_item_separator +# lvmconfig --type full report/list_item_separator list_item_separator=";" # lvs -o+tags @@ -1165,8 +1165,8 @@ Format for any of time values displayed in reports can be configured with and time is displayed, including timezone. .nf -# lvmconfig \-\-type full report/time_format -time_format="%Y\-%m\-%d %T %z" +# lvmconfig --type full report/time_format +time_format="%Y-%m-%d %T %z" # lvs -o+time LV LSize Cpy%Sync CTime @@ -1176,22 +1176,22 @@ time_format="%Y\-%m\-%d %T %z" We can change time format in similar way as we do when using \fBdate\fP(1) command or \fBstrftime\fP(3) function -(\fBlvmconfig \-\-type default \-\-withcomments report/time_format\fP will +(\fBlvmconfig --type default --withcomments report/time_format\fP will give you complete list of available formatting options). In the example below, we decided to use %s for number of seconds since Epoch (1970-01-01 UTC). .nf -# lvmconfig \-\-type full report/time_format +# lvmconfig --type full report/time_format time_format="%s" # lvs LV Attr LSize Cpy%Sync LV Tags CTime - lvol1 rwi\-a\-r\-\-\- 4.00m 100.00 1472468016 - lvol0 -wi\-a\-\-\-\-\- 4.00m tagA,tagB 1472458517 + lvol1 rwi-a-r--- 4.00m 100.00 1472468016 + lvol0 -wi-a----- 4.00m tagA,tagB 1472458517 .fi The \fBlvs\fP does not display hidden LVs by default - to include these LVs -in the output, you need to use \fB\-a|\-\-all\fP command line option. Names for +in the output, you need to use \fB-a|--all\fP command line option. Names for these hidden LVs are displayed within square brackets. .nf @@ -1209,7 +1209,7 @@ You can configure LVM to display the square brackets for hidden LVs or not with \fBreport/mark_hidden_devices\fP configuration setting. .nf -# lvmconfig \-\-type full report/mark_hidden_devices +# lvmconfig --type full report/mark_hidden_devices mark_hidden_devices=0 # lvs -a @@ -1254,7 +1254,7 @@ We can change the way how these binary values are displayed with \fBreport/binary_values_as_numeric\fP configuration setting. .nf -# lvmconfig \-\-type full report/binary_values_as_numeric +# lvmconfig --type full report/binary_values_as_numeric binary_values_as_numeric=1 # lvs -o+lv_active_locally @@ -1266,12 +1266,12 @@ binary_values_as_numeric=1 .SS Changing output format LVM can output reports in different formats - use \fBreport/output_format\fP -configuration setting (or \fB\-\-reportformat\fP command line option) to swith +configuration setting (or \fB--reportformat\fP command line option) to swith the report output format. Currently, LVM supports \fB"basic"\fP (all the examples we used above used this format) and \fB"JSON"\fP output format. .nf -# lvs -o lv_name,lv_size \-\-reportformat json +# lvs -o lv_name,lv_size --reportformat json { "report": [ { @@ -1286,9 +1286,9 @@ we used above used this format) and \fB"JSON"\fP output format. Note that some configuration settings and command line options have no effect with certain report formats. For example, with \fBJSON\fP output, -it doesn't have any meaning to use \fBreport/aligned\fP (\fB\-\-aligned\fP), -\fBreport/noheadings\fP (\fB\-\-noheadings\fP), \fBreport/columns_as_rows\fP -(\fB\-\-rows\fP) or \fBreport/buffered\fP (\fB\-\-unbuffered\fP). All these +it doesn't have any meaning to use \fBreport/aligned\fP (\fB--aligned\fP), +\fBreport/noheadings\fP (\fB--noheadings\fP), \fBreport/columns_as_rows\fP +(\fB--rows\fP) or \fBreport/buffered\fP (\fB--unbuffered\fP). All these configuration settings and command line options are ignored if using the \fBJSON\fP report output format. @@ -1315,7 +1315,7 @@ look at the bottom of the help output, you can see section about # lvs -S help ... Selection operators -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +------------------- Comparison operators: =~ - Matching regular expression. [regex] !~ - Not matching regular expression. [regex] @@ -1384,16 +1384,16 @@ together. lvol2 8.00m .fi -You can also use selection together with processing\-oriented commands. +You can also use selection together with processing-oriented commands. .nf -# lvchange \-\-addtag test -S 'size < 5000k' +# lvchange --addtag test -S 'size < 5000k' Logical volume vg/lvol1 changed. Logical volume vg/lvol0 changed. Logical volume vg/lvol3 changed. Logical volume vg/lvol4 changed. -# lvchange \-\-deltag test -S 'tags = test' +# lvchange --deltag test -S 'tags = test' Logical volume vg/lvol1 changed. Logical volume vg/lvol0 changed. Logical volume vg/lvol3 changed. @@ -1534,7 +1534,7 @@ Time operators have synonyms: ">=" for since, "<=" for until, Example below demonstrates using absolute time expression. .nf -# lvs -o name,time \-\-config report/time_format="%s" +# lvs -o name,time --config report/time_format="%s" LV CTime lvol4 1473433064 lvol3 1473433008 @@ -1593,15 +1593,15 @@ Examples below demonstrates using freeform time expressions. .SS Command log reporting As described in \fBcategorization based on reporting facility\fP section -at the beginning of this document, both \fBreport\-oriented\fP and -\fBprocessing\-oriented\fP LVM commands can report the command log if +at the beginning of this document, both \fBreport-oriented\fP and +\fBprocessing-oriented\fP LVM commands can report the command log if this is enabled with \fBlog/report_command_log\fP configuration setting. Just like any other report, we can set the set of fields to display (\fBlog/command_log_cols\fP) and to sort by (\fBlog/command_log_sort\fP) for this report. .nf -# lvmconfig \-\-type full log/report_command_log log/command_log_cols \\ +# lvmconfig --type full log/report_command_log log/command_log_cols \\ log/command_log_sort log/command_log_selection report_command_log=1 command_log_cols="log_seq_num,log_type,log_context,log_object_type, @@ -1631,7 +1631,7 @@ log report in the example below where we can see that both LVs lvol0 and lvol1 were successfully processed as well as the VG vg they are part of. .nf -# lvmconfig \-\-type full log/command_log_selection +# lvmconfig --type full log/command_log_selection command_log_selection="all" # lvs @@ -1659,11 +1659,11 @@ command_log_selection="all" .SS Handling multiple reports per single command To configure the log report directly on command line, we need to use -\fB\-\-configreport\fP option before we start any \fB\-o|\-\-options\fP, -\fB\-O|\-\-sort\fP or \fB\-S|\-\-select\fP that is targeted for log report. +\fB--configreport\fP option before we start any \fB-o|--options\fP, +\fB-O|--sort\fP or \fB-S|--select\fP that is targeted for log report. .nf -# lvs -o lv_name,lv_size \-\-configreport log -o log_object_type, \\ +# lvs -o lv_name,lv_size --configreport log -o log_object_type, \\ log_object_name,log_message,log_ret_code Logical Volume ============== @@ -1680,7 +1680,7 @@ To configure the log report directly on command line, we need to use .fi The \fBlvm fullreport\fP, with or without log report, consists of several -reports - the \fB\-\-configreport\fP is also used to target particular +reports - the \fB--configreport\fP is also used to target particular subreport here. Below is an extended example with \fBlvm fullreport\fP to illustrate @@ -1693,12 +1693,12 @@ having "sda" in its name. Also, for the log subreport we define ordering to be based on "log_object_type" field. .nf -# lvm fullreport \-\-reportformat json \\ - \-\-configreport vg -o vg_name,vg_size \\ - \-\-configreport pvseg -o pv_name,pvseg_start \\ +# lvm fullreport --reportformat json \\ + --configreport vg -o vg_name,vg_size \\ + --configreport pvseg -o pv_name,pvseg_start \\ -S 'pv_name=~sda' \\ - \-\-configreport seg -o lv_name,seg_start \\ - \-\-configreport log -o log_object_type,log_object_name \\ + --configreport seg -o lv_name,seg_start \\ + --configreport log -o log_object_type,log_object_name \\ -O log_object_type \\ -S 'log_object_name=lvol0 || \\ log_object_name=~sda' diff --git a/man/lvmsadc.8_main b/man/lvmsadc.8_main index 43d24af47..c2781b8cb 100644 --- a/man/lvmsadc.8_main +++ b/man/lvmsadc.8_main @@ -4,7 +4,7 @@ lvmsadc \(em LVM system activity data collector .SH "SYNOPSIS" .B lvmsadc .SH "DESCRIPTION" -lvmsadc is not supported under LVM2. The device\-mapper statistics +lvmsadc is not supported under LVM2. The device-mapper statistics facility provides similar performance metrics using the \fBdmstats(8)\fP command. .SH "SEE ALSO" diff --git a/man/lvmsar.8_main b/man/lvmsar.8_main index 765d8e73d..0bbcbf37d 100644 --- a/man/lvmsar.8_main +++ b/man/lvmsar.8_main @@ -4,7 +4,7 @@ lvmsar \(em LVM system activity reporter .SH "SYNOPSIS" .B lvmsar .SH "DESCRIPTION" -lvmsar is not supported under LVM2. The device\-mapper statistics +lvmsar is not supported under LVM2. The device-mapper statistics facility provides similar performance metrics using the \fBdmstats(8)\fP command. .SH "SEE ALSO" diff --git a/man/lvmsystemid.7_main b/man/lvmsystemid.7_main index e773ebfe5..3aea9967a 100644 --- a/man/lvmsystemid.7_main +++ b/man/lvmsystemid.7_main @@ -15,12 +15,12 @@ from accidental use by other hosts. The system_id is not a dynamic property, and can only be changed in very limited circumstances (see vgexport and vgimport). Even limited changes to the VG system_id are not perfectly reflected across hosts. A more -coherent view of shared storage requires using an inter\-host locking +coherent view of shared storage requires using an inter-host locking system to coordinate access and update caches. The system_id is a string uniquely identifying a host. It can be manually set to a custom value or it can be assigned automatically by lvm using a -unique identifier already available on the host, e.g. machine\-id or uname. +unique identifier already available on the host, e.g. machine-id or uname. In vgcreate, the local system_id is saved in the new VG metadata. The local host owns the new VG, and other hosts cannot use it. @@ -53,7 +53,7 @@ command 'vgs -o+systemid' A VG will not have a system_id if it was created before this feature was added to lvm, or if it was created by a host that did not have a system_id defined. A system_id can be assigned to these VGs by using vgchange -\-\-systemid (see below). +--systemid (see below). .IP \[bu] 2 Two hosts should not be assigned the same system_id. Doing so defeats @@ -72,7 +72,7 @@ A host using an old version of lvm without the system_id feature will not recognize a new system_id in VGs from other hosts. Even though the old version of lvm is not blocked from reading a VG with a system_id, it is blocked from writing to the VG (or its LVs). The new system_id changes -the write mode of a VG, making it appear read\-only to previous lvm +the write mode of a VG, making it appear read-only to previous lvm versions. This also means that if a host downgrades its version of lvm, it would @@ -144,12 +144,12 @@ global { .B machineid .br -The content of /etc/machine\-id is used as the system_id if available. +The content of /etc/machine-id is used as the system_id if available. See -.BR machine\-id (5) +.BR machine-id (5) and -.BR systemd\-machine\-id\-setup (1) -to check if machine\-id is available on the host. +.BR systemd-machine-id-setup (1) +to check if machine-id is available on the host. .I lvm.conf .nf @@ -239,7 +239,7 @@ local { In vgcreate, the host running the command assigns its own system_id to the new VG. To override this and set another system_id: -.B vgcreate \-\-systemid +.B vgcreate --systemid .I SystemID VG Devices Overriding the system_id makes it possible for a host to create a VG that @@ -247,7 +247,7 @@ it may not be able to use. Another host with a system_id matching the one specified may not recognize the new VG without manually rescanning devices. -If the \-\-systemid argument is an empty string (""), the VG is created with +If the --systemid argument is an empty string (""), the VG is created with no system_id, making it accessible to other hosts (see warnings above.) .SS report/display @@ -255,11 +255,11 @@ no system_id, making it accessible to other hosts (see warnings above.) The system_id of a VG is displayed with the "systemid" reporting option. Report/display commands ignore foreign VGs by default. To report foreign -VGs, the \-\-foreign option can be used. This causes the VGs to be read +VGs, the --foreign option can be used. This causes the VGs to be read from disk. Because lvmetad caching is not used, this option can cause poor performance. -.B vgs \-\-foreign -o+systemid +.B vgs --foreign -o+systemid When a host with no system_id sees foreign VGs, it warns about them as they are skipped. The host should be assigned a system_id, after which @@ -271,7 +271,7 @@ vgexport clears the system_id. Other hosts will continue to see a newly exported VG as foreign because of local caching (when lvmetad is used). Manually updating the local lvmetad -cache with pvscan \-\-cache will allow a host to recognize the newly +cache with pvscan --cache will allow a host to recognize the newly exported VG. vgimport sets the VG system_id to the local system_id as determined by @@ -280,7 +280,7 @@ newly exported VGs. After vgimport, the exporting host will continue to see the VG as exported, and not owned by the new host. Manually updating the local -cache with pvscan \-\-cache will allow a host to recognize the newly +cache with pvscan --cache will allow a host to recognize the newly imported VG as foreign. .SS vgchange @@ -288,7 +288,7 @@ imported VG as foreign. A host can change the system_id of its own VGs, but the command requires confirmation because the host may lose access to the VG being changed: -.B vgchange \-\-systemid +.B vgchange --systemid .I SystemID VG The system_id can be removed from a VG by specifying an empty string ("") @@ -340,7 +340,7 @@ orphan. Nothing would automatically prevent the other hosts from using the newly allocated PV and corrupting it. If the other hosts run a command to rescan devices, and update lvmetad, they would then recognize that the PV has been used by another host. A command that rescans devices -could be pvscan \-\-cache, or vgs \-\-foreign. +could be pvscan --cache, or vgs --foreign. .SH SEE ALSO .BR vgcreate (8), @@ -348,7 +348,7 @@ could be pvscan \-\-cache, or vgs \-\-foreign. .BR vgimport (8), .BR vgexport (8), .BR lvm.conf (5), -.BR machine\-id (5), +.BR machine-id (5), .BR uname (2), .BR vgs (8) diff --git a/man/lvmthin.7_main b/man/lvmthin.7_main index cefe9436b..a6c812357 100644 --- a/man/lvmthin.7_main +++ b/man/lvmthin.7_main @@ -99,26 +99,26 @@ The primary method for using lvm thin provisioning: Create an LV that will hold thin pool data. -.B lvcreate \-n ThinDataLV \-L LargeSize VG +.B lvcreate -n ThinDataLV -L LargeSize VG .I Example .br -# lvcreate \-n pool0 \-L 10G vg +# lvcreate -n pool0 -L 10G vg .SS 2. create ThinMetaLV Create an LV that will hold thin pool metadata. -.B lvcreate \-n ThinMetaLV \-L SmallSize VG +.B lvcreate -n ThinMetaLV -L SmallSize VG .I Example .br -# lvcreate \-n pool0meta \-L 1G vg +# lvcreate -n pool0meta -L 1G vg # lvs LV VG Attr LSize - pool0 vg -wi\-a\-\-\-\-\- 10.00g - pool0meta vg -wi\-a\-\-\-\-\- 1.00g + pool0 vg -wi-a----- 10.00g + pool0meta vg -wi-a----- 1.00g .SS 3. create ThinPoolLV @@ -129,21 +129,21 @@ ThinMetaLV is renamed to hidden ThinPoolLV_tmeta. The new ThinPoolLV takes the previous name of ThinDataLV. .fi -.B lvconvert \-\-type thin\-pool \-\-poolmetadata VG/ThinMetaLV VG/ThinDataLV +.B lvconvert --type thin-pool --poolmetadata VG/ThinMetaLV VG/ThinDataLV .I Example .br -# lvconvert \-\-type thin\-pool \-\-poolmetadata vg/pool0meta vg/pool0 +# lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0 # lvs vg/pool0 LV VG Attr LSize Pool Origin Data% Meta% - pool0 vg twi\-a\-tz\-\- 10.00g 0.00 0.00 + pool0 vg twi-a-tz-- 10.00g 0.00 0.00 -# lvs \-a +# lvs -a LV VG Attr LSize - pool0 vg twi\-a\-tz\-\- 10.00g - [pool0_tdata] vg Twi\-ao\-\-\-\- 10.00g - [pool0_tmeta] vg ewi\-ao\-\-\-\- 1.00g + pool0 vg twi-a-tz-- 10.00g + [pool0_tdata] vg Twi-ao---- 10.00g + [pool0_tmeta] vg ewi-ao---- 1.00g .SS 4. create ThinLV @@ -152,81 +152,81 @@ Create a new thin LV from the thin pool LV. The thin LV is created with a virtual size. Multiple new thin LVs may be created in the thin pool. Thin LV names must be unique in the VG. -The '\-\-type thin' option is inferred from the virtual size option. -The \-\-thinpool argument specifies which thin pool will +The '--type thin' option is inferred from the virtual size option. +The --thinpool argument specifies which thin pool will contain the ThinLV. .fi -.B lvcreate \-n ThinLV \-V VirtualSize \-\-thinpool ThinPoolLV VG +.B lvcreate -n ThinLV -V VirtualSize --thinpool ThinPoolLV VG .I Example .br Create a thin LV in a thin pool: .br -# lvcreate \-n thin1 \-V 1T \-\-thinpool pool0 vg +# lvcreate -n thin1 -V 1T --thinpool pool0 vg Create another thin LV in the same thin pool: .br -# lvcreate \-n thin2 \-V 1T \-\-thinpool pool0 vg +# lvcreate -n thin2 -V 1T --thinpool pool0 vg # lvs vg/thin1 vg/thin2 LV VG Attr LSize Pool Origin Data% - thin1 vg Vwi\-a\-tz\-\- 1.00t pool0 0.00 - thin2 vg Vwi\-a\-tz\-\- 1.00t pool0 0.00 + thin1 vg Vwi-a-tz-- 1.00t pool0 0.00 + thin2 vg Vwi-a-tz-- 1.00t pool0 0.00 .SS 5. create SnapLV Create snapshots of an existing ThinLV or SnapLV. .br Do not specify -.BR \-L ", " \-\-size +.BR -L ", " --size when creating a thin snapshot. .br A size argument will cause an old COW snapshot to be created. -.B lvcreate \-n SnapLV \-\-snapshot VG/ThinLV +.B lvcreate -n SnapLV --snapshot VG/ThinLV .br -.B lvcreate \-n SnapLV \-\-snapshot VG/PrevSnapLV +.B lvcreate -n SnapLV --snapshot VG/PrevSnapLV .I Example .br Create first snapshot of an existing ThinLV: .br -# lvcreate \-n thin1s1 \-s vg/thin1 +# lvcreate -n thin1s1 -s vg/thin1 Create second snapshot of the same ThinLV: .br -# lvcreate \-n thin1s2 \-s vg/thin1 +# lvcreate -n thin1s2 -s vg/thin1 Create a snapshot of the first snapshot: .br -# lvcreate \-n thin1s1s1 \-s vg/thin1s1 +# lvcreate -n thin1s1s1 -s vg/thin1s1 # lvs vg/thin1s1 vg/thin1s2 vg/thin1s1s1 LV VG Attr LSize Pool Origin - thin1s1 vg Vwi\-\-\-tz\-k 1.00t pool0 thin1 - thin1s2 vg Vwi\-\-\-tz\-k 1.00t pool0 thin1 - thin1s1s1 vg Vwi\-\-\-tz\-k 1.00t pool0 thin1s1 + thin1s1 vg Vwi---tz-k 1.00t pool0 thin1 + thin1s2 vg Vwi---tz-k 1.00t pool0 thin1 + thin1s1s1 vg Vwi---tz-k 1.00t pool0 thin1s1 .SS 6. activate SnapLV Thin snapshots are created with the persistent "activation skip" -flag, indicated by the "k" attribute. Use \-K with lvchange +flag, indicated by the "k" attribute. Use -K with lvchange or vgchange to activate thin snapshots with the "k" attribute. -.B lvchange \-ay \-K VG/SnapLV +.B lvchange -ay -K VG/SnapLV .I Example .br -# lvchange \-ay \-K vg/thin1s1 +# lvchange -ay -K vg/thin1s1 # lvs vg/thin1s1 LV VG Attr LSize Pool Origin - thin1s1 vg Vwi\-a\-tz\-k 1.00t pool0 thin1 + thin1s1 vg Vwi-a-tz-k 1.00t pool0 thin1 .SH Thin Topics -.B Alternate syntax for specifying type thin\-pool +.B Alternate syntax for specifying type thin-pool .br .B Automatic pool metadata LV .br @@ -286,20 +286,20 @@ A thin data LV can be converted to a thin pool LV without specifying a thin pool metadata LV. LVM automatically creates a metadata LV from the same VG. -.B lvcreate \-n ThinDataLV \-L LargeSize VG +.B lvcreate -n ThinDataLV -L LargeSize VG .br -.B lvconvert \-\-type thin\-pool VG/ThinDataLV +.B lvconvert --type thin-pool VG/ThinDataLV .I Example .br .nf -# lvcreate \-n pool0 \-L 10G vg -# lvconvert \-\-type thin\-pool vg/pool0 +# lvcreate -n pool0 -L 10G vg +# lvconvert --type thin-pool vg/pool0 -# lvs \-a - pool0 vg twi\-a\-tz\-\- 10.00g - [pool0_tdata] vg Twi\-ao\-\-\-\- 10.00g - [pool0_tmeta] vg ewi\-ao\-\-\-\- 16.00m +# lvs -a + pool0 vg twi-a-tz-- 10.00g + [pool0_tdata] vg Twi-ao---- 10.00g + [pool0_tmeta] vg ewi-ao---- 16.00m .fi @@ -312,18 +312,18 @@ separate physical devices. To do that, specify the device name(s) at the end of the lvcreate line. It can be especially helpful to use fast devices for the metadata LV. -.B lvcreate \-n ThinDataLV \-L LargeSize VG LargePV +.B lvcreate -n ThinDataLV -L LargeSize VG LargePV .br -.B lvcreate \-n ThinMetaLV \-L SmallSize VG SmallPV +.B lvcreate -n ThinMetaLV -L SmallSize VG SmallPV .br -.B lvconvert \-\-type thin\-pool \-\-poolmetadata VG/ThinMetaLV VG/ThinDataLV +.B lvconvert --type thin-pool --poolmetadata VG/ThinMetaLV VG/ThinDataLV .I Example .br .nf -# lvcreate \-n pool0 \-L 10G vg /dev/sdA -# lvcreate \-n pool0meta \-L 1G vg /dev/sdB -# lvconvert \-\-type thin\-pool \-\-poolmetadata vg/pool0meta vg/pool0 +# lvcreate -n pool0 -L 10G vg /dev/sdA +# lvcreate -n pool0meta -L 1G vg /dev/sdB +# lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0 .fi .BR lvm.conf (5) @@ -340,18 +340,18 @@ controls the default PV usage for thin pool creation. To tolerate device failures, use raid for the pool data LV and pool metadata LV. This is especially recommended for pool metadata LVs. -.B lvcreate \-\-type raid1 \-m 1 \-n ThinMetaLV \-L SmallSize VG PVA PVB +.B lvcreate --type raid1 -m 1 -n ThinMetaLV -L SmallSize VG PVA PVB .br -.B lvcreate \-\-type raid1 \-m 1 \-n ThinDataLV \-L LargeSize VG PVC PVD +.B lvcreate --type raid1 -m 1 -n ThinDataLV -L LargeSize VG PVC PVD .br -.B lvconvert \-\-type thin\-pool \-\-poolmetadata VG/ThinMetaLV VG/ThinDataLV +.B lvconvert --type thin-pool --poolmetadata VG/ThinMetaLV VG/ThinDataLV .I Example .br .nf -# lvcreate \-\-type raid1 \-m 1 \-n pool0 \-L 10G vg /dev/sdA /dev/sdB -# lvcreate \-\-type raid1 \-m 1 \-n pool0meta \-L 1G vg /dev/sdC /dev/sdD -# lvconvert \-\-type thin\-pool \-\-poolmetadata vg/pool0meta vg/pool0 +# lvcreate --type raid1 -m 1 -n pool0 -L 10G vg /dev/sdA /dev/sdB +# lvcreate --type raid1 -m 1 -n pool0meta -L 1G vg /dev/sdC /dev/sdD +# lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0 .fi @@ -361,7 +361,7 @@ pool metadata LV. This is especially recommended for pool metadata LVs. The first time a thin pool LV is created, lvm will create a spare metadata LV in the VG. This behavior can be controlled with the -option \-\-poolmetadataspare y|n. (Future thin pool creations will +option --poolmetadataspare y|n. (Future thin pool creations will also attempt to create the pmspare LV if none exists.) To create the pmspare ("pool metadata spare") LV, lvm first creates @@ -376,15 +376,15 @@ explicitly. .I Example .br .nf -# lvcreate \-n pool0 \-L 10G vg -# lvcreate \-n pool0meta \-L 1G vg -# lvconvert \-\-type thin\-pool \-\-poolmetadata vg/pool0meta vg/pool0 +# lvcreate -n pool0 -L 10G vg +# lvcreate -n pool0meta -L 1G vg +# lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0 -# lvs \-a - [lvol0_pmspare] vg ewi\-\-\-\-\-\-\- - pool0 vg twi\-\-\-tz\-\- - [pool0_tdata] vg Twi\-\-\-\-\-\-\- - [pool0_tmeta] vg ewi\-\-\-\-\-\-\- +# lvs -a + [lvol0_pmspare] vg ewi------- + pool0 vg twi---tz-- + [pool0_tdata] vg Twi------- + [pool0_tmeta] vg ewi------- .fi The "Metadata check and repair" section describes the use of @@ -424,7 +424,7 @@ details of damaged thin metadata to get the best advice on recovery. Command to repair a thin pool: .br -.B lvconvert \-\-repair VG/ThinPoolLV +.B lvconvert --repair VG/ThinPoolLV Repair performs the following steps: @@ -452,7 +452,7 @@ If metadata is manually restored with thin_repair directly, the pool metadata LV can be manually swapped with another LV containing new metadata: -.B lvconvert \-\-thinpool VG/ThinPoolLV \-\-poolmetadata VG/NewThinMetaLV +.B lvconvert --thinpool VG/ThinPoolLV --poolmetadata VG/NewThinMetaLV .SS Activation of thin snapshots @@ -466,7 +466,7 @@ displayed by lvs: .nf # lvs vg/thin1s1 LV VG Attr LSize Pool Origin - thin1s1 vg Vwi\-\-\-tz\-k 1.00t pool0 thin1 + thin1s1 vg Vwi---tz-k 1.00t pool0 thin1 .fi This flag causes the snapshot LV to be skipped, i.e. not activated, @@ -474,29 +474,29 @@ by normal activation commands. The skipping behavior does not apply to deactivation commands. A snapshot LV with the "k" attribute can be activated using -the \-K (or \-\-ignoreactivationskip) option in addition to the -standard \-ay (or \-\-activate y) option. +the -K (or --ignoreactivationskip) option in addition to the +standard -ay (or --activate y) option. Command to activate a thin snapshot LV: .br -.B lvchange \-ay \-K VG/SnapLV +.B lvchange -ay -K VG/SnapLV The persistent "activation skip" flag can be turned off during -lvcreate, or later with lvchange using the \-kn -(or \-\-setactivationskip n) option. -It can be turned on again with \-ky (or \-\-setactivationskip y). +lvcreate, or later with lvchange using the -kn +(or --setactivationskip n) option. +It can be turned on again with -ky (or --setactivationskip y). When the "activation skip" flag is removed, normal activation -commands will activate the LV, and the \-K activation option is +commands will activate the LV, and the -K activation option is not needed. Command to create snapshot LV without the activation skip flag: .br -.B lvcreate \-kn \-n SnapLV \-s VG/ThinLV +.B lvcreate -kn -n SnapLV -s VG/ThinLV Command to remove the activation skip flag from a snapshot LV: .br -.B lvchange \-kn VG/SnapLV +.B lvchange -kn VG/SnapLV .BR lvm.conf (5) .B auto_set_activation_skip @@ -531,7 +531,7 @@ the thin pool LV. Command to extend thin pool data space: .br -.B lvextend \-L Size VG/ThinPoolLV +.B lvextend -L Size VG/ThinPoolLV .I Example .br @@ -539,15 +539,15 @@ Command to extend thin pool data space: 1. A thin pool LV is using 26.96% of its data blocks. # lvs LV VG Attr LSize Pool Origin Data% - pool0 vg twi\-a\-tz\-\- 10.00g 26.96 + pool0 vg twi-a-tz-- 10.00g 26.96 2. Double the amount of physical space in the thin pool LV. -# lvextend \-L+10G vg/pool0 +# lvextend -L+10G vg/pool0 3. The percentage of used data blocks is half the previous value. # lvs LV VG Attr LSize Pool Origin Data% - pool0 vg twi\-a\-tz\-\- 20.00g 13.48 + pool0 vg twi-a-tz-- 20.00g 13.48 .fi Other methods of increasing free data space in a thin pool LV @@ -560,38 +560,38 @@ fstrim on the file system using a thin LV. \& The available metadata space in a thin pool LV can be displayed -with the lvs \-o+metadata_percent command. +with the lvs -o+metadata_percent command. Command to extend thin pool metadata space: .br -.B lvextend \-\-poolmetadatasize Size VG/ThinPoolLV +.B lvextend --poolmetadatasize Size VG/ThinPoolLV .I Example .br 1. A thin pool LV is using 12.40% of its metadata blocks. .nf -# lvs \-oname,size,data_percent,metadata_percent vg/pool0 +# lvs -oname,size,data_percent,metadata_percent vg/pool0 LV LSize Data% Meta% pool0 20.00g 13.48 12.40 .fi 2. Display a thin pool LV with its component thin data LV and thin metadata LV. .nf -# lvs \-a \-oname,attr,size vg +# lvs -a -oname,attr,size vg LV Attr LSize - pool0 twi\-a\-tz\-\- 20.00g - [pool0_tdata] Twi\-ao\-\-\-\- 20.00g - [pool0_tmeta] ewi\-ao\-\-\-\- 12.00m + pool0 twi-a-tz-- 20.00g + [pool0_tdata] Twi-ao---- 20.00g + [pool0_tmeta] ewi-ao---- 12.00m .fi 3. Double the amount of physical space in the thin metadata LV. .nf -# lvextend \-\-poolmetadatasize +12M vg/pool0 +# lvextend --poolmetadatasize +12M vg/pool0 .fi 4. The percentage of used metadata blocks is half the previous value. .nf -# lvs \-a \-oname,size,data_percent,metadata_percent vg +# lvs -a -oname,size,data_percent,metadata_percent vg LV LSize Data% Meta% pool0 20.00g 13.48 6.20 [pool0_tdata] 20.00g @@ -619,38 +619,38 @@ of the file system by 1%. Removing the 1G file restores the virtual thin pool. The fstrim command restores the physical space to the thin pool. .nf -# lvs \-a \-oname,attr,size,pool_lv,origin,data_percent,metadata_percent vg +# lvs -a -oname,attr,size,pool_lv,origin,data_percent,metadata_percent vg LV Attr LSize Pool Origin Data% Meta% -pool0 twi\-a\-tz\-\- 10.00g 47.01 21.03 -thin1 Vwi\-aotz\-\- 100.00g pool0 2.70 +pool0 twi-a-tz-- 10.00g 47.01 21.03 +thin1 Vwi-aotz-- 100.00g pool0 2.70 -# df \-h /mnt/X +# df -h /mnt/X Filesystem Size Used Avail Use% Mounted on -/dev/mapper/vg\-thin1 99G 1.1G 93G 2% /mnt/X +/dev/mapper/vg-thin1 99G 1.1G 93G 2% /mnt/X # dd if=/dev/zero of=/mnt/X/1Gfile bs=4096 count=262144; sync # lvs -pool0 vg twi\-a\-tz\-\- 10.00g 57.01 25.26 -thin1 vg Vwi\-aotz\-\- 100.00g pool0 3.70 +pool0 vg twi-a-tz-- 10.00g 57.01 25.26 +thin1 vg Vwi-aotz-- 100.00g pool0 3.70 -# df \-h /mnt/X -/dev/mapper/vg\-thin1 99G 2.1G 92G 3% /mnt/X +# df -h /mnt/X +/dev/mapper/vg-thin1 99G 2.1G 92G 3% /mnt/X # rm /mnt/X/1Gfile # lvs -pool0 vg twi\-a\-tz\-\- 10.00g 57.01 25.26 -thin1 vg Vwi\-aotz\-\- 100.00g pool0 3.70 +pool0 vg twi-a-tz-- 10.00g 57.01 25.26 +thin1 vg Vwi-aotz-- 100.00g pool0 3.70 -# df \-h /mnt/X -/dev/mapper/vg\-thin1 99G 1.1G 93G 2% /mnt/X +# df -h /mnt/X +/dev/mapper/vg-thin1 99G 1.1G 93G 2% /mnt/X -# fstrim \-v /mnt/X +# fstrim -v /mnt/X # lvs -pool0 vg twi\-a\-tz\-\- 10.00g 47.01 21.03 -thin1 vg Vwi\-aotz\-\- 100.00g pool0 2.70 +pool0 vg twi-a-tz-- 10.00g 47.01 21.03 +thin1 vg Vwi-aotz-- 100.00g pool0 2.70 .fi The "Discard" section covers an option for automatically freeing data @@ -673,7 +673,7 @@ default. Command to start or stop dmeventd monitoring a thin pool LV: .br -.B lvchange \-\-monitor {y|n} VG/ThinPoolLV +.B lvchange --monitor {y|n} VG/ThinPoolLV The current dmeventd monitoring status of a thin pool LV can be displayed with the command lvs -o+seg_monitor. @@ -714,7 +714,7 @@ lvm.conf monitoring setting. .IP \[bu] To activate or create a thin pool LV without interacting with dmeventd, -the \-\-ignoremonitoring option can be used. With this option, the command +the --ignoremonitoring option can be used. With this option, the command will not ask dmeventd to monitor the thin pool LV. .IP \[bu] @@ -740,14 +740,14 @@ is all used (see the section "Automatically extend thin pool LV"). If thin pool data space is already exhausted, it can still be extended (see the section "Manually manage free data space of thin pool LV".) -The behavior of a full thin pool is configurable with the \-\-errorwhenfull +The behavior of a full thin pool is configurable with the --errorwhenfull y|n option to lvcreate or lvchange. The errorwhenfull setting applies only to writes; reading thin LVs can continue even when data space is exhausted. Command to change the handling of a full thin pool: .br -.B lvchange \-\-errorwhenfull {y|n} VG/ThinPoolLV +.B lvchange --errorwhenfull {y|n} VG/ThinPoolLV .BR lvm.conf (5) .B error_when_full @@ -773,11 +773,11 @@ return to normal operation. While waiting to be extended, the thin pool will queue writes for up to 60 seconds (the default). If data space has not been extended after this time, the queued writes will return an error to the caller, e.g. the file -system. This can result in file system corruption for non\-journaled file +system. This can result in file system corruption for non-journaled file systems that may require fsck. When a thin pool returns errors for writes to a thin LV, any file system is subject to losing unsynced user data. -The 60 second timeout can be changed or disabled with the dm\-thin\-pool +The 60 second timeout can be changed or disabled with the dm-thin-pool kernel module option .B no_space_timeout. This option sets the number of seconds that thin pools will queue writes. @@ -799,7 +799,7 @@ the thin pool LV: .nf # lvs vg/pool0 LV VG Attr LSize Pool Origin Data% - pool0 vg twi\-a\-tz\-\- 512.00m 100.00 + pool0 vg twi-a-tz-- 512.00m 100.00 .fi .I causes @@ -836,7 +836,7 @@ When metadata space is exhausted, the lvs command displays 100 under Meta% for the thin pool LV: .nf -# lvs \-o lv_name,size,data_percent,metadata_percent vg/pool0 +# lvs -o lv_name,size,data_percent,metadata_percent vg/pool0 LV LSize Data% Meta% pool0 100.00 .fi @@ -850,11 +850,11 @@ repair. 1. Deactivate the thin pool LV, or reboot the system if this is not possible. -2. Repair thin pool with lvconvert \-\-repair. +2. Repair thin pool with lvconvert --repair. .br See "Metadata check and repair". -3. Extend pool metadata space with lvextend \-\-poolmetadatasize. +3. Extend pool metadata space with lvextend --poolmetadatasize. .br See "Manually manage free metadata space of a thin pool LV". @@ -872,7 +872,7 @@ these presets. (See "Automatically extend thin pool LV".) Command to extend a thin pool data LV using presets: .br -.B lvextend \-\-use\-policies VG/ThinPoolLV +.B lvextend --use-policies VG/ThinPoolLV The command uses these settings: @@ -888,12 +888,12 @@ autoextend the LV by this much additional space. To see the default values of these settings, run: -.B lvmconfig \-\-type default \-\-withcomment +.B lvmconfig --type default --withcomment .RS .B activation/thin_pool_autoextend_threshold .RE -.B lvmconfig \-\-type default \-\-withcomment +.B lvmconfig --type default --withcomment .RS .B activation/thin_pool_autoextend_percent .RE @@ -901,7 +901,7 @@ To see the default values of these settings, run: To change these values globally, edit .BR lvm.conf (5). -To change these values on a per\-VG or per\-LV basis, attach a "profile" to +To change these values on a per-VG or per-LV basis, attach a "profile" to the VG or LV. A profile is a collection of config settings, saved in a local text file (using the lvm.conf format). lvm looks for profiles in the profile_dir directory, e.g. /etc/lvm/profile/. Once attached to a VG @@ -919,12 +919,12 @@ For the profile_dir location, run: .IP \[bu] 2 Attach the profile to an LV, using the command: .br -.B lvchange \-\-metadataprofile ProfileName VG/ThinPoolLV +.B lvchange --metadataprofile ProfileName VG/ThinPoolLV .IP \[bu] 2 Extend the LV using the profile settings: .br -.B lvextend \-\-use\-policies VG/ThinPoolLV +.B lvextend --use-policies VG/ThinPoolLV .P @@ -940,9 +940,9 @@ activation { thin_pool_autoextend_percent=10 } -# lvchange \-\-metadataprofile pool0extend vg/pool0 +# lvchange --metadataprofile pool0extend vg/pool0 -# lvextend \-\-use\-policies vg/pool0 +# lvextend --use-policies vg/pool0 .fi .I Notes @@ -954,7 +954,7 @@ file with the profile also needs to be moved. .IP \[bu] 2 Only certain settings can be used in a VG or LV profile, see: .br -.B lvmconfig \-\-type profilable\-metadata. +.B lvmconfig --type profilable-metadata. .IP \[bu] 2 An LV without a profile of its own will inherit the VG profile. @@ -962,14 +962,14 @@ An LV without a profile of its own will inherit the VG profile. .IP \[bu] 2 Remove a profile from an LV using the command: .br -.B lvchange \-\-detachprofile VG/ThinPoolLV. +.B lvchange --detachprofile VG/ThinPoolLV. .IP \[bu] 2 Commands can also have profiles applied to them. The settings that can be applied to a command are different than the settings that can be applied -to a VG or LV. See lvmconfig \-\-type profilable\-command. To apply a +to a VG or LV. See lvmconfig --type profilable-command. To apply a profile to a command, write a profile, save it in the profile directory, -and run the command using the option: \-\-commandprofile ProfileName. +and run the command using the option: --commandprofile ProfileName. .SS Zeroing @@ -978,20 +978,20 @@ and run the command using the option: \-\-commandprofile ProfileName. When a thin pool provisions a new data block for a thin LV, the new block is first overwritten with zeros. The zeroing mode is -indicated by the "z" attribute displayed by lvs. The option \-Z -(or \-\-zero) can be added to commands to specify the zeroing mode. +indicated by the "z" attribute displayed by lvs. The option -Z +(or --zero) can be added to commands to specify the zeroing mode. Command to set the zeroing mode when creating a thin pool LV: .br -.B lvconvert \-\-type thin\-pool \-Z{y|n} +.B lvconvert --type thin-pool -Z{y|n} .br .RS -.B \-\-poolmetadata VG/ThinMetaLV VG/ThinDataLV +.B --poolmetadata VG/ThinMetaLV VG/ThinDataLV .RE Command to change the zeroing mode of an existing thin pool LV: .br -.B lvchange \-Z{y|n} VG/ThinPoolLV +.B lvchange -Z{y|n} VG/ThinPoolLV If zeroing mode is changed from "n" to "y", previously provisioned blocks are not zeroed. @@ -1024,27 +1024,27 @@ mode. Command to display the current discard mode of a thin pool LV: .br -.B lvs \-o+discards VG/ThinPoolLV +.B lvs -o+discards VG/ThinPoolLV Command to set the discard mode when creating a thin pool LV: .br -.B lvconvert \-\-discards {ignore|nopassdown|passdown} +.B lvconvert --discards {ignore|nopassdown|passdown} .br .RS -.B \-\-type thin\-pool \-\-poolmetadata VG/ThinMetaLV VG/ThinDataLV +.B --type thin-pool --poolmetadata VG/ThinMetaLV VG/ThinDataLV .RE Command to change the discard mode of an existing thin pool LV: .br -.B lvchange \-\-discards {ignore|nopassdown|passdown} VG/ThinPoolLV +.B lvchange --discards {ignore|nopassdown|passdown} VG/ThinPoolLV .I Example .br .nf -# lvs \-o name,discards vg/pool0 +# lvs -o name,discards vg/pool0 pool0 passdown -# lvchange \-\-discards ignore vg/pool0 +# lvchange --discards ignore vg/pool0 .fi .BR lvm.conf (5) @@ -1058,7 +1058,7 @@ controls the default discards mode used when creating a thin pool. \& The size of data blocks managed by a thin pool can be specified with the -\-\-chunksize option when the thin pool LV is created. The default unit +--chunksize option when the thin pool LV is created. The default unit is KiB. The value must be a multiple of 64KiB between 64KiB and 1GiB. When a thin pool is used primarily for the thin provisioning feature, a @@ -1067,12 +1067,12 @@ reduces copying time and consumes less space. Command to display the thin pool LV chunk size: .br -.B lvs \-o+chunksize VG/ThinPoolLV +.B lvs -o+chunksize VG/ThinPoolLV .I Example .br .nf -# lvs \-o name,chunksize +# lvs -o name,chunksize pool0 64.00k .fi @@ -1083,7 +1083,7 @@ controls the default chunk size used when creating a thin pool. The default value is shown by: .br -.B lvmconfig \-\-type default allocation/thin_pool_chunk_size +.B lvmconfig --type default allocation/thin_pool_chunk_size .SS Size of pool metadata LV @@ -1096,10 +1096,10 @@ need a larger metadata LV. Thin pool metadata LV sizes can be from 2MiB to 16GiB. When using lvcreate to create what will become a thin metadata LV, the -size is specified with the \-L|\-\-size option. +size is specified with the -L|--size option. When an LVM command automatically creates a thin metadata LV, the size is -specified with the \-\-poolmetadatasize option. When this option is not +specified with the --poolmetadatasize option. When this option is not given, LVM automatically chooses a size based on the data size and chunk size. @@ -1119,19 +1119,19 @@ to take thin snapshots of external, read only LVs. Writes to the snapshot are stored in the thin pool, and the external LV is used to read unwritten parts of the thin snapshot. -.B lvcreate \-n SnapLV \-s VG/ExternalOriginLV \-\-thinpool VG/ThinPoolLV +.B lvcreate -n SnapLV -s VG/ExternalOriginLV --thinpool VG/ThinPoolLV .I Example .br .nf -# lvchange \-an vg/lve -# lvchange \-\-permission r vg/lve -# lvcreate \-n snaplve \-s vg/lve \-\-thinpool vg/pool0 +# lvchange -an vg/lve +# lvchange --permission r vg/lve +# lvcreate -n snaplve -s vg/lve --thinpool vg/pool0 # lvs vg/lve vg/snaplve LV VG Attr LSize Pool Origin Data% - lve vg ori\-\-\-\-\-\-\- 10.00g - snaplve vg Vwi\-a\-tz\-\- 10.00g pool0 lve 0.00 + lve vg ori------- 10.00g + snaplve vg Vwi-a-tz-- 10.00g pool0 lve 0.00 .fi @@ -1144,34 +1144,34 @@ standard LV. At the same time, the existing LV is converted to a read only external LV with a new name. Unwritten portions of the thin LV are read from the external LV. The new name given to the existing LV can be specified with -\-\-originname, otherwise the existing LV will be given a default +--originname, otherwise the existing LV will be given a default name, e.g. lvol#. Convert ExampleLV into a read only external LV with the new name NewExternalOriginLV, and create a new thin LV that is given the previous name of ExampleLV. -.B lvconvert \-\-type thin \-\-thinpool VG/ThinPoolLV +.B lvconvert --type thin --thinpool VG/ThinPoolLV .br .RS -.B \-\-originname NewExternalOriginLV VG/ExampleLV +.B --originname NewExternalOriginLV VG/ExampleLV .RE .I Example .br .nf -# lvcreate \-n lv_example \-L 10G vg +# lvcreate -n lv_example -L 10G vg # lvs - lv_example vg -wi\-a\-\-\-\-\- 10.00g + lv_example vg -wi-a----- 10.00g -# lvconvert \-\-type thin \-\-thinpool vg/pool0 - \-\-originname lv_external \-\-thin vg/lv_example +# lvconvert --type thin --thinpool vg/pool0 + --originname lv_external --thin vg/lv_example # lvs LV VG Attr LSize Pool Origin - lv_example vg Vwi\-a\-tz\-\- 10.00g pool0 lv_external - lv_external vg ori\-\-\-\-\-\-\- 10.00g + lv_example vg Vwi-a-tz-- 10.00g pool0 lv_external + lv_external vg ori------- 10.00g .fi @@ -1184,21 +1184,21 @@ rather than using lvconvert on existing LVs. This one command creates a thin data LV, a thin metadata LV, and combines the two into a thin pool LV. -.B lvcreate \-\-type thin\-pool \-L LargeSize \-n ThinPoolLV VG +.B lvcreate --type thin-pool -L LargeSize -n ThinPoolLV VG .I Example .br .nf -# lvcreate \-\-type thin\-pool \-L8M -n pool0 vg +# lvcreate --type thin-pool -L8M -n pool0 vg # lvs vg/pool0 LV VG Attr LSize Pool Origin Data% - pool0 vg twi\-a\-tz\-\- 8.00m 0.00 + pool0 vg twi-a-tz-- 8.00m 0.00 -# lvs \-a - pool0 vg twi\-a\-tz\-\- 8.00m - [pool0_tdata] vg Twi\-ao\-\-\-\- 8.00m - [pool0_tmeta] vg ewi\-ao\-\-\-\- 8.00m +# lvs -a + pool0 vg twi-a-tz-- 8.00m + [pool0_tdata] vg Twi-ao---- 8.00m + [pool0_tmeta] vg ewi-ao---- 8.00m .fi @@ -1211,31 +1211,31 @@ lvcreate command. This one command creates a thin data LV, a thin metadata LV, combines the two into a thin pool LV, and creates a thin LV in the new pool. .br -\-L LargeSize specifies the physical size of the thin pool LV. +-L LargeSize specifies the physical size of the thin pool LV. .br -\-V VirtualSize specifies the virtual size of the thin LV. +-V VirtualSize specifies the virtual size of the thin LV. -.B lvcreate \-\-type thin \-V VirtualSize \-L LargeSize +.B lvcreate --type thin -V VirtualSize -L LargeSize .RS -.B \-n ThinLV \-\-thinpool VG/ThinPoolLV +.B -n ThinLV --thinpool VG/ThinPoolLV .RE Equivalent to: .br -.B lvcreate \-\-type thin\-pool \-L LargeSize VG/ThinPoolLV +.B lvcreate --type thin-pool -L LargeSize VG/ThinPoolLV .br -.B lvcreate \-n ThinLV \-V VirtualSize \-\-thinpool VG/ThinPoolLV +.B lvcreate -n ThinLV -V VirtualSize --thinpool VG/ThinPoolLV .I Example .br .nf -# lvcreate \-L8M \-V2G \-n thin1 \-\-thinpool vg/pool0 +# lvcreate -L8M -V2G -n thin1 --thinpool vg/pool0 -# lvs \-a - pool0 vg twi\-a\-tz\-\- 8.00m - [pool0_tdata] vg Twi\-ao\-\-\-\- 8.00m - [pool0_tmeta] vg ewi\-ao\-\-\-\- 8.00m - thin1 vg Vwi\-a\-tz\-\- 2.00g pool0 +# lvs -a + pool0 vg twi-a-tz-- 8.00m + [pool0_tdata] vg Twi-ao---- 8.00m + [pool0_tmeta] vg ewi-ao---- 8.00m + thin1 vg Vwi-a-tz-- 2.00g pool0 .fi @@ -1244,7 +1244,7 @@ Equivalent to: \& A thin snapshot can be merged into its origin thin LV using the lvconvert -\-\-merge command. The result of a snapshot merge is that the origin thin +--merge command. The result of a snapshot merge is that the origin thin LV takes the content of the snapshot LV, and the snapshot LV is removed. Any content that was unique to the origin thin LV is lost after the merge. @@ -1253,23 +1253,23 @@ LVs are open, e.g. mounted. If a merge is initiated while the LVs are open, the effect of the merge is delayed until the origin thin LV is next activated. -.B lvconvert \-\-merge VG/SnapLV +.B lvconvert --merge VG/SnapLV .I Example .br .nf # lvs vg LV VG Attr LSize Pool Origin - pool0 vg twi\-a\-tz\-\- 10.00g - thin1 vg Vwi\-a\-tz\-\- 100.00g pool0 - thin1s1 vg Vwi\-a\-tz\-k 100.00g pool0 thin1 + pool0 vg twi-a-tz-- 10.00g + thin1 vg Vwi-a-tz-- 100.00g pool0 + thin1s1 vg Vwi-a-tz-k 100.00g pool0 thin1 -# lvconvert \-\-merge vg/thin1s1 +# lvconvert --merge vg/thin1s1 # lvs vg LV VG Attr LSize Pool Origin - pool0 vg twi\-a\-tz\-\- 10.00g - thin1 vg Vwi\-a\-tz\-\- 100.00g pool0 + pool0 vg twi-a-tz-- 10.00g + thin1 vg Vwi-a-tz-- 100.00g pool0 .fi .I Example @@ -1279,20 +1279,20 @@ Delayed merging of open LVs. # lvs vg LV VG Attr LSize Pool Origin - pool0 vg twi\-a\-tz\-\- 10.00g - thin1 vg Vwi\-aotz\-\- 100.00g pool0 - thin1s1 vg Vwi\-aotz\-k 100.00g pool0 thin1 + pool0 vg twi-a-tz-- 10.00g + thin1 vg Vwi-aotz-- 100.00g pool0 + thin1s1 vg Vwi-aotz-k 100.00g pool0 thin1 # df -/dev/mapper/vg\-thin1 100G 33M 100G 1% /mnt/X -/dev/mapper/vg\-thin1s1 100G 33M 100G 1% /mnt/Xs +/dev/mapper/vg-thin1 100G 33M 100G 1% /mnt/X +/dev/mapper/vg-thin1s1 100G 33M 100G 1% /mnt/Xs # ls /mnt/X file1 file2 file3 # ls /mnt/Xs file3 file4 file5 -# lvconvert \-\-merge vg/thin1s1 +# lvconvert --merge vg/thin1s1 Logical volume vg/thin1s1 contains a filesystem in use. Delaying merge since snapshot is open. Merging of thin snapshot thin1s1 will occur on next activation. @@ -1300,16 +1300,16 @@ Merging of thin snapshot thin1s1 will occur on next activation. # umount /mnt/X # umount /mnt/Xs -# lvs \-a vg +# lvs -a vg LV VG Attr LSize Pool Origin - pool0 vg twi\-a\-tz\-\- 10.00g - [pool0_tdata] vg Twi\-ao\-\-\-\- 10.00g - [pool0_tmeta] vg ewi\-ao\-\-\-\- 1.00g - thin1 vg Owi\-a\-tz\-\- 100.00g pool0 - [thin1s1] vg Swi\-a\-tz\-k 100.00g pool0 thin1 + pool0 vg twi-a-tz-- 10.00g + [pool0_tdata] vg Twi-ao---- 10.00g + [pool0_tmeta] vg ewi-ao---- 1.00g + thin1 vg Owi-a-tz-- 100.00g pool0 + [thin1s1] vg Swi-a-tz-k 100.00g pool0 thin1 -# lvchange \-an vg/thin1 -# lvchange \-ay vg/thin1 +# lvchange -an vg/thin1 +# lvchange -ay vg/thin1 # mount /dev/vg/thin1 /mnt/X @@ -1330,18 +1330,18 @@ file system on the origin LV. If the snapshot LV is writable, mounting will recover the log to clear the dummy transaction, but will require skipping the uuid check: -mount /dev/VG/SnapLV /mnt \-o nouuid +mount /dev/VG/SnapLV /mnt -o nouuid Or, the uuid can be changed on disk before mounting: -xfs_admin \-U generate /dev/VG/SnapLV +xfs_admin -U generate /dev/VG/SnapLV .br mount /dev/VG/SnapLV /mnt If the snapshot LV is readonly, the log recovery and uuid check need to be skipped while mounting readonly: -mount /dev/VG/SnapLV /mnt \-o ro,nouuid,norecovery +mount /dev/VG/SnapLV /mnt -o ro,nouuid,norecovery .SH SEE ALSO .BR lvm (8), diff --git a/man/lvreduce.8_des b/man/lvreduce.8_des index d9e840e1b..af6735843 100644 --- a/man/lvreduce.8_des +++ b/man/lvreduce.8_des @@ -1,5 +1,5 @@ lvreduce reduces the size of an LV. The freed logical extents are returned -to the VG to be used by other LVs. A copy\-on\-write snapshot LV can also +to the VG to be used by other LVs. A copy-on-write snapshot LV can also be reduced if less space is needed to hold COW blocks. Use \fBlvconvert\fP(8) to change the number of data images in a RAID or mirrored LV. @@ -13,6 +13,6 @@ Sizes will be rounded if necessary. For example, the LV size must be an exact number of extents, and the size of a striped segment must be a multiple of the number of stripes. -In the usage section below, \fB\-\-size\fP \fISize\fP can be replaced -with \fB\-\-extents\fP \fINumber\fP. See both descriptions +In the usage section below, \fB--size\fP \fISize\fP can be replaced +with \fB--extents\fP \fINumber\fP. See both descriptions the options section. diff --git a/man/lvreduce.8_end b/man/lvreduce.8_end index 59fde52f0..53f1ac78e 100644 --- a/man/lvreduce.8_end +++ b/man/lvreduce.8_end @@ -2,4 +2,4 @@ Reduce the size of an LV by 3 logical extents: .br -.B lvreduce \-l \-3 vg00/lvol1 +.B lvreduce -l -3 vg00/lvol1 diff --git a/man/lvremove.8_end b/man/lvremove.8_end index 835b7117b..e74601564 100644 --- a/man/lvremove.8_end +++ b/man/lvremove.8_end @@ -1,7 +1,7 @@ .SH EXAMPLES Remove an active LV without asking for confirmation. .br -.B lvremove \-f vg00/lvol1 +.B lvremove -f vg00/lvol1 Remove all LVs the specified VG. .br diff --git a/man/lvresize.8_des b/man/lvresize.8_des index 4e8028179..dcc42aa0d 100644 --- a/man/lvresize.8_des +++ b/man/lvresize.8_des @@ -1,6 +1,6 @@ lvresize resizes an LV in the same way as lvextend and lvreduce. See \fBlvextend\fP(8) and \fBlvreduce\fP(8) for more information. -In the usage section below, \fB\-\-size\fP \fISize\fP can be replaced -with \fB\-\-extents\fP \fINumber\fP. See both descriptions +In the usage section below, \fB--size\fP \fISize\fP can be replaced +with \fB--extents\fP \fINumber\fP. See both descriptions the options section. diff --git a/man/lvresize.8_end b/man/lvresize.8_end index 9ae0a2a07..563ea5716 100644 --- a/man/lvresize.8_end +++ b/man/lvresize.8_end @@ -2,4 +2,4 @@ Extend an LV by 16MB using specific physical extents: .br -.B lvresize \-L+16M vg1/lv1 /dev/sda:0\-1 /dev/sdb:0\-1 +.B lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1 diff --git a/man/pvchange.8_end b/man/pvchange.8_end index a524d071d..f1cac15a3 100644 --- a/man/pvchange.8_end +++ b/man/pvchange.8_end @@ -3,4 +3,4 @@ Disallow the allocation of physical extents on a PV (e.g. because of disk errors, or because it will be removed after freeing it). .br -.B pvchange \-x n /dev/sdk1 +.B pvchange -x n /dev/sdk1 diff --git a/man/pvck.8_end b/man/pvck.8_end index 67af2389a..4b9c6d0f6 100644 --- a/man/pvck.8_end +++ b/man/pvck.8_end @@ -2,7 +2,7 @@ If the partition table is corrupted or lost on /dev/sda, and you suspect there was an LVM partition at approximately 100 MiB, then this -area of the disk can be scanned using the \fB\-\-labelsector\fP +area of the disk can be scanned using the \fB--labelsector\fP parameter with a value of 204800 (100 * 1024 * 1024 / 512 = 204800). .br -.B pvck \-\-labelsector 204800 /dev/sda +.B pvck --labelsector 204800 /dev/sda diff --git a/man/pvcreate.8_end b/man/pvcreate.8_end index 478abe356..e89decd49 100644 --- a/man/pvcreate.8_end +++ b/man/pvcreate.8_end @@ -9,4 +9,4 @@ partitioning (sector 7 is the lowest aligned logical block, the 4KiB sectors start at LBA -1, and consequently sector 63 is aligned on a 4KiB boundary) manually account for this when initializing for use by LVM. .br -.B pvcreate \-\-dataalignmentoffset 7s /dev/sdb +.B pvcreate --dataalignmentoffset 7s /dev/sdb diff --git a/man/pvmove.8_end b/man/pvmove.8_end index 68f6ef5b2..8259b3f93 100644 --- a/man/pvmove.8_end +++ b/man/pvmove.8_end @@ -33,7 +33,7 @@ Note that this new process cannot support the original LVM1 type of on-disk metadata. Metadata can be converted using \fBvgconvert\fP(8). -If the \fB\-\-atomic\fP option is used, a slightly different approach is +If the \fB--atomic\fP option is used, a slightly different approach is used for the move. Again, a temporary 'pvmove' LV is created to store the details of all the data movements required. This temporary LV contains all the segments of the various LVs that need to be moved. However, in @@ -57,13 +57,13 @@ Use a specific destination PV when moving physical extents. Move extents belonging to a single LV. .br -.B pvmove \-n lvol1 /dev/sdb1 /dev/sdc1 +.B pvmove -n lvol1 /dev/sdb1 /dev/sdc1 Rather than moving the contents of an entire device, it is possible to move a range of physical extents, for example numbers 1000 to 1999 inclusive on the specified PV. .br -.B pvmove /dev/sdb1:1000\-1999 +.B pvmove /dev/sdb1:1000-1999 A range of physical extents to move can be specified as start+length. For example, starting from PE 1000. (Counting starts from 0, so this refers to the @@ -74,18 +74,18 @@ example, starting from PE 1000. (Counting starts from 0, so this refers to the Move a range of physical extents to a specific PV (which must have sufficient free extents). .br -.B pvmove /dev/sdb1:1000\-1999 /dev/sdc1 +.B pvmove /dev/sdb1:1000-1999 /dev/sdc1 Move a range of physical extents to specific new extents on a new PV. .br -.B pvmove /dev/sdb1:1000\-1999 /dev/sdc1:0\-999 +.B pvmove /dev/sdb1:1000-1999 /dev/sdc1:0-999 If the source and destination are on the same disk, the \fBanywhere\fP allocation policy is needed. .br -.B pvmove \-\-alloc anywhere /dev/sdb1:1000\-1999 /dev/sdb1:0\-999 +.B pvmove --alloc anywhere /dev/sdb1:1000-1999 /dev/sdb1:0-999 The part of a specific LV present within in a range of physical extents can also be picked out and moved. .br -.B pvmove \-n lvol1 /dev/sdb1:1000\-1999 /dev/sdc1 +.B pvmove -n lvol1 /dev/sdb1:1000-1999 /dev/sdc1 diff --git a/man/pvresize.8_end b/man/pvresize.8_end index bedc3345a..a347e4ad9 100644 --- a/man/pvresize.8_end +++ b/man/pvresize.8_end @@ -9,4 +9,4 @@ Expand a PV after enlarging the partition. Shrink a PV prior to shrinking the partition (ensure that the PV size is appropriate for the intended new partition size). .br -.B pvresize \-\-setphysicalvolumesize 40G /dev/sda1 +.B pvresize --setphysicalvolumesize 40G /dev/sda1 diff --git a/man/pvscan.8_des b/man/pvscan.8_des index 14551ce75..d6b554ee2 100644 --- a/man/pvscan.8_des +++ b/man/pvscan.8_des @@ -20,25 +20,25 @@ commands. When lvmetad is used, LVM commands avoid scanning disks by reading metadata from lvmetad. When new disks appear, they must be scanned so their metadata can be cached in lvmetad. This is done by the command -pvscan \-\-cache, which scans disks and passes the metadata to lvmetad. +pvscan --cache, which scans disks and passes the metadata to lvmetad. -The pvscan \-\-cache command is typically run automatically by system +The pvscan --cache command is typically run automatically by system services when a new device appears. Users do not generally need to run this command if the system and lvmetad are running properly. Many scripts contain unnecessary pvscan (or vgscan) commands for historical reasons. To avoid disrupting the system with extraneous disk -scanning, an ordinary pvscan (without \-\-cache) will simply read metadata +scanning, an ordinary pvscan (without --cache) will simply read metadata from lvmetad like other LVM commands. It does not do anything beyond displaying the current state of the cache. .IP \[bu] 2 -When given specific device name arguments, pvscan \-\-cache will only +When given specific device name arguments, pvscan --cache will only read the named devices. .IP \[bu] 2 LVM udev rules and systemd services are used to initiate automatic device scanning. .IP \[bu] 2 -To prevent devices from being scanned by pvscan \-\-cache, add them +To prevent devices from being scanned by pvscan --cache, add them to .BR lvm.conf (5) .B devices/global_filter. @@ -46,11 +46,11 @@ The devices/filter setting does not apply to system level scanning. For more information, see: .br -.B lvmconfig \-\-withcomments devices/global_filter +.B lvmconfig --withcomments devices/global_filter .IP \[bu] 2 If lvmetad is started or restarted after devices are visible, or if the global_filter has changed, then all devices must be rescanned -for metadata with the command pvscan \-\-cache. +for metadata with the command pvscan --cache. .IP \[bu] 2 lvmetad does not cache older metadata formats, e.g. lvm1, and will be temporarily disabled if they are seen. @@ -62,9 +62,9 @@ minor numbers must be given, not the path. When event-driven system services detect a new LVM device, the first step is to automatically scan and cache the metadata from the device. This is -done by pvscan \-\-cache. A second step is to automatically activate LVs +done by pvscan --cache. A second step is to automatically activate LVs that are present on the new device. This auto-activation is done by the -same pvscan \-\-cache command when the option '\-a|\-\-activate ay' is +same pvscan --cache command when the option '-a|--activate ay' is included. Auto-activation of VGs or LVs can be enabled/disabled using: @@ -74,17 +74,17 @@ Auto-activation of VGs or LVs can be enabled/disabled using: For more information, see: .br -.B lvmconfig \-\-withcomments activation/auto_activation_volume_list +.B lvmconfig --withcomments activation/auto_activation_volume_list When this setting is undefined, all LVs are auto-activated (when lvm is fully integrated with the event-driven system services.) When a VG or LV is not auto-activated, traditional activation using -vgchange or lvchange -a|\-\-activate is needed. +vgchange or lvchange -a|--activate is needed. .IP \[bu] 2 -pvscan auto-activation can be only done in combination with \-\-cache. +pvscan auto-activation can be only done in combination with --cache. .IP \[bu] 2 -Auto-activation is designated by the "a" argument in '-a|\-\-activate ay'. +Auto-activation is designated by the "a" argument in '-a|--activate ay'. This is meant to distinguish system generated commands from explicit user commands, although it can be used in any activation command. Whenever it is used, the auto_activation_volume_list is applied. diff --git a/man/vgcfgbackup.8_des b/man/vgcfgbackup.8_des index 0720e017f..f96fad3eb 100644 --- a/man/vgcfgbackup.8_des +++ b/man/vgcfgbackup.8_des @@ -6,7 +6,7 @@ files. In a default installation, each VG is backed up into a separate file bearing the name of the VG in the directory \fI#DEFAULT_BACKUP_DIR#\fP. -To use an alternative back up file, use \fB\-f\fP. In this case, when +To use an alternative back up file, use \fB-f\fP. In this case, when backing up multiple VGs, the file name is treated as a template, with %s replaced by the VG name. diff --git a/man/vgcfgrestore.8_des b/man/vgcfgrestore.8_des index ee3a99e6d..b79e2efba 100644 --- a/man/vgcfgrestore.8_des +++ b/man/vgcfgrestore.8_des @@ -2,8 +2,8 @@ vgcfgrestore restores the metadata of a VG from a text back up file produced by \fBvgcfgbackup\fP. This writes VG metadata onto the devices specifed in back up file. -A back up file can be specified with \fB\-\-file\fP. If no backup file is -specified, the most recent one is used. Use \fB\-\-list\fP for a list of +A back up file can be specified with \fB--file\fP. If no backup file is +specified, the most recent one is used. Use \fB--list\fP for a list of the available back up and archive files of a VG. WARNING: When a VG contains thin pools, changes to thin metadata cannot be diff --git a/man/vgcfgrestore.8_end b/man/vgcfgrestore.8_end index 5ac451d74..ffcb3eee0 100644 --- a/man/vgcfgrestore.8_end +++ b/man/vgcfgrestore.8_end @@ -1,9 +1,9 @@ .SH NOTES -To replace PVs, \fBvgdisplay \-\-partial \-\-verbose\fP will show the +To replace PVs, \fBvgdisplay --partial --verbose\fP will show the UUIDs and sizes of any PVs that are no longer present. If a PV in the VG is lost and you wish to substitute another of the same size, use -\fBpvcreate \-\-restorefile filename \-\-uuid uuid\fP (plus additional +\fBpvcreate --restorefile filename --uuid uuid\fP (plus additional arguments as appropriate) to initialise it with the same UUID as the missing PV. Repeat for all other missing PVs in the VG. Then use -\fBvgcfgrestore \-\-file filename\fP to restore the VG's metadata. +\fBvgcfgrestore --file filename\fP to restore the VG's metadata. diff --git a/man/vgchange.8_end b/man/vgchange.8_end index 6cf9e87e2..828a70740 100644 --- a/man/vgchange.8_end +++ b/man/vgchange.8_end @@ -5,8 +5,8 @@ snapshots should be removed. .SH EXAMPLES Activate all LVs in all VGs on all existing devices. .br -.B vgchange \-a y +.B vgchange -a y Change the maximum number of LVs for an inactive VG. .br -.B vgchange \-l 128 vg00 +.B vgchange -l 128 vg00 diff --git a/man/vgextend.8_des b/man/vgextend.8_des index 85fe6fcdf..cee2d1eb5 100644 --- a/man/vgextend.8_des +++ b/man/vgextend.8_des @@ -3,9 +3,9 @@ for LVs in the VG. Also, PVs that have gone missing and then returned, e.g. due to a transient device failure, can be added back to the VG without -re-initializing them (see \-\-restoremissing). +re-initializing them (see --restoremissing). If the specified PVs have not yet been initialized with pvcreate, vgextend will initialize them. In this case pvcreate options can be used, e.g. -\-\-labelsector, \-\-metadatasize, \-\-metadataignore, -\-\-pvmetadatacopies, \-\-dataalignment, \-\-dataalignmentoffset. +--labelsector, --metadatasize, --metadataignore, +--pvmetadatacopies, --dataalignment, --dataalignmentoffset. diff --git a/man/vgimportclone.8_end b/man/vgimportclone.8_end index 4b236f6a7..68c57d44f 100644 --- a/man/vgimportclone.8_end +++ b/man/vgimportclone.8_end @@ -5,4 +5,4 @@ The corresponding PVs from a hardware snapshot are "/dev/sdc" and "/dev/sdd". Rename the VG associated with "/dev/sdc" and "/dev/sdd" from "vg00" to "vg00_snap" (and change associated UUIDs). .br -.B vgimportclone \-\-basevgname vg00_snap /dev/sdc /dev/sdd +.B vgimportclone --basevgname vg00_snap /dev/sdc /dev/sdd diff --git a/man/vgmerge.8_end b/man/vgmerge.8_end index b65d04432..905492dc4 100644 --- a/man/vgmerge.8_end +++ b/man/vgmerge.8_end @@ -3,4 +3,4 @@ Merge an inactive VG named "vg00" into the active or inactive VG named "databases", giving verbose runtime information. .br -.B vgmerge \-v databases vg00 +.B vgmerge -v databases vg00 diff --git a/man/vgremove.8_des b/man/vgremove.8_des index 6414c734a..e87666fd6 100644 --- a/man/vgremove.8_des +++ b/man/vgremove.8_des @@ -2,7 +2,7 @@ vgremove removes one or more VGs. If LVs exist in the VG, a prompt is used to confirm LV removal. If one or more PVs in the VG are lost, consider -\fBvgreduce \-\-removemissing\fP to make the VG +\fBvgreduce --removemissing\fP to make the VG metadata consistent again. Repeat the force option (\fB-ff\fP) to forcibly remove LVs in the VG diff --git a/man/vgrename.8_end b/man/vgrename.8_end index 2d191cfa2..5cdd0d02e 100644 --- a/man/vgrename.8_end +++ b/man/vgrename.8_end @@ -6,4 +6,4 @@ Rename VG "vg02" to "myvg": Rename the VG with the specified UUID to "myvg". .br -.B vgrename Zvlifi\-Ep3t\-e0Ng\-U42h\-o0ye\-KHu1\-nl7Ns4 myvg +.B vgrename Zvlifi-Ep3t-e0Ng-U42h-o0ye-KHu1-nl7Ns4 myvg diff --git a/tools/args.h b/tools/args.h index 77f3bf5ba..b81e2c9a9 100644 --- a/tools/args.h +++ b/tools/args.h @@ -22,7 +22,7 @@ arg(ARG_UNUSED, '-', "", 0, 0, 0, NULL) /* place holder for unused 0 value */ arg(abort_ARG, '\0', "abort", 0, 0, 0, "#pvmove\n" "Abort any pvmove operations in progress. If a pvmove was started\n" - "with the \\-\\-atomic option, then all LVs will remain on the source PV.\n" + "with the --atomic option, then all LVs will remain on the source PV.\n" "Otherwise, segments that have been moved will remain on the\n" "destination PV, while unmoved segments will remain on the source PV.\n" "#lvpoll\n" @@ -45,7 +45,7 @@ arg(addtag_ARG, '\0', "addtag", tag_VAL, ARG_GROUPABLE, 0, "multiple tags at once. See lvm(8) for information about tags.\n") arg(aligned_ARG, '\0', "aligned", 0, 0, 0, - "Use with \\-\\-separator to align the output columns\n") + "Use with --separator to align the output columns\n") arg(alloc_ARG, '\0', "alloc", alloc_VAL, 0, 0, "Determines the allocation policy when a command needs to allocate\n" @@ -88,11 +88,11 @@ arg(bootloaderareasize_ARG, '\0', "bootloaderareasize", sizemb_VAL, 0, 0, "area. The bootloader area is an area of reserved space on the PV from\n" "which LVM will not allocate any extents and it's kept untouched. This is\n" "primarily aimed for use with bootloaders to embed their own data or metadata.\n" - "The start of the bootloader area is always aligned, see also \\-\\-dataalignment\n" - "and \\-\\-dataalignmentoffset. The bootloader area size may eventually\n" + "The start of the bootloader area is always aligned, see also --dataalignment\n" + "and --dataalignmentoffset. The bootloader area size may eventually\n" "end up increased due to the alignment, but it's never less than the\n" "size that is requested. To see the bootloader area start and size of\n" - "an existing PV use pvs \\-o +pv_ba_start,pv_ba_size.\n") + "an existing PV use pvs -o +pv_ba_start,pv_ba_size.\n") arg(cache_long_ARG, '\0', "cache", 0, 0, 0, "#pvscan\n" @@ -141,8 +141,8 @@ arg(dataalignment_ARG, '\0', "dataalignment", sizekb_VAL, 0, 0, "Align the start of the data to a multiple of this number.\n" "Also specify an appropriate Physical Extent size when creating a VG.\n" "To see the location of the first Physical Extent of an existing PV,\n" - "use pvs \\-o +pe_start. In addition, it may be shifted by an alignment offset.\n" - "See lvm.conf/data_alignment_offset_detection and \\-\\-dataalignmentoffset.\n") + "use pvs -o +pe_start. In addition, it may be shifted by an alignment offset.\n" + "See lvm.conf/data_alignment_offset_detection and --dataalignmentoffset.\n") arg(dataalignmentoffset_ARG, '\0', "dataalignmentoffset", sizekb_VAL, 0, 0, "Shift the start of the data area by this additional offset.\n") @@ -205,7 +205,7 @@ arg(ignorelockingfailure_ARG, '\0', "ignorelockingfailure", 0, 0, 0, "operations after locking failures.\n") arg(ignoremonitoring_ARG, '\0', "ignoremonitoring", 0, 0, 0, - "Do not interact with dmeventd unless \\-\\-monitor is specified.\n" + "Do not interact with dmeventd unless --monitor is specified.\n" "Do not use this if dmeventd is already monitoring a device.\n") arg(ignoreskippedcluster_ARG, '\0', "ignoreskippedcluster", 0, 0, 0, @@ -222,7 +222,7 @@ arg(ignoreunsupported_ARG, '\0', "ignoreunsupported", 0, 0, 0, arg(labelsector_ARG, '\0', "labelsector", number_VAL, 0, 0, "By default the PV is labelled with an LVM2 identifier in its second\n" "sector (sector 1). This lets you use a different sector near the\n" - "start of the disk (between 0 and 3 inclusive \\- see LABEL_SCAN_SECTORS\n" + "start of the disk (between 0 and 3 inclusive - see LABEL_SCAN_SECTORS\n" "in the source). Use with care.\n") arg(lockopt_ARG, '\0', "lockopt", string_VAL, 0, 0, @@ -244,7 +244,7 @@ arg(locktype_ARG, '\0', "locktype", locktype_VAL, 0, 0, "Change the VG lock type to or from a shared lock type used with lvmlockd.\n" "See lvmlockd(8) for more information.\n" "#vgcreate\n" - "Specify the VG lock type directly in place of using \\-\\-shared.\n" + "Specify the VG lock type directly in place of using --shared.\n" "See lvmlockd(8) for more information.\n") arg(logonly_ARG, '\0', "logonly", 0, 0, 0, @@ -260,12 +260,12 @@ arg(maxrecoveryrate_ARG, '\0', "maxrecoveryrate", sizekb_VAL, 0, 0, "See \\fBlvmraid\\fP(7) for more information.\n") arg(merge_ARG, '\0', "merge", 0, 0, 0, - "An alias for \\-\\-mergethin, \\-\\-mergemirrors, or \\-\\-mergesnapshot,\n" + "An alias for --mergethin, --mergemirrors, or --mergesnapshot,\n" "depending on the type of LV.\n") arg(mergemirrors_ARG, '\0', "mergemirrors", 0, 0, 0, "Merge LV images that were split from a raid1 LV.\n" - "See \\-\\-splitmirrors with \\-\\-trackchanges.\n") + "See --splitmirrors with --trackchanges.\n") arg(mergesnapshot_ARG, '\0', "mergesnapshot", 0, 0, 0, "Merge COW snapshot LV into its origin.\n" @@ -288,9 +288,9 @@ arg(mergethin_ARG, '\0', "mergethin", 0, 0, 0, "See \\fBlvmthin\\fP(7) for more information.\n") arg(mergedconfig_ARG, '\0', "mergedconfig", 0, 0, 0, - "When the command is run with \\-\\-config\n" - "and/or \\-\\-commandprofile (or using LVM_COMMAND_PROFILE\n" - "environment variable), \\-\\-profile, or \\-\\-metadataprofile,\n" + "When the command is run with --config\n" + "and/or --commandprofile (or using LVM_COMMAND_PROFILE\n" + "environment variable), --profile, or --metadataprofile,\n" "merge all the contents of the \"config cascade\" before displaying it.\n" "Without merging, only the configuration at the front of the\n" "cascade is displayed.\n" @@ -349,7 +349,7 @@ arg(monitor_ARG, '\0', "monitor", bool_VAL, 0, 0, arg(nameprefixes_ARG, '\0', "nameprefixes", 0, 0, 0, "Add an \"LVM2_\" prefix plus the field name to the output. Useful\n" - "with \\-\\-noheadings to produce a list of field=value pairs that can\n" + "with --noheadings to produce a list of field=value pairs that can\n" "be used to set environment variables (for example, in udev rules).\n") arg(noheadings_ARG, '\0', "noheadings", 0, 0, 0, @@ -365,11 +365,11 @@ arg(nolocking_ARG, '\0', "nolocking", 0, 0, 0, "Disable locking.\n") arg(norestorefile_ARG, '\0', "norestorefile", 0, 0, 0, - "In conjunction with \\-\\-uuid, this allows a uuid to be specified\n" + "In conjunction with --uuid, this allows a uuid to be specified\n" "without also requiring that a backup of the metadata be provided.\n") arg(nosuffix_ARG, '\0', "nosuffix", 0, 0, 0, - "Suppress the suffix on output sizes. Use with \\-\\-units\n" + "Suppress the suffix on output sizes. Use with --units\n" "(except h and H) if processing the output.\n") arg(nosync_ARG, '\0', "nosync", 0, 0, 0, @@ -387,8 +387,8 @@ arg(nosync_ARG, '\0', "nosync", 0, 0, 0, "and thus do not support initial synchronization.\n") arg(notifydbus_ARG, '\0', "notifydbus", 0, 0, 0, - "Send a notification to D\\-Bus. The command will exit with an error\n" - "if LVM is not built with support for D\\offsetus notification, or if the\n" + "Send a notification to D-Bus. The command will exit with an error\n" + "if LVM is not built with support for D-Bus notification, or if the\n" "notify_dbus config setting is disabled.\n") arg(noudevsync_ARG, '\0', "noudevsync", 0, 0, 0, @@ -409,11 +409,11 @@ arg(physicalvolumesize_ARG, '\0', "setphysicalvolumesize", sizemb_VAL, 0, 0, arg(poll_ARG, '\0', "poll", bool_VAL, 0, 0, "When yes, start the background transformation of an LV.\n" "An incomplete transformation, e.g. pvmove or lvconvert interrupted\n" - "by reboot or crash, can be restarted from the last checkpoint with \\-\\-poll y.\n" + "by reboot or crash, can be restarted from the last checkpoint with --poll y.\n" "When no, background transformation of an LV will not occur, and the\n" "transformation will not complete. It may not be appropriate to immediately\n" - "poll an LV after activation, in which case \\-\\-poll n can be used to defer\n" - "polling until a later \\-\\-poll y command.\n") + "poll an LV after activation, in which case --poll n can be used to defer\n" + "polling until a later --poll y command.\n") arg(polloperation_ARG, '\0', "polloperation", polloperation_VAL, 0, 0, "The command to perform from lvmpolld.\n") @@ -440,7 +440,7 @@ arg(poolmetadataspare_ARG, '\0', "poolmetadataspare", bool_VAL, 0, 0, "space that can be used when repairing a pool.\n") arg(profile_ARG, '\0', "profile", string_VAL, 0, 0, - "An alias for \\-\\-commandprofile or \\-\\-metadataprofile, depending\n" + "An alias for --commandprofile or --metadataprofile, depending\n" "on the command.\n") arg(pvmetadatacopies_ARG, '\0', "pvmetadatacopies", pvmetadatacopies_VAL, 0, 0, @@ -475,7 +475,7 @@ arg(removemissing_ARG, '\0', "removemissing", 0, 0, 0, "on them. This resumes normal operation of the VG (new LVs may again\n" "be created, changed and so on).\n" "If this is not possible because LVs are referencing the missing PVs,\n" - "this option can be combined with \\-\\-force to have the command remove\n" + "this option can be combined with --force to have the command remove\n" "any partial LVs. In this case, any LVs and dependent snapshots that\n" "were partly on the missing disks are removed completely, including\n" "those parts on disks that are still present.\n" @@ -485,7 +485,7 @@ arg(removemissing_ARG, '\0', "removemissing", 0, 0, 0, arg(rebuild_ARG, '\0', "rebuild", pv_VAL, ARG_GROUPABLE, 0, "Selects a PV to rebuild in a raid LV. Multiple PVs can be rebuilt by\n" "repeating this option.\n" - "Use this option in place of \\-\\-resync or \\-\\-syncaction repair when the\n" + "Use this option in place of --resync or --syncaction repair when the\n" "PVs with corrupted data are known, and their data should be reconstructed\n" "rather than reconstructing default (rotating) data.\n" "See \\fBlvmraid\\fP(7) for more information.\n") @@ -510,7 +510,7 @@ arg(reportformat_ARG, '\0', "reportformat", reportformat_VAL, 0, 0, "output in JSON format. See \\fBlvmreport\\fP(7) for more information.\n") arg(restorefile_ARG, '\0', "restorefile", string_VAL, 0, 0, - "In conjunction with \\-\\-uuid, this reads the file (produced by\n" + "In conjunction with --uuid, this reads the file (produced by\n" "vgcfgbackup), extracts the location and size of the data on the PV,\n" "and ensures that the metadata produced by the program is consistent\n" "with the contents of the file, i.e. the physical extents will be in\n" @@ -525,7 +525,7 @@ arg(restoremissing_ARG, '\0', "restoremissing", 0, 0, 0, arg(resync_ARG, '\0', "resync", 0, 0, 0, "Initiates mirror synchronization. Synchronization generally happens\n" "automatically, but this option forces it to run.\n" - "Also see \\-\\-rebuild to synchronize a specific PV.\n" + "Also see --rebuild to synchronize a specific PV.\n" "During synchronization, data is read from the primary mirror device\n" "and copied to the others. This can take considerable time, during\n" "which the LV is without a complete redundant copy of the data.\n" @@ -567,16 +567,16 @@ arg(shared_ARG, '\0', "shared", 0, 0, 0, arg(sinceversion_ARG, '\0', "sinceversion", string_VAL, 0, 0, "Specify an LVM version in x.y.z format where x is the major version,\n" "the y is the minor version and z is the patchlevel (e.g. 2.2.106).\n" - "This option is currently applicable only with \\-\\-typeconfig new\n" + "This option is currently applicable only with --typeconfig new\n" "to display all configuration settings introduced since given version.\n") arg(splitcache_ARG, '\0', "splitcache", 0, 0, 0, "Separates a cache pool from a cache LV, and keeps the unused cache pool LV.\n" - "Before the separation, the cache is flushed. Also see \\-\\-uncache.\n") + "Before the separation, the cache is flushed. Also see --uncache.\n") arg(splitmirrors_ARG, '\0', "splitmirrors", number_VAL, 0, 0, "Splits the specified number of images from a raid1 or mirror LV\n" - "and uses them to create a new LV. If \\-\\-trackchanges is also specified,\n" + "and uses them to create a new LV. If --trackchanges is also specified,\n" "changes to the raid1 LV are tracked while the split LV remains detached.\n") arg(splitsnapshot_ARG, '\0', "splitsnapshot", 0, 0, 0, @@ -587,7 +587,7 @@ arg(splitsnapshot_ARG, '\0', "splitsnapshot", 0, 0, 0, arg(showdeprecated_ARG, '\0', "showdeprecated", 0, 0, 0, "Include deprecated configuration settings in the output. These settings\n" "are deprecated after a certain version. If a concrete version is specified\n" - "with \\-\\-atversion, deprecated settings are automatically included\n" + "with --atversion, deprecated settings are automatically included\n" "if the specified version is lower than the version in which the settings were\n" "deprecated. The current and diff types include deprecated settings\n" "in their output by default, all the other types ignore deprecated settings.\n") @@ -606,7 +606,7 @@ arg(stripes_long_ARG, '\0', "stripes", number_VAL, 0, 0, "Specifies the number of stripes in a striped LV. This is the number of\n" "PVs (devices) that a striped LV is spread across. Data that\n" "appears sequential in the LV is spread across multiple devices in units of\n" - "the stripe size (see \\-\\-stripesize). This does not apply to\n" + "the stripe size (see --stripesize). This does not apply to\n" "existing allocated space, only newly allocated space can be striped.\n") arg(swapmetadata_ARG, '\0', "swapmetadata", 0, 0, 0, @@ -631,8 +631,8 @@ arg(sysinit_ARG, '\0', "sysinit", 0, 0, 0, "scripts (e.g. rc.sysinit or an initrd), before writable filesystems are\n" "available. As such, some functionality needs to be disabled and this option\n" "acts as a shortcut which selects an appropriate set of options. Currently,\n" - "this is equivalent to using \\-\\-ignorelockingfailure, \\-\\-ignoremonitoring,\n" - "\\-\\-poll n, and setting env var LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES.\n" + "this is equivalent to using --ignorelockingfailure, --ignoremonitoring,\n" + "--poll n, and setting env var LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES.\n" "When used in conjunction with lvmetad enabled and running,\n" "vgchange/lvchange skip autoactivation, and defer to pvscan autoactivation.\n") @@ -655,7 +655,7 @@ arg(thinpool_ARG, '\0', "thinpool", lv_VAL, 0, 0, "The name of a thin pool LV.\n") arg(trackchanges_ARG, '\0', "trackchanges", 0, 0, 0, - "Can be used with \\-\\-splitmirrors on a raid1 LV. This causes\n" + "Can be used with --splitmirrors on a raid1 LV. This causes\n" "changes to the original raid1 LV to be tracked while the split images\n" "remain detached. This allows the read-only detached image(s) to be\n" "merged efficiently back into the raid1 LV later. Only the regions with\n" @@ -675,7 +675,7 @@ arg(type_ARG, '\0', "type", segtype_VAL, 0, 0, "For copy-on-write snapshots (\\fBsnapshot\\fP) see usage definitions.\n" "Several commands omit an explicit type option because the type\n" "is inferred from other options or shortcuts\n" - "(e.g. \\-\\-stripes, \\-\\-mirrors, \\-\\-snapshot, \\-\\-virtualsize, \\-\\-thin, \\-\\-cache).\n" + "(e.g. --stripes, --mirrors, --snapshot, --virtualsize, --thin, --cache).\n" "Use inferred types with care because it can lead to unexpected results.\n") arg(unbuffered_ARG, '\0', "unbuffered", 0, 0, 0, @@ -683,7 +683,7 @@ arg(unbuffered_ARG, '\0', "unbuffered", 0, 0, 0, arg(uncache_ARG, '\0', "uncache", 0, 0, 0, "Separates a cache pool from a cache LV, and deletes the unused cache pool LV.\n" - "Before the separation, the cache is flushed. Also see \\-\\-splitcache.\n") + "Before the separation, the cache is flushed. Also see --splitcache.\n") arg(cachepolicy_ARG, '\0', "cachepolicy", string_VAL, 0, 0, "Specifies the cache policy for a cache LV.\n" @@ -707,10 +707,10 @@ arg(units_ARG, '\0', "units", units_VAL, 0, 0, "(h)uman-readable, (b)ytes, (s)ectors, (k)ilobytes, (m)egabytes,\n" "(g)igabytes, (t)erabytes, (p)etabytes, (e)xabytes.\n" "Capitalise to use multiples of 1000 (S.I.) instead of 1024.\n" - "Custom units can be specified, e.g. \\-\\-units 3M.\n") + "Custom units can be specified, e.g. --units 3M.\n") arg(unquoted_ARG, '\0', "unquoted", 0, 0, 0, - "When used with \\-\\-nameprefixes, output values in the field=value\n" + "When used with --nameprefixes, output values in the field=value\n" "pairs are not quoted.\n") arg(usepolicies_ARG, '\0', "usepolicies", 0, 0, 0, @@ -721,7 +721,7 @@ arg(validate_ARG, '\0', "validate", 0, 0, 0, "Validate current configuration used and exit with appropriate\n" "return code. The validation is done only for the configuration\n" "at the front of the \"config cascade\". To validate the whole\n" - "merged configuration tree, also use \\-\\-mergedconfig.\n" + "merged configuration tree, also use --mergedconfig.\n" "The validation is done even if lvm.conf config/checks is disabled.\n") arg(version_ARG, '\0', "version", 0, 0, 0, @@ -787,7 +787,7 @@ arg(writemostly_ARG, '\0', "writemostly", writemostly_VAL, ARG_GROUPABLE, 0, * these variants. The description of the standard option names * can mention a synonym, or in some cases the man page generation * recognizes some of these and prints the option name to include - * the variant, e.g. man page generation prints \\-\\-[raid]writebehind. + * the variant, e.g. man page generation prints --[raid]writebehind. */ arg(corelog_ARG, '\0', "corelog", 0, 0, 0, NULL) arg(resizable_ARG, '\0', "resizable", bool_VAL, 0, 0, NULL) @@ -838,10 +838,10 @@ arg(activate_ARG, 'a', "activate", activation_VAL, 0, 0, "In some cases, creating an LV requires it to be active.\n" "For example, COW snapshots of an active origin LV can only\n" "be created in the active state (this does not apply to thin snapshots.)\n" - "The \\-\\-zero option normally requires the LV to be active.\n" + "The --zero option normally requires the LV to be active.\n" "If autoactivation \\fBay\\fP is used, the LV is only activated\n" "if it matches an item in lvm.conf activation/auto_activation_volume_list.\n" - "\\fBay\\fP implies \\-\\-zero n and \\-\\-wipesignatures n.\n" + "\\fBay\\fP implies --zero n and --wipesignatures n.\n" "See lvmlockd(8) for more information about activation options for shared VGs.\n" "See clvmd(8) for more information about activation options for clustered VGs.\n") @@ -964,7 +964,7 @@ arg(help_ARG, 'h', "help", 0, 0, 0, arg(cache_ARG, 'H', "cache", 0, 0, 0, "Specifies the command is handling a cache LV or cache pool.\n" - "See \\-\\-type cache and \\-\\-type cache-pool.\n" + "See --type cache and --type cache-pool.\n" "See \\fBlvmcache\\fP(7) for more information about LVM caching.\n") arg(history_ARG, 'H', "history", 0, 0, 0, @@ -989,7 +989,7 @@ arg(stripes_ARG, 'i', "stripes", number_VAL, 0, 0, "Specifies the number of stripes in a striped LV. This is the number of\n" "PVs (devices) that a striped LV is spread across. Data that\n" "appears sequential in the LV is spread across multiple devices in units of\n" - "the stripe size (see \\-\\-stripesize). This does not change existing\n" + "the stripe size (see --stripesize). This does not change existing\n" "allocated space, but only applies to space being allocated by the command.\n" "When creating a RAID 4/5/6 LV, this number does not include the extra\n" "devices that are required for parity. The largest number depends on\n" @@ -1017,7 +1017,7 @@ arg(maxlogicalvolumes_ARG, 'l', "maxlogicalvolumes", uint32_VAL, 0, 0, arg(extents_ARG, 'l', "extents", extents_VAL, 0, 0, "#lvcreate\n" "Specifies the size of the new LV in logical extents.\n" - "The \\-\\-size and \\-\\-extents options are alternate methods of specifying size.\n" + "The --size and --extents options are alternate methods of specifying size.\n" "The total number of physical extents used will be\n" "greater when redundant data is needed for RAID levels.\n" "An alternate syntax allows the size to be determined indirectly\n" @@ -1035,7 +1035,7 @@ arg(extents_ARG, 'l', "extents", extents_VAL, 0, 0, "#lvextend\n" "#lvresize\n" "Specifies the new size of the LV in logical extents.\n" - "The \\-\\-size and \\-\\-extents options are alternate methods of specifying size.\n" + "The --size and --extents options are alternate methods of specifying size.\n" "The total number of physical extents used will be\n" "greater when redundant data is needed for RAID levels.\n" "An alternate syntax allows the size to be determined indirectly\n" @@ -1058,12 +1058,12 @@ arg(list_ARG, 'l', "list", 0, 0, 0, "#dumpconfig\n" "#config\n" "List config settings with summarizing comment. This is the same as using\n" - "options \\-\\-typeconfig list \\-\\-withsummary.\n" + "options --typeconfig list --withsummary.\n" "#vgcfgrestore\n" "List metadata backup and archive files pertaining to the VG.\n" - "May be used with \\-\\-file. Does not restore the VG.\n" + "May be used with --file. Does not restore the VG.\n" "#vgmerge\n" - "Display merged destination VG like vgdisplay \\-v.\n") + "Display merged destination VG like vgdisplay -v.\n") arg(lvmpartition_ARG, 'l', "lvmpartition", 0, 0, 0, "Only report PVs.\n") @@ -1076,14 +1076,14 @@ arg(lvmpartition_ARG, 'l', "lvmpartition", 0, 0, 0, arg(size_ARG, 'L', "size", sizemb_VAL, 0, 0, "#lvcreate\n" "Specifies the size of the new LV.\n" - "The \\-\\-size and \\-\\-extents options are alternate methods of specifying size.\n" + "The --size and --extents options are alternate methods of specifying size.\n" "The total number of physical extents used will be\n" "greater when redundant data is needed for RAID levels.\n" "#lvreduce\n" "#lvextend\n" "#lvresize\n" "Specifies the new size of the LV.\n" - "The \\-\\-size and \\-\\-extents options are alternate methods of specifying size.\n" + "The --size and --extents options are alternate methods of specifying size.\n" "The total number of physical extents used will be\n" "greater when redundant data is needed for RAID levels.\n" "When the plus \\fB+\\fP or minus \\fB-\\fP prefix is used,\n" @@ -1103,7 +1103,7 @@ arg(major_ARG, 'j', "major", number_VAL, ARG_GROUPABLE, 0, arg(setactivationskip_ARG, 'k', "setactivationskip", bool_VAL, 0, 0, "Persistently sets (yes) or clears (no) the \"activation skip\" flag on an LV.\n" "An LV with this flag set is not activated unless the\n" - "\\-\\-ignoreactivationskip option is used by the activation command.\n" + "--ignoreactivationskip option is used by the activation command.\n" "This flag is set by default on new thin snapshot LVs.\n" "The flag is not applied to deactivation.\n" "The current value of the flag is indicated in the lvs lv_attr bits.\n") @@ -1116,7 +1116,7 @@ arg(maps_ARG, 'm', "maps", 0, 0, 0, "#lvdisplay\n" "Display the mapping of logical extents to PVs and physical extents.\n" "To map physical extents to logical extents use:\n" - "pvs \\-\\-segments \\-o+lv_name,seg_start_pe,segtype\n" + "pvs --segments -o+lv_name,seg_start_pe,segtype\n" "#pvdisplay\n" "Display the mapping of physical extents to LVs and logical extents.\n") @@ -1125,27 +1125,27 @@ arg(maps_ARG, 'm', "maps", 0, 0, 0, arg(mirrors_ARG, 'm', "mirrors", number_VAL, 0, 0, "#lvcreate\n" "Specifies the number of mirror images in addition to the original LV\n" - "image, e.g. \\-\\-mirrors 1 means there are two images of the data, the\n" + "image, e.g. --mirrors 1 means there are two images of the data, the\n" "original and one mirror image.\n" "Optional positional PV args on the command line can specify the devices\n" "the images should be placed on.\n" "There are two mirroring implementations: \"raid1\" and \"mirror\".\n" "These are the names of the corresponding LV types, or \"segment types\".\n" - "Use the \\-\\-type option to specify which to use (raid1 is default,\n" + "Use the --type option to specify which to use (raid1 is default,\n" "and mirror is legacy)\n" "Use lvm.conf global/mirror_segtype_default and\n" "global/raid10_segtype_default to configure the default types.\n" - "See the \\-\\-nosync option for avoiding initial image synchronization.\n" + "See the --nosync option for avoiding initial image synchronization.\n" "See \\fBlvmraid\\fP(7) for more information.\n" "#lvconvert\n" "Specifies the number of mirror images in addition to the original LV\n" - "image, e.g. \\-\\-mirrors 1 means there are two images of the data, the\n" + "image, e.g. --mirrors 1 means there are two images of the data, the\n" "original and one mirror image.\n" "Optional positional PV args on the command line can specify the devices\n" "the images should be placed on.\n" "There are two mirroring implementations: \"raid1\" and \"mirror\".\n" "These are the names of the corresponding LV types, or \"segment types\".\n" - "Use the \\-\\-type option to specify which to use (raid1 is default,\n" + "Use the --type option to specify which to use (raid1 is default,\n" "and mirror is legacy)\n" "Use lvm.conf global/mirror_segtype_default and\n" "global/raid10_segtype_default to configure the default types.\n" @@ -1176,7 +1176,7 @@ arg(name_ARG, 'n', "name", string_VAL, 0, 0, arg(nofsck_ARG, 'n', "nofsck", 0, 0, 0, "Do not perform fsck before resizing filesystem when filesystem\n" - "requires it. You may need to use \\-\\-force to proceed with\n" + "requires it. You may need to use --force to proceed with\n" "this option.\n") arg(novolumegroup_ARG, 'n', "novolumegroup", 0, 0, 0, @@ -1188,7 +1188,7 @@ arg(oldpath_ARG, 'n', "oldpath", 0, 0, 0, NULL) /* * FIXME: a free-form discussion section and document the * VG/LV/PV attr bits which were previously listed - * in the description for \\-o. + * in the description for -o. */ arg(options_ARG, 'o', "options", string_VAL, ARG_GROUPABLE, 0, @@ -1198,8 +1198,8 @@ arg(options_ARG, 'o', "options", string_VAL, ARG_GROUPABLE, 0, "\\fB-\\fP will remove the specified fields from the default fields, and\n" "\\fB#\\fP will compact specified fields (removing them when empty for all rows.)\n" "Use \\fB-o help\\fP to view the list of all available fields.\n" - "Use separate lists of fields to add, remove or compact by repeating the \\-o option:\n" - "-o+field1,field2 \\-o-field3,field4 \\-o#field5.\n" + "Use separate lists of fields to add, remove or compact by repeating the -o option:\n" + "-o+field1,field2 -o-field3,field4 -o#field5.\n" "These lists are evaluated from left to right.\n" "Use field name \\fBlv_all\\fP to view all LV fields,\n" "\\fBvg_all\\fP all VG fields,\n" @@ -1217,8 +1217,8 @@ arg(sort_ARG, 'O', "sort", string_VAL, ARG_GROUPABLE, 0, arg(maxphysicalvolumes_ARG, 'p', "maxphysicalvolumes", uint32_VAL, 0, 0, "Sets the maximum number of PVs that can belong to the VG.\n" "The value 0 removes any limitation.\n" - "For large numbers of PVs, also see options \\-\\-pvmetadatacopies,\n" - "and \\-\\-vgmetadatacopies for improving performance.\n") + "For large numbers of PVs, also see options --pvmetadatacopies,\n" + "and --vgmetadatacopies for improving performance.\n") arg(permission_ARG, 'p', "permission", permission_VAL, 0, 0, "Set access permission to read only \\fBr\\fP or read and write \\fBrw\\fP.\n") @@ -1235,7 +1235,7 @@ arg(partial_ARG, 'P', "partial", 0, 0, 0, arg(physicalvolume_ARG, 'P', "physicalvolume", 0, 0, 0, NULL) arg(quiet_ARG, 'q', "quiet", 0, ARG_COUNTABLE, 0, - "Suppress output and log messages. Overrides \\-\\-debug and \\-\\-verbose.\n" + "Suppress output and log messages. Overrides --debug and --verbose.\n" "Repeat once to also suppress any prompts with answer no.\n") arg(readahead_ARG, 'r', "readahead", readahead_VAL, 0, 0, @@ -1285,7 +1285,7 @@ arg(snapshot_ARG, 's', "snapshot", 0, 0, 0, "the size option is NOT specified. Thin snapshots share the same blocks\n" "in the thin pool, and do not allocate new space from the VG.\n" "Thin snapshots are created with the \"activation skip\" flag,\n" - "see \\-\\-setactivationskip.\n" + "see --setactivationskip.\n" "A thin snapshot of a non-thin \"external origin\" LV is created\n" "when a thin pool is specified. Unprovisioned blocks in the thin snapshot\n" "LV are read from the external origin LV. The external origin LV must\n" @@ -1299,11 +1299,11 @@ arg(snapshot_ARG, 's', "snapshot", 0, 0, 0, "be extended with lvextend (shrinking is also allowed with lvreduce.)\n" "A small amount of the COW snapshot LV size is used to track COW block\n" "locations, so the full size is not available for COW data blocks.\n" - "Use lvs to check how much space is used, and see \\-\\-monitor to\n" + "Use lvs to check how much space is used, and see --monitor to\n" "to automatically extend the size to avoid running out of space.\n" "#lvconvert\n" "Combine a former COW snapshot LV with a former origin LV to reverse\n" - "a previous \\-\\-splitsnapshot command.\n") + "a previous --splitsnapshot command.\n") arg(short_ARG, 's', "short", 0, 0, 0, "#pvdisplay\n" @@ -1318,9 +1318,9 @@ 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 by \\fB\\-\\-select help\\fP and \\fBlvmreport\\fP(7).\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" + "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" @@ -1335,7 +1335,7 @@ arg(test_ARG, 't', "test", 0, 0, 0, arg(thin_ARG, 'T', "thin", 0, 0, 0, "Specifies the command is handling a thin LV or thin pool.\n" - "See \\-\\-type thin, \\-\\-type thin-pool, and \\-\\-virtualsize.\n" + "See --type thin, --type thin-pool, and --virtualsize.\n" "See \\fBlvmthin\\fP(7) for more information about LVM thin provisioning.\n") arg(uuid_ARG, 'u', "uuid", 0, 0, 0, @@ -1351,7 +1351,7 @@ arg(uuidstr_ARG, 'u', "uuid", string_VAL, 0, 0, "Without this option, a random UUID is generated.\n" "This option is needed before restoring a backup of LVM metadata\n" "onto a replacement device; see vgcfgrestore(8). As such, use of\n" - "\\-\\-restorefile is compulsory unless the \\-\\-norestorefile is used.\n" + "--restorefile is compulsory unless the --norestorefile is used.\n" "All PVs must have unique UUIDs, and LVM will prevent certain operations\n" "if multiple devices are seen with the same UUID.\n" "See vgimportclone(8) for more information.\n") @@ -1369,7 +1369,7 @@ arg(volumegroup_ARG, 'V', "volumegroup", 0, 0, 0, NULL) arg(virtualsize_ARG, 'V', "virtualsize", sizemb_VAL, 0, 0, "The virtual size of a new thin LV.\n" "See \\fBlvmthin\\fP(7) for more information about LVM thin provisioning.\n" - "Using virtual size (\\-V) and actual size (\\-L) together creates\n" + "Using virtual size (-V) and actual size (-L) together creates\n" "a sparse LV.\n" "lvm.conf global/sparse_segtype_default determines the\n" "default segment type used to create a sparse LV.\n" @@ -1383,13 +1383,13 @@ arg(virtualsize_ARG, 'V', "virtualsize", sizemb_VAL, 0, 0, arg(wipesignatures_ARG, 'W', "wipesignatures", bool_VAL, 0, 0, "Controls detection and subsequent wiping of signatures on new LVs.\n" "There is a prompt for each signature detected to confirm its wiping\n" - "(unless \\-\\-yes is used to override confirmations.)\n" + "(unless --yes is used to override confirmations.)\n" "When not specified, signatures are wiped whenever zeroing is done\n" - "(see \\-\\-zero). This behaviour can be configured with\n" + "(see --zero). This behaviour can be configured with\n" "lvm.conf allocation/wipe_signatures_when_zeroing_new_lvs.\n" "If blkid wiping is used (lvm.conf allocation/use_blkid_wiping)\n" "and LVM is compiled with blkid wiping support, then the blkid(8)\n" - "library is used to detect the signatures (use blkid \\-k to list the\n" + "library is used to detect the signatures (use blkid -k to list the\n" "signatures that are recognized).\n" "Otherwise, native LVM code is used to detect signatures\n" "(only MD RAID, swap and LUKS signatures are detected in this case.)\n" @@ -1405,12 +1405,12 @@ arg(resizeable_ARG, 'x', "resizeable", bool_VAL, 0, 0, arg(yes_ARG, 'y', "yes", 0, 0, 0, "Do not prompt for confirmation interactively but always assume the\n" "answer yes. Use with extreme caution.\n" - "(For automatic no, see \\-qq.)\n") + "(For automatic no, see -qq.)\n") arg(zero_ARG, 'Z', "zero", bool_VAL, 0, 0, "#lvchange\n" "Set zeroing mode for thin pool. Note: already provisioned blocks from pool\n" - "in non-zero mode are not cleared in unwritten parts when setting \\-\\-zero y.\n" + "in non-zero mode are not cleared in unwritten parts when setting --zero y.\n" "#lvconvert\n" "For snapshots, this controls zeroing of the first 4KiB of data in the\n" "snapshot. If the LV is read-only, the snapshot will not be zeroed.\n" @@ -1427,7 +1427,7 @@ arg(zero_ARG, 'Z', "zero", bool_VAL, 0, 0, "#vgextend\n" "Controls if the first 4 sectors (2048 bytes) of the device are wiped.\n" "The default is to wipe these sectors unless either or both of\n" - "\\-\\-restorefile or \\-\\-uuid are specified.\n") + "--restorefile or --uuid are specified.\n") /* this should always be last */ arg(ARG_COUNT, '-', "", 0, 0, 0, NULL) diff --git a/tools/command.c b/tools/command.c index 812366f43..8a739f0f6 100644 --- a/tools/command.c +++ b/tools/command.c @@ -2094,7 +2094,7 @@ void print_usage_notes(struct command_name *cname) " 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" + " (This should not be confused with the output control --units, where\n" " capital letters mean multiple of 1000.)\n"); printf("\n"); } @@ -2140,7 +2140,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum } if (val_enum == ssizemb_VAL) { - printf("[\\fB+\\fP|\\fB\\-\\fP]\\fISize\\fP[m|UNIT]"); + printf("[\\fB+\\fP|\\fB-\\fP]\\fISize\\fP[m|UNIT]"); return; } @@ -2150,7 +2150,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum } if (val_enum == nsizemb_VAL) { - printf("[\\fB\\-\\fP]\\fISize\\fP[m|UNIT]"); + printf("[\\fB-\\fP]\\fISize\\fP[m|UNIT]"); return; } @@ -2160,7 +2160,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum } if (val_enum == sextents_VAL) { - printf("[\\fB+\\fP|\\fB\\-\\fP]\\fINumber\\fP[PERCENT]"); + printf("[\\fB+\\fP|\\fB-\\fP]\\fINumber\\fP[PERCENT]"); return; } @@ -2170,7 +2170,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum } if (val_enum == nextents_VAL) { - printf("[\\fB\\-\\fP]\\fINumber\\fP[PERCENT]"); + printf("[\\fB-\\fP]\\fINumber\\fP[PERCENT]"); return; } @@ -2180,7 +2180,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum } if (val_enum == ssizekb_VAL) { - printf("[\\fB+\\fP|\\fB\\-\\fP]\\fISize\\fP[k|UNIT]"); + printf("[\\fB+\\fP|\\fB-\\fP]\\fISize\\fP[k|UNIT]"); return; } @@ -2190,7 +2190,7 @@ static void print_val_man(struct command_name *cname, int opt_enum, int val_enum } if (val_enum == snumber_VAL) { - printf("[\\fB+\\fP|\\fB\\-\\fP]\\fINumber\\fP"); + printf("[\\fB+\\fP|\\fB-\\fP]\\fINumber\\fP"); return; } @@ -2244,28 +2244,19 @@ static void print_def_man(struct command_name *cname, int opt_enum, struct arg_d for (val_enum = 0; val_enum < VAL_COUNT; val_enum++) { if (def->val_bits & val_enum_to_bit(val_enum)) { - if (val_enum == conststr_VAL) { - printf("\\fB"); - printf("%s", def->str); - printf("\\fP"); - } + if (val_enum == conststr_VAL) + printf("\\fB%s\\fP", def->str); - else if (val_enum == constnum_VAL) { - printf("\\fB"); - printf("%llu", (unsigned long long)def->num); - printf("\\fP"); - } + else if (val_enum == constnum_VAL) + printf("\\fB%llu\\fP", (unsigned long long)def->num); else { if (sep) printf("|"); - if (!usage || !val_names[val_enum].usage) { - printf("\\fI"); - printf("%s", val_names[val_enum].name); - printf("\\fP"); - } else { + if (!usage || !val_names[val_enum].usage) + printf("\\fI%s\\fP", val_names[val_enum].name); + else print_val_man(cname, opt_enum, val_enum); - } sep = 1; } @@ -2279,16 +2270,9 @@ static void print_def_man(struct command_name *cname, int opt_enum, struct arg_d printf("\\fP"); } - if ((val_enum == vg_VAL) && (def->flags & ARG_DEF_FLAG_NEW_VG)) { - printf("\\fI"); - printf("_new"); - printf("\\fP"); - } - if ((val_enum == lv_VAL) && (def->flags & ARG_DEF_FLAG_NEW_LV)) { - printf("\\fI"); - printf("_new"); - printf("\\fP"); - } + if (((val_enum == vg_VAL) && (def->flags & ARG_DEF_FLAG_NEW_VG)) || + ((val_enum == lv_VAL) && (def->flags & ARG_DEF_FLAG_NEW_LV))) + printf("\\fI_new\\fP"); } } @@ -2296,13 +2280,6 @@ static void print_def_man(struct command_name *cname, int opt_enum, struct arg_d printf(" ..."); } -static const char *_emit_long_opt_name(char *buf, const char *long_opt_name, size_t len) -{ - strcpy(buf, "\\-\\-"); - strncat(buf, long_opt_name + 2, len - strlen(buf) - 1); - return buf; -} - #define LONG_OPT_NAME_LEN 64 static const char *man_long_opt_name(const char *cmdname, int opt_enum) { @@ -2344,7 +2321,7 @@ static const char *man_long_opt_name(const char *cmdname, int opt_enum) break; } - return _emit_long_opt_name(long_opt_name, long_opt, sizeof(long_opt_name)); + return long_opt; } static void _print_man_usage(char *lvmname, struct command *cmd) @@ -2354,9 +2331,6 @@ static void _print_man_usage(char *lvmname, struct command *cmd) int sep, ro, rp, oo, op, opt_enum; int need_ro_indent_end = 0; int include_extents = 0; - char long_opt_name[LONG_OPT_NAME_LEN]; - - memset (long_opt_name, 0, sizeof(long_opt_name)); if (!(cname = find_command_name(cmd->name))) return; @@ -2400,7 +2374,7 @@ static void _print_man_usage(char *lvmname, struct command *cmd) } if (opt_names[opt_enum].short_opt) { - printf(" \\fB\\-%c\\fP|\\fB%s\\fP", + printf(" \\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cmd->name, opt_enum)); } else { @@ -2490,14 +2464,11 @@ static void _print_man_usage(char *lvmname, struct command *cmd) include_extents = 1; if (opt_names[opt_enum].short_opt) { - printf(" \\fB\\-%c\\fP|\\fB%s\\fP", + printf(" \\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cmd->name, opt_enum)); - } else { - _emit_long_opt_name(long_opt_name, opt_names[cmd->required_opt_args[ro].opt].long_opt, - sizeof(long_opt_name)); - printf(" \\fB%s\\fP", long_opt_name); - } + } else + printf(" \\fB%s\\fP", opt_names[cmd->required_opt_args[ro].opt].long_opt); if (cmd->required_opt_args[ro].def.val_bits) { printf(" "); @@ -2543,7 +2514,7 @@ static void _print_man_usage(char *lvmname, struct command *cmd) * in opt_names[] according to the command name. */ printf(".ad l\n"); - printf("[ \\fB\\-l\\fP|\\fB\\-\\-extents\\fP "); + printf("[ \\fB-l\\fP|\\fB--extents\\fP "); print_val_man(cname, extents_ARG, opt_names[extents_ARG].val_enum); printf(" ]\n"); printf(".ad b\n"); @@ -2568,7 +2539,7 @@ static void _print_man_usage(char *lvmname, struct command *cmd) printf(".br\n"); printf(".ad l\n"); - printf("[ \\fB\\-%c\\fP|\\fB%s\\fP", + printf("[ \\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cmd->name, opt_enum)); @@ -2693,7 +2664,7 @@ static void _print_man_usage_common_lvm(struct command *cmd) if (cmd->optional_opt_args[oo].opt != opt_enum) continue; - printf("[ \\fB\\-%c\\fP|\\fB%s\\fP", + printf("[ \\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cmd->name, opt_enum)); @@ -2790,7 +2761,7 @@ static void _print_man_usage_common_cmd(struct command *cmd) if (cmd->optional_opt_args[oo].opt != opt_enum) continue; - printf("[ \\fB\\-%c\\fP|\\fB%s\\fP", + printf("[ \\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cmd->name, opt_enum)); @@ -2953,7 +2924,7 @@ static void _print_man_all_options_list(struct command_name *cname) printf(".ad l\n"); if (opt_names[opt_enum].short_opt) { - printf(" \\fB\\-%c\\fP|\\fB%s\\fP", + printf(" \\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cname->name, opt_enum)); } else { @@ -3001,7 +2972,7 @@ static void _print_man_all_options_desc(struct command_name *cname) printf(".ad l\n"); if (opt_names[opt_enum].short_opt) { - printf("\\fB\\-%c\\fP|\\fB%s\\fP", + printf("\\fB-%c\\fP|\\fB%s\\fP", opt_names[opt_enum].short_opt, man_long_opt_name(cname->name, opt_enum)); } else { @@ -3104,7 +3075,7 @@ static void _print_man_all_positions_desc(struct command_name *cname) if (!strcmp(cname->name, "lvcreate")) printf("For lvcreate, the required VG positional arg may be\n" "omitted when the VG name is included in another option,\n" - "e.g. \\-\\-name VG/LV.\n"); + "e.g. --name VG/LV.\n"); } if (has_lv_val) { @@ -3132,7 +3103,7 @@ static void _print_man_all_positions_desc(struct command_name *cname) "generally accepts a suffix indicating a range (or multiple ranges)\n" "of physical extents (PEs). When the first PE is omitted, it defaults\n" "to the start of the device, and when the last PE is omitted it defaults to end.\n" - "Start and end range (inclusive): \\fIPV\\fP[\\fB:\\fP\\fIPE\\fP\\fB\\-\\fP\\fIPE\\fP]...\n" + "Start and end range (inclusive): \\fIPV\\fP[\\fB:\\fP\\fIPE\\fP\\fB-\\fP\\fIPE\\fP]...\n" "Start and length range (counting from 0): \\fIPV\\fP[\\fB:\\fP\\fIPE\\fP\\fB+\\fP\\fIPE\\fP]...\n"); } @@ -3153,7 +3124,7 @@ static void _print_man_all_positions_desc(struct command_name *cname) printf("\n"); printf(".br\n"); printf("Select indicates that a required positional parameter can\n" - "be omitted if the \\fB\\-\\-select\\fP option is used.\n" + "be omitted if the \\fB--select\\fP option is used.\n" "No arg appears in this position.\n"); } @@ -3183,7 +3154,7 @@ static void _print_man_all_positions_desc(struct command_name *cname) "b|B is bytes, s|S is sectors of 512 bytes, k|K is kilobytes,\n" "m|M is megabytes, g|G is gigabytes, t|T is terabytes,\n" "p|P is petabytes, e|E is exabytes.\n" - "(This should not be confused with the output control \\-\\-units, where\n" + "(This should not be confused with the output control --units, where\n" "capital letters mean multiple of 1000.)\n"); printf(".SH ENVIRONMENT VARIABLES\n"); @@ -3311,7 +3282,7 @@ static void _print_man(char *name, char *des_file, int secondary) if (!prev_cmd || strcmp(prev_cmd->name, cmd->name)) { printf(".SH NAME\n"); if (cname->desc) - printf("%s \\- %s\n", lvmname, cname->desc); + printf("%s - %s\n", lvmname, cname->desc); else printf("%s\n", lvmname);