xref: /dragonfly/contrib/lvm2/dist/tools/commands.h (revision 926deccb)
1 /*	$NetBSD: commands.h,v 1.1.1.3 2009/12/02 00:25:47 haad Exp $	*/
2 
3 /*
4  * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
5  * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
6  *
7  * This file is part of LVM2.
8  *
9  * This copyrighted material is made available to anyone wishing to use,
10  * modify, copy, or redistribute it subject to the terms and conditions
11  * of the GNU Lesser General Public License v.2.1.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program; if not, write to the Free Software Foundation,
15  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16  */
17 
18 /***********  Replace with script?
19 xx(e2fsadm,
20    "Resize logical volume and ext2 filesystem",
21    "e2fsadm "
22    "[-d|--debug] " "[-h|--help] " "[-n|--nofsck]" "\n"
23    "\t{[-l|--extents] [+|-]LogicalExtentsNumber |" "\n"
24    "\t [-L|--size] [+|-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}" "\n"
25    "\t[-t|--test] "  "\n"
26    "\t[-v|--verbose] "  "\n"
27    "\t[--version] " "\n"
28    "\tLogicalVolumePath" "\n",
29 
30     extents_ARG, size_ARG, nofsck_ARG, test_ARG)
31 *********/
32 
33 xx(dumpconfig,
34    "Dump active configuration",
35    0,
36    "dumpconfig "
37    "\t[-f|--file filename] " "\n"
38    "[ConfigurationVariable...]\n",
39    file_ARG)
40 
41 xx(formats,
42    "List available metadata formats",
43    0,
44    "formats\n")
45 
46 xx(help,
47    "Display help for commands",
48    0,
49    "help <command>" "\n")
50 
51 /*********
52 xx(lvactivate,
53    "Activate logical volume on given partition(s)",
54    "lvactivate "
55    "\t[-d|--debug]\n"
56    "\t[-h|--help]\n"
57    "\t[-v|--verbose]\n"
58    "Logical Volume(s)\n")
59 ***********/
60 
61 xx(lvchange,
62    "Change the attributes of logical volume(s)",
63    CACHE_VGMETADATA,
64    "lvchange\n"
65    "\t[-A|--autobackup y|n]\n"
66    "\t[-a|--available [e|l]y|n]\n"
67    "\t[--addtag Tag]\n"
68    "\t[--alloc AllocationPolicy]\n"
69    "\t[-C|--contiguous y|n]\n"
70    "\t[-d|--debug]\n"
71    "\t[--deltag Tag]\n"
72    "\t[-f|--force]\n"
73    "\t[-h|--help]\n"
74    "\t[--ignorelockingfailure]\n"
75    "\t[--ignoremonitoring]\n"
76    "\t[--monitor {y|n}]\n"
77    "\t[--noudevsync]\n"
78    "\t[-M|--persistent y|n] [--major major] [--minor minor]\n"
79    "\t[-P|--partial] " "\n"
80    "\t[-p|--permission r|rw]\n"
81    "\t[-r|--readahead ReadAheadSectors|auto|none]\n"
82    "\t[--refresh]\n"
83    "\t[--resync]\n"
84    "\t[-t|--test]\n"
85    "\t[-v|--verbose]\n"
86    "\t[-y|--yes]\n"
87    "\t[--version]" "\n"
88    "\tLogicalVolume[Path] [LogicalVolume[Path]...]\n",
89 
90    alloc_ARG, autobackup_ARG, available_ARG, contiguous_ARG, force_ARG,
91    ignorelockingfailure_ARG, ignoremonitoring_ARG, major_ARG, minor_ARG,
92    monitor_ARG, noudevsync_ARG, partial_ARG, permission_ARG, persistent_ARG,
93    readahead_ARG, resync_ARG, refresh_ARG, addtag_ARG, deltag_ARG, test_ARG,
94    yes_ARG)
95 
96 xx(lvconvert,
97    "Change logical volume layout",
98    0,
99    "lvconvert "
100    "[-m|--mirrors Mirrors [{--mirrorlog {disk|core}|--corelog}]]\n"
101    "\t[--repair [--use-policies]]\n"
102    "\t[-R|--regionsize MirrorLogRegionSize]\n"
103    "\t[--alloc AllocationPolicy]\n"
104    "\t[-b|--background]\n"
105    "\t[-d|--debug]\n"
106    "\t[-f|--force]\n"
107    "\t[-h|-?|--help]\n"
108    "\t[-i|--interval seconds]\n"
109    "\t[--noudevsync]\n"
110    "\t[-v|--verbose]\n"
111    "\t[-y|--yes]\n"
112    "\t[--version]" "\n"
113    "\tLogicalVolume[Path] [PhysicalVolume[Path]...]\n\n"
114 
115    "lvconvert "
116    "[-s|--snapshot]\n"
117    "\t[-c|--chunksize]\n"
118    "\t[-d|--debug]\n"
119    "\t[-h|-?|--help]\n"
120    "\t[--noudevsync]\n"
121    "\t[-v|--verbose]\n"
122    "\t[-Z|--zero {y|n}]\n"
123    "\t[--version]" "\n"
124    "\tOriginalLogicalVolume[Path] SnapshotLogicalVolume[Path]\n",
125 
126    alloc_ARG, background_ARG, chunksize_ARG, corelog_ARG, interval_ARG,
127    mirrorlog_ARG, mirrors_ARG, noudevsync_ARG, regionsize_ARG, repair_ARG,
128    snapshot_ARG, test_ARG, use_policies_ARG, yes_ARG, force_ARG, zero_ARG)
129 
130 xx(lvcreate,
131    "Create a logical volume",
132    0,
133    "lvcreate " "\n"
134    "\t[-A|--autobackup {y|n}]\n"
135    "\t[--addtag Tag]\n"
136    "\t[--alloc AllocationPolicy]\n"
137    "\t[-C|--contiguous {y|n}]\n"
138    "\t[-d|--debug]\n"
139    "\t[-h|-?|--help]\n"
140    "\t[-i|--stripes Stripes [-I|--stripesize StripeSize]]\n"
141    "\t{-l|--extents LogicalExtentsNumber |\n"
142    "\t -L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE]}\n"
143    "\t[-M|--persistent {y|n}] [--major major] [--minor minor]\n"
144    "\t[-m|--mirrors Mirrors [--nosync] [{--mirrorlog {disk|core}|--corelog}]]\n"
145    "\t[-n|--name LogicalVolumeName]\n"
146    "\t[--noudevsync]\n"
147    "\t[-p|--permission {r|rw}]\n"
148    "\t[-r|--readahead ReadAheadSectors|auto|none]\n"
149    "\t[-R|--regionsize MirrorLogRegionSize]\n"
150    "\t[-t|--test]\n"
151    "\t[--type VolumeType]\n"
152    "\t[-v|--verbose]\n"
153    "\t[-Z|--zero {y|n}]\n"
154    "\t[--version]\n"
155    "\tVolumeGroupName [PhysicalVolumePath...]\n\n"
156 
157    "lvcreate \n"
158    "\t{ {-s|--snapshot} OriginalLogicalVolume[Path] |\n"
159    "\t  [-s|--snapshot] VolumeGroupName[Path] --virtualsize VirtualSize}\n"
160    "\t[-c|--chunksize]\n"
161    "\t[-A|--autobackup {y|n}]\n"
162    "\t[--addtag Tag]\n"
163    "\t[--alloc AllocationPolicy]\n"
164    "\t[-C|--contiguous {y|n}]\n"
165    "\t[-d|--debug]\n"
166    "\t[-h|-?|--help]\n"
167    "\t[-i|--stripes Stripes [-I|--stripesize StripeSize]]\n"
168    "\t{-l|--extents LogicalExtentsNumber[%{VG|LV|PVS|FREE}] |\n"
169    "\t -L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE]}\n"
170    "\t[-M|--persistent {y|n}] [--major major] [--minor minor]\n"
171    "\t[-n|--name LogicalVolumeName]\n"
172    "\t[--noudevsync]\n"
173    "\t[-p|--permission {r|rw}]\n"
174    "\t[-r|--readahead ReadAheadSectors|auto|none]\n"
175    "\t[-t|--test]\n"
176    "\t[-v|--verbose]\n"
177    "\t[--version]\n"
178 
179    "\t[PhysicalVolumePath...]\n\n",
180 
181    addtag_ARG, alloc_ARG, autobackup_ARG, chunksize_ARG, contiguous_ARG,
182    corelog_ARG, extents_ARG, major_ARG, minor_ARG, mirrorlog_ARG, mirrors_ARG,
183    name_ARG, nosync_ARG, noudevsync_ARG, permission_ARG, persistent_ARG,
184    readahead_ARG, regionsize_ARG, size_ARG, snapshot_ARG, stripes_ARG,
185    stripesize_ARG, test_ARG, type_ARG, virtualoriginsize_ARG, virtualsize_ARG,
186    zero_ARG)
187 
188 xx(lvdisplay,
189    "Display information about a logical volume",
190    0,
191    "lvdisplay\n"
192    "\t[-a|--all]\n"
193    "\t[-c|--colon]\n"
194    "\t[-d|--debug]\n"
195    "\t[-h|--help]\n"
196    "\t[--ignorelockingfailure]\n"
197    "\t[-m|--maps]\n"
198    "\t[--nosuffix]\n"
199    "\t[-P|--partial] " "\n"
200    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
201    "\t[-v|--verbose]\n"
202    "\t[--version]" "\n"
203    "\t[LogicalVolume[Path] [LogicalVolume[Path]...]]\n"
204    "\n"
205    "lvdisplay --columns|-C\n"
206    "\t[--aligned]\n"
207    "\t[-a|--all]\n"
208    "\t[-d|--debug]\n"
209    "\t[-h|--help]\n"
210    "\t[--ignorelockingfailure]\n"
211    "\t[--noheadings]\n"
212    "\t[--nosuffix]\n"
213    "\t[-o|--options [+]Field[,Field]]\n"
214    "\t[-O|--sort [+|-]key1[,[+|-]key2[,...]]]\n"
215    "\t[-P|--partial] " "\n"
216    "\t[--segments]\n"
217    "\t[--separator Separator]\n"
218    "\t[--unbuffered]\n"
219    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
220    "\t[-v|--verbose]\n"
221    "\t[--version]" "\n"
222    "\t[LogicalVolume[Path] [LogicalVolume[Path]...]]\n",
223 
224     aligned_ARG, all_ARG, colon_ARG, columns_ARG,
225     ignorelockingfailure_ARG, maps_ARG, noheadings_ARG, nosuffix_ARG,
226     options_ARG, sort_ARG, partial_ARG, segments_ARG, separator_ARG,
227     unbuffered_ARG, units_ARG)
228 
229 xx(lvextend,
230    "Add space to a logical volume",
231    0,
232    "lvextend\n"
233    "\t[-A|--autobackup y|n]\n"
234    "\t[--alloc AllocationPolicy]\n"
235    "\t[-d|--debug]\n"
236    "\t[-f|--force]\n"
237    "\t[-h|--help]\n"
238    "\t[-i|--stripes Stripes [-I|--stripesize StripeSize]]\n"
239    "\t{-l|--extents [+]LogicalExtentsNumber[%{VG|PVS|FREE}] |\n"
240    "\t -L|--size [+]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}\n"
241    "\t[-m|--mirrors Mirrors]\n"
242    "\t[-n|--nofsck]\n"
243    "\t[--noudevsync]\n"
244    "\t[-r|--resizefs]\n"
245    "\t[-t|--test]\n"
246    "\t[--type VolumeType]\n"
247    "\t[-v|--verbose]\n"
248    "\t[--version]" "\n"
249    "\tLogicalVolume[Path] [ PhysicalVolumePath... ]\n",
250 
251    alloc_ARG, autobackup_ARG, extents_ARG, force_ARG, mirrors_ARG,
252    nofsck_ARG, noudevsync_ARG, resizefs_ARG, size_ARG, stripes_ARG,
253    stripesize_ARG, test_ARG, type_ARG)
254 
255 xx(lvmchange,
256    "With the device mapper, this is obsolete and does nothing.",
257    0,
258    "lvmchange\n"
259    "\t[-d|--debug]\n"
260    "\t[-h|--help]\n"
261    "\t[-R|--reset]\n"
262    "\t[-v|--verbose]\n"
263    "\t[--version]" "\n",
264 
265     reset_ARG)
266 
267 xx(lvmdiskscan,
268    "List devices that may be used as physical volumes",
269    0,
270    "lvmdiskscan\n"
271    "\t[-d|--debug]\n"
272    "\t[-h|--help]\n"
273    "\t[-l|--lvmpartition]\n"
274    "\t[--version]" "\n",
275 
276    lvmpartition_ARG)
277 
278 xx(lvmsadc,
279    "Collect activity data",
280    0,
281    "lvmsadc\n"
282    "\t[-d|--debug]\n"
283    "\t[-h|--help]\n"
284    "\t[-v|--verbose]\n"
285    "\t[--version]" "\n"
286    "\t[LogFilePath]\n" )
287 
288 xx(lvmsar,
289    "Create activity report",
290    0,
291    "lvmsar\n"
292    "\t[-d|--debug]\n"
293    "\t[-f|--full]\n"
294    "\t[-h|--help]\n"
295    "\t[-s|--stdin]\n"
296    "\t[-v|--verbose]\n"
297    "\t[--version]" "\n"
298    "\tLogFilePath\n",
299 
300    full_ARG, stdin_ARG)
301 
302 xx(lvreduce,
303    "Reduce the size of a logical volume",
304    0,
305    "lvreduce\n"
306    "\t[-A|--autobackup y|n]\n"
307    "\t[-d|--debug]\n"
308    "\t[-f|--force]\n"
309    "\t[-h|--help]\n"
310    "\t{-l|--extents [-]LogicalExtentsNumber[%{VG|LV|FREE}] |\n"
311    "\t -L|--size [-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}\n"
312    "\t[-n|--nofsck]\n"
313    "\t[--noudevsync]\n"
314    "\t[-r|--resizefs]\n"
315    "\t[-t|--test]\n"
316    "\t[-v|--verbose]\n"
317    "\t[-y|--yes]\n"
318    "\t[--version]" "\n"
319    "\tLogicalVolume[Path]\n",
320 
321    autobackup_ARG, force_ARG,  extents_ARG, nofsck_ARG, noudevsync_ARG,
322    resizefs_ARG, size_ARG, test_ARG, yes_ARG)
323 
324 xx(lvremove,
325    "Remove logical volume(s) from the system",
326    0,
327    "lvremove\n"
328    "\t[-A|--autobackup y|n]\n"
329    "\t[-d|--debug]\n"
330    "\t[-f|--force]\n"
331    "\t[-h|--help]\n"
332    "\t[--noudevsync]\n"
333    "\t[-t|--test]\n"
334    "\t[-v|--verbose]\n"
335    "\t[--version]" "\n"
336    "\tLogicalVolume[Path] [LogicalVolume[Path]...]\n",
337 
338    autobackup_ARG, force_ARG, noudevsync_ARG, test_ARG)
339 
340 xx(lvrename,
341    "Rename a logical volume",
342    0,
343    "lvrename "
344    "\t[-A|--autobackup {y|n}] " "\n"
345    "\t[-d|--debug] " "\n"
346    "\t[-h|-?|--help] " "\n"
347    "\t[--noudevsync]\n"
348    "\t[-t|--test] " "\n"
349    "\t[-v|--verbose]" "\n"
350    "\t[--version] " "\n"
351    "\t{ OldLogicalVolumePath NewLogicalVolumePath |" "\n"
352    "\t  VolumeGroupName OldLogicalVolumeName NewLogicalVolumeName }\n",
353 
354    autobackup_ARG, noudevsync_ARG, test_ARG)
355 
356 xx(lvresize,
357    "Resize a logical volume",
358    0,
359    "lvresize\n"
360    "\t[-A|--autobackup y|n]\n"
361    "\t[--alloc AllocationPolicy]\n"
362    "\t[-d|--debug]\n"
363    "\t[-f|--force]\n"
364    "\t[-h|--help]\n"
365    "\t[-i|--stripes Stripes [-I|--stripesize StripeSize]]\n"
366    "\t{-l|--extents [+|-]LogicalExtentsNumber[%{VG|LV|PVS|FREE}] |\n"
367    "\t -L|--size [+|-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}\n"
368    "\t[-n|--nofsck]\n"
369    "\t[--noudevsync]\n"
370    "\t[-r|--resizefs]\n"
371    "\t[-t|--test]\n"
372    "\t[--type VolumeType]\n"
373    "\t[-v|--verbose]\n"
374    "\t[--version]" "\n"
375    "\tLogicalVolume[Path] [ PhysicalVolumePath... ]\n",
376 
377    alloc_ARG, autobackup_ARG, extents_ARG, force_ARG, nofsck_ARG,
378    noudevsync_ARG, resizefs_ARG, size_ARG, stripes_ARG, stripesize_ARG,
379    test_ARG, type_ARG)
380 
381 xx(lvs,
382    "Display information about logical volumes",
383    0,
384    "lvs" "\n"
385    "\t[-a|--all]\n"
386    "\t[--aligned]\n"
387    "\t[-d|--debug]\n"
388    "\t[-h|--help]\n"
389    "\t[--ignorelockingfailure]\n"
390    "\t[--nameprefixes]\n"
391    "\t[--noheadings]\n"
392    "\t[--nosuffix]\n"
393    "\t[-o|--options [+]Field[,Field]]\n"
394    "\t[-O|--sort [+|-]key1[,[+|-]key2[,...]]]\n"
395    "\t[-P|--partial] " "\n"
396    "\t[--rows]\n"
397    "\t[--segments]\n"
398    "\t[--separator Separator]\n"
399    "\t[--trustcache]\n"
400    "\t[--unbuffered]\n"
401    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
402    "\t[--unquoted]\n"
403    "\t[-v|--verbose]\n"
404    "\t[--version]" "\n"
405    "\t[LogicalVolume[Path] [LogicalVolume[Path]...]]\n",
406 
407    aligned_ARG, all_ARG, ignorelockingfailure_ARG, nameprefixes_ARG,
408    noheadings_ARG, nolocking_ARG, nosuffix_ARG, options_ARG, partial_ARG,
409    rows_ARG, segments_ARG, separator_ARG, sort_ARG, trustcache_ARG,
410    unbuffered_ARG, units_ARG, unquoted_ARG)
411 
412 xx(lvscan,
413    "List all logical volumes in all volume groups",
414    0,
415    "lvscan " "\n"
416    "\t[-a|--all]\n"
417    "\t[-b|--blockdevice] " "\n"
418    "\t[-d|--debug] " "\n"
419    "\t[-h|-?|--help] " "\n"
420    "\t[--ignorelockingfailure]\n"
421    "\t[-P|--partial] " "\n"
422    "\t[-v|--verbose] " "\n"
423    "\t[--version]\n",
424 
425    all_ARG, blockdevice_ARG, ignorelockingfailure_ARG, partial_ARG)
426 
427 xx(pvchange,
428    "Change attributes of physical volume(s)",
429    0,
430    "pvchange\n"
431    "\t[-a|--all]\n"
432    "\t[-A|--autobackup y|n]\n"
433    "\t[-d|--debug]\n"
434    "\t[-h|--help]\n"
435    "\t[-t|--test]\n"
436    "\t[-u|--uuid]\n"
437    "\t[-x|--allocatable y|n]\n"
438    "\t[-v|--verbose]\n"
439    "\t[--addtag Tag]\n"
440    "\t[--deltag Tag]\n"
441    "\t[--version]" "\n"
442    "\t[PhysicalVolumePath...]\n",
443 
444    all_ARG, allocatable_ARG, allocation_ARG, autobackup_ARG, deltag_ARG,
445    addtag_ARG, test_ARG, uuid_ARG)
446 
447 xx(pvresize,
448    "Resize physical volume(s)",
449    0,
450    "pvresize " "\n"
451    "\t[-d|--debug]" "\n"
452    "\t[-h|-?|--help] " "\n"
453    "\t[--setphysicalvolumesize PhysicalVolumeSize[bBsSkKmMgGtTpPeE]" "\n"
454    "\t[-t|--test] " "\n"
455    "\t[-v|--verbose] " "\n"
456    "\t[--version] " "\n"
457    "\tPhysicalVolume [PhysicalVolume...]\n",
458 
459    physicalvolumesize_ARG, test_ARG)
460 
461 xx(pvck,
462    "Check the consistency of physical volume(s)",
463    0,
464    "pvck "
465    "\t[-d|--debug]\n"
466    "\t[-h|--help]\n"
467    "\t[--labelsector sector] " "\n"
468    "\t[-v|--verbose]\n"
469    "\t[--version]" "\n"
470    "\tPhysicalVolume [PhysicalVolume...]\n",
471 
472    labelsector_ARG)
473 
474 xx(pvcreate,
475    "Initialize physical volume(s) for use by LVM",
476    0,
477    "pvcreate " "\n"
478    "\t[--restorefile file]\n"
479    "\t[-d|--debug]" "\n"
480    "\t[-f[f]|--force [--force]] " "\n"
481    "\t[-h|-?|--help] " "\n"
482    "\t[--labelsector sector] " "\n"
483    "\t[-M|--metadatatype 1|2]" "\n"
484    "\t[--pvmetadatacopies #copies]" "\n"
485    "\t[--metadatasize MetadataSize[bBsSkKmMgGtTpPeE]]" "\n"
486    "\t[--dataalignment Alignment[bBsSkKmMgGtTpPeE]]" "\n"
487    "\t[--dataalignmentoffset AlignmentOffset[bBsSkKmMgGtTpPeE]]" "\n"
488    "\t[--setphysicalvolumesize PhysicalVolumeSize[bBsSkKmMgGtTpPeE]" "\n"
489    "\t[-t|--test] " "\n"
490    "\t[-u|--uuid uuid] " "\n"
491    "\t[-v|--verbose] " "\n"
492    "\t[-y|--yes]" "\n"
493    "\t[-Z|--zero {y|n}]\n"
494    "\t[--version] " "\n"
495    "\tPhysicalVolume [PhysicalVolume...]\n",
496 
497    dataalignment_ARG, dataalignmentoffset_ARG, force_ARG, test_ARG,
498    labelsector_ARG, metadatatype_ARG, metadatacopies_ARG, pvmetadatacopies_ARG,
499    metadatasize_ARG, physicalvolumesize_ARG, restorefile_ARG, uuidstr_ARG,
500    yes_ARG, zero_ARG)
501 
502 xx(pvdata,
503    "Display the on-disk metadata for physical volume(s)",
504    0,
505    "pvdata " "\n"
506    "\t[-a|--all] " "\n"
507    "\t[-d|--debug] " "\n"
508    "\t[-E|--physicalextent] " "\n"
509    "\t[-h|-?|--help]" "\n"
510    "\t[-L|--logicalvolume] " "\n"
511    "\t[-P[P]|--physicalvolume [--physicalvolume]]" "\n"
512    "\t[-U|--uuidlist] " "\n"
513    "\t[-v[v]|--verbose [--verbose]] " "\n"
514    "\t[-V|--volumegroup]" "\n"
515    "\t[--version] " "\n"
516    "\tPhysicalVolume [PhysicalVolume...]\n",
517 
518    all_ARG,  logicalextent_ARG, physicalextent_ARG,
519    physicalvolume_ARG, uuidlist_ARG, volumegroup_ARG)
520 
521 xx(pvdisplay,
522    "Display various attributes of physical volume(s)",
523    CACHE_VGMETADATA,
524    "pvdisplay\n"
525    "\t[-c|--colon]\n"
526    "\t[-d|--debug]\n"
527    "\t[-h|--help]\n"
528    "\t[--ignorelockingfailure]\n"
529    "\t[-m|--maps]\n"
530    "\t[--nosuffix]\n"
531    "\t[-s|--short]\n"
532    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
533    "\t[-v|--verbose]\n"
534    "\t[--version]" "\n"
535    "\t[PhysicalVolumePath [PhysicalVolumePath...]]\n"
536    "\n"
537    "pvdisplay --columns|-C\n"
538    "\t[--aligned]\n"
539    "\t[-a|--all]\n"
540    "\t[-d|--debug]\n"
541    "\t[-h|--help]\n"
542    "\t[--ignorelockingfailure]\n"
543    "\t[--noheadings]\n"
544    "\t[--nosuffix]\n"
545    "\t[-o|--options [+]Field[,Field]]\n"
546    "\t[-O|--sort [+|-]key1[,[+|-]key2[,...]]]\n"
547    "\t[--separator Separator]\n"
548    "\t[--unbuffered]\n"
549    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
550    "\t[-v|--verbose]\n"
551    "\t[--version]" "\n"
552    "\t[PhysicalVolumePath [PhysicalVolumePath...]]\n",
553 
554    aligned_ARG, all_ARG, colon_ARG, columns_ARG, ignorelockingfailure_ARG,
555    maps_ARG, noheadings_ARG, nosuffix_ARG, options_ARG, separator_ARG,
556    short_ARG, sort_ARG, unbuffered_ARG, units_ARG)
557 
558 xx(pvmove,
559    "Move extents from one physical volume to another",
560    0,
561    "pvmove " "\n"
562    "\t[--abort]\n"
563    "\t[-A|--autobackup {y|n}]\n"
564    "\t[--alloc AllocationPolicy]\n"
565    "\t[-b|--background]\n"
566    "\t[-d|--debug]\n "
567    "\t[-h|-?|--help]\n"
568    "\t[-i|--interval seconds]\n"
569    "\t[--noudevsync]\n"
570    "\t[-t|--test]\n "
571    "\t[-v|--verbose]\n "
572    "\t[--version]\n"
573    "\t[{-n|--name} LogicalVolume]\n"
574 /* "\t[{-n|--name} LogicalVolume[:LogicalExtent[-LogicalExtent]...]]\n" */
575    "\tSourcePhysicalVolume[:PhysicalExtent[-PhysicalExtent]...]}\n"
576    "\t[DestinationPhysicalVolume[:PhysicalExtent[-PhysicalExtent]...]...]\n",
577 
578    abort_ARG, alloc_ARG, autobackup_ARG, background_ARG,
579    interval_ARG, name_ARG, noudevsync_ARG, test_ARG)
580 
581 xx(pvremove,
582    "Remove LVM label(s) from physical volume(s)",
583    0,
584    "pvremove " "\n"
585    "\t[-d|--debug]" "\n"
586    "\t[-f[f]|--force [--force]] " "\n"
587    "\t[-h|-?|--help] " "\n"
588    "\t[-t|--test] " "\n"
589    "\t[-v|--verbose] " "\n"
590    "\t[-y|--yes]" "\n"
591    "\t[--version] " "\n"
592    "\tPhysicalVolume [PhysicalVolume...]\n",
593 
594    force_ARG, test_ARG, yes_ARG)
595 
596 xx(pvs,
597    "Display information about physical volumes",
598    CACHE_VGMETADATA,
599    "pvs" "\n"
600    "\t[-a|--all]\n"
601    "\t[--aligned]\n"
602    "\t[-d|--debug]" "\n"
603    "\t[-h|-?|--help] " "\n"
604    "\t[--ignorelockingfailure]\n"
605    "\t[--nameprefixes]\n"
606    "\t[--noheadings]\n"
607    "\t[--nosuffix]\n"
608    "\t[-o|--options [+]Field[,Field]]\n"
609    "\t[-O|--sort [+|-]key1[,[+|-]key2[,...]]]\n"
610    "\t[-P|--partial] " "\n"
611    "\t[--rows]\n"
612    "\t[--segments]\n"
613    "\t[--separator Separator]\n"
614    "\t[--trustcache]\n"
615    "\t[--unbuffered]\n"
616    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
617    "\t[--unquoted]\n"
618    "\t[-v|--verbose]\n"
619    "\t[--version]\n"
620    "\t[PhysicalVolume [PhysicalVolume...]]\n",
621 
622    aligned_ARG, all_ARG, ignorelockingfailure_ARG, nameprefixes_ARG,
623    noheadings_ARG, nolocking_ARG, nosuffix_ARG, options_ARG, partial_ARG,
624    rows_ARG, segments_ARG, separator_ARG, sort_ARG, trustcache_ARG,
625    unbuffered_ARG, units_ARG, unquoted_ARG)
626 
627 xx(pvscan,
628    "List all physical volumes",
629    0,
630    "pvscan " "\n"
631    "\t[-d|--debug] " "\n"
632    "\t{-e|--exported | -n|--novolumegroup} " "\n"
633    "\t[-h|-?|--help]" "\n"
634    "\t[--ignorelockingfailure]\n"
635    "\t[-P|--partial] " "\n"
636    "\t[-s|--short] " "\n"
637    "\t[-u|--uuid] " "\n"
638    "\t[-v|--verbose] " "\n"
639    "\t[--version]\n",
640 
641    exported_ARG, ignorelockingfailure_ARG, novolumegroup_ARG, partial_ARG,
642    short_ARG, uuid_ARG)
643 
644 xx(segtypes,
645    "List available segment types",
646    0,
647    "segtypes\n")
648 
649 xx(vgcfgbackup,
650    "Backup volume group configuration(s)",
651    0,
652    "vgcfgbackup " "\n"
653    "\t[-d|--debug] " "\n"
654    "\t[-f|--file filename] " "\n"
655    "\t[-h|-?|--help] " "\n"
656    "\t[--ignorelockingfailure]\n"
657    "\t[-P|--partial] " "\n"
658    "\t[-v|--verbose]" "\n"
659    "\t[--version] " "\n"
660    "\t[VolumeGroupName...]\n",
661 
662    file_ARG, ignorelockingfailure_ARG, partial_ARG)
663 
664 xx(vgcfgrestore,
665    "Restore volume group configuration",
666    0,
667    "vgcfgrestore " "\n"
668    "\t[-d|--debug] " "\n"
669    "\t[-f|--file filename] " "\n"
670    "\t[-l[l]|--list [--list]]" "\n"
671    "\t[-M|--metadatatype 1|2]" "\n"
672    "\t[-n|--name VolumeGroupName] " "\n"
673    "\t[-h|--help]" "\n"
674    "\t[-t|--test] " "\n"
675    "\t[-v|--verbose]" "\n"
676    "\t[--version] " "\n"
677    "\tVolumeGroupName",
678 
679    file_ARG, list_ARG, metadatatype_ARG, name_ARG, test_ARG)
680 
681 xx(vgchange,
682    "Change volume group attributes",
683    CACHE_VGMETADATA,
684    "vgchange" "\n"
685    "\t[-A|--autobackup {y|n}] " "\n"
686    "\t[--alloc AllocationPolicy] " "\n"
687    "\t[-P|--partial] " "\n"
688    "\t[-d|--debug] " "\n"
689    "\t[-h|--help] " "\n"
690    "\t[--ignorelockingfailure]\n"
691    "\t[--ignoremonitoring]\n"
692    "\t[--monitor {y|n}]\n"
693    "\t[--noudevsync]\n"
694    "\t[--refresh]\n"
695    "\t[-t|--test]" "\n"
696    "\t[-u|--uuid] " "\n"
697    "\t[-v|--verbose] " "\n"
698    "\t[--version]" "\n"
699    "\t{-a|--available [e|l]{y|n}  |" "\n"
700    "\t -c|--clustered {y|n} |" "\n"
701    "\t -x|--resizeable {y|n} |" "\n"
702    "\t -l|--logicalvolume MaxLogicalVolumes |" "\n"
703    "\t -p|--maxphysicalvolumes MaxPhysicalVolumes |" "\n"
704    "\t -s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE] |" "\n"
705    "\t --addtag Tag |\n"
706    "\t --deltag Tag}\n"
707    "\t[VolumeGroupName...]\n",
708 
709    addtag_ARG, alloc_ARG, allocation_ARG, autobackup_ARG, available_ARG,
710    clustered_ARG, deltag_ARG, ignorelockingfailure_ARG, ignoremonitoring_ARG,
711    logicalvolume_ARG, maxphysicalvolumes_ARG, monitor_ARG, noudevsync_ARG,
712    partial_ARG, physicalextentsize_ARG, refresh_ARG, resizeable_ARG,
713    resizable_ARG, test_ARG, uuid_ARG)
714 
715 xx(vgck,
716    "Check the consistency of volume group(s)",
717    0,
718    "vgck "
719    "\t[-d|--debug]\n"
720    "\t[-h|--help]\n"
721    "\t[-v|--verbose]\n"
722    "\t[--version]" "\n"
723    "\t[VolumeGroupName...]\n" )
724 
725 xx(vgconvert,
726    "Change volume group metadata format",
727    0,
728    "vgconvert  " "\n"
729    "\t[-d|--debug]" "\n"
730    "\t[-h|--help] " "\n"
731    "\t[--labelsector sector] " "\n"
732    "\t[-M|--metadatatype 1|2]" "\n"
733    "\t[--pvmetadatacopies #copies]" "\n"
734    "\t[--metadatasize MetadataSize[bBsSkKmMgGtTpPeE]]" "\n"
735    "\t[-t|--test] " "\n"
736    "\t[-v|--verbose] " "\n"
737    "\t[--version] " "\n"
738    "\tVolumeGroupName [VolumeGroupName...]\n",
739 
740    force_ARG, test_ARG, labelsector_ARG, metadatatype_ARG, metadatacopies_ARG,
741    pvmetadatacopies_ARG, metadatasize_ARG )
742 
743 xx(vgcreate,
744    "Create a volume group",
745    0,
746    "vgcreate" "\n"
747    "\t[-A|--autobackup {y|n}] " "\n"
748    "\t[--addtag Tag] " "\n"
749    "\t[--alloc AllocationPolicy] " "\n"
750    "\t[-c|--clustered {y|n}] " "\n"
751    "\t[-d|--debug]" "\n"
752    "\t[-h|--help]" "\n"
753    "\t[-l|--maxlogicalvolumes MaxLogicalVolumes]" "\n"
754    "\t[-M|--metadatatype 1|2] " "\n"
755    "\t[-p|--maxphysicalvolumes MaxPhysicalVolumes] " "\n"
756    "\t[-s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE]] " "\n"
757    "\t[-t|--test] " "\n"
758    "\t[-v|--verbose]" "\n"
759    "\t[--version] " "\n"
760    "\t[ PHYSICAL DEVICE OPTIONS ] " "\n"
761    "\tVolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]\n",
762 
763    addtag_ARG, alloc_ARG, autobackup_ARG, clustered_ARG, maxlogicalvolumes_ARG,
764    maxphysicalvolumes_ARG, metadatatype_ARG, physicalextentsize_ARG, test_ARG,
765    force_ARG, yes_ARG, zero_ARG, labelsector_ARG, metadatasize_ARG,
766    pvmetadatacopies_ARG, metadatacopies_ARG, dataalignment_ARG,
767    dataalignmentoffset_ARG)
768 
769 xx(vgdisplay,
770    "Display volume group information",
771    0,
772    "vgdisplay " "\n"
773    "\t[-A|--activevolumegroups]" "\n"
774    "\t[-c|--colon | -s|--short | -v|--verbose]" "\n"
775    "\t[-d|--debug] " "\n"
776    "\t[-h|--help] " "\n"
777    "\t[--ignorelockingfailure]" "\n"
778    "\t[--nosuffix]\n"
779    "\t[-P|--partial] " "\n"
780    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
781    "\t[--version]" "\n"
782    "\t[VolumeGroupName [VolumeGroupName...]]\n"
783    "\n"
784    "vgdisplay --columns|-C\n"
785    "\t[--aligned]\n"
786    "\t[-d|--debug] " "\n"
787    "\t[-h|--help] " "\n"
788    "\t[--ignorelockingfailure]" "\n"
789    "\t[--noheadings]\n"
790    "\t[--nosuffix]\n"
791    "\t[-o|--options [+]Field[,Field]]\n"
792    "\t[-O|--sort [+|-]key1[,[+|-]key2[,...]]]\n"
793    "\t[-P|--partial] " "\n"
794    "\t[--separator Separator]\n"
795    "\t[--unbuffered]\n"
796    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
797    "\t[--verbose]" "\n"
798    "\t[--version]" "\n"
799    "\t[VolumeGroupName [VolumeGroupName...]]\n",
800 
801    activevolumegroups_ARG, aligned_ARG, colon_ARG, columns_ARG,
802    ignorelockingfailure_ARG, noheadings_ARG, nosuffix_ARG, options_ARG,
803    partial_ARG, short_ARG, separator_ARG, sort_ARG, unbuffered_ARG, units_ARG)
804 
805 xx(vgexport,
806    "Unregister volume group(s) from the system",
807    0,
808    "vgexport " "\n"
809    "\t[-a|--all] " "\n"
810    "\t[-d|--debug] " "\n"
811    "\t[-h|--help]" "\n"
812    "\t[-v|--verbose] " "\n"
813    "\t[--version] " "\n"
814    "\tVolumeGroupName [VolumeGroupName...]\n",
815 
816    all_ARG, test_ARG)
817 
818 xx(vgextend,
819    "Add physical volumes to a volume group",
820    0,
821    "vgextend\n"
822    "\t[-A|--autobackup y|n]\n"
823    "\t[-d|--debug]\n"
824    "\t[-h|--help]\n"
825    "\t[-t|--test]\n"
826    "\t[-v|--verbose]\n"
827    "\t[--version]" "\n"
828    "\t[ PHYSICAL DEVICE OPTIONS ] " "\n"
829    "\tVolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]\n",
830 
831    autobackup_ARG, test_ARG,
832    force_ARG, yes_ARG, zero_ARG, labelsector_ARG, metadatatype_ARG,
833    metadatasize_ARG, pvmetadatacopies_ARG, metadatacopies_ARG,
834    dataalignment_ARG, dataalignmentoffset_ARG)
835 
836 xx(vgimport,
837    "Register exported volume group with system",
838    0,
839    "vgimport " "\n"
840    "\t[-a|--all]\n"
841    "\t[-d|--debug] " "\n"
842    "\t[-f|--force] " "\n"
843    "\t[-h|--help] " "\n"
844    "\t[-t|--test] " "\n"
845    "\t[-v|--verbose]" "\n"
846    "\t[--version]" "\n"
847    "\tVolumeGroupName..." "\n",
848 
849    all_ARG, force_ARG, test_ARG)
850 
851 xx(vgmerge,
852    "Merge volume groups",
853    0,
854    "vgmerge\n"
855    "\t[-A|--autobackup y|n]\n"
856    "\t[-d|--debug]\n"
857    "\t[-h|--help]\n"
858    "\t[-l|--list]\n"
859    "\t[-t|--test]\n"
860    "\t[-v|--verbose]\n"
861    "\t[--version]" "\n"
862    "\tDestinationVolumeGroupName SourceVolumeGroupName\n",
863 
864    autobackup_ARG, list_ARG, test_ARG)
865 
866 xx(vgmknodes,
867    "Create the special files for volume group devices in /dev",
868    0,
869    "vgmknodes\n"
870    "\t[-d|--debug]\n"
871    "\t[-h|--help]\n"
872    "\t[--ignorelockingfailure]\n"
873    "\t[--refresh]\n"
874    "\t[-v|--verbose]\n"
875    "\t[--version]" "\n"
876    "\t[VolumeGroupName...]\n",
877 
878    ignorelockingfailure_ARG, refresh_ARG)
879 
880 xx(vgreduce,
881    "Remove physical volume(s) from a volume group",
882    0,
883    "vgreduce\n"
884    "\t[-a|--all]\n"
885    "\t[-A|--autobackup y|n]\n"
886    "\t[-d|--debug]\n"
887    "\t[-h|--help]\n"
888    "\t[--mirrorsonly]\n"
889    "\t[--removemissing]\n"
890    "\t[-f|--force]\n"
891    "\t[-t|--test]\n"
892    "\t[-v|--verbose]\n"
893    "\t[--version]" "\n"
894    "\tVolumeGroupName\n"
895    "\t[PhysicalVolumePath...]\n",
896 
897    all_ARG, autobackup_ARG, force_ARG, mirrorsonly_ARG, removemissing_ARG,
898    test_ARG)
899 
900 xx(vgremove,
901    "Remove volume group(s)",
902    0,
903    "vgremove\n"
904    "\t[-d|--debug]\n"
905    "\t[-f|--force]\n"
906    "\t[-h|--help]\n"
907    "\t[--noudevsync]\n"
908    "\t[-t|--test]\n"
909    "\t[-v|--verbose]\n"
910    "\t[--version]" "\n"
911    "\tVolumeGroupName [VolumeGroupName...]\n",
912 
913    force_ARG, noudevsync_ARG, test_ARG)
914 
915 xx(vgrename,
916    "Rename a volume group",
917    0,
918    "vgrename\n"
919    "\t[-A|--autobackup y|n]\n"
920    "\t[-d|--debug]\n"
921    "\t[-h|--help]\n"
922    "\t[-t|--test]\n"
923    "\t[-v|--verbose]\n"
924    "\t[--version]" "\n"
925    "\tOldVolumeGroupPath NewVolumeGroupPath |\n"
926    "\tOldVolumeGroupName NewVolumeGroupName\n",
927 
928    autobackup_ARG, force_ARG, test_ARG)
929 
930 xx(vgs,
931    "Display information about volume groups",
932    0,
933    "vgs" "\n"
934    "\t[--aligned]\n"
935    "\t[-a|--all]\n"
936    "\t[-d|--debug]\n"
937    "\t[-h|--help]\n"
938    "\t[--ignorelockingfailure]\n"
939    "\t[--nameprefixes]\n"
940    "\t[--noheadings]\n"
941    "\t[--nosuffix]\n"
942    "\t[-o|--options [+]Field[,Field]]\n"
943    "\t[-O|--sort [+|-]key1[,[+|-]key2[,...]]]\n"
944    "\t[-P|--partial] " "\n"
945    "\t[--rows]\n"
946    "\t[--separator Separator]\n"
947    "\t[--trustcache]\n"
948    "\t[--unbuffered]\n"
949    "\t[--units hHbBsSkKmMgGtTpPeE]\n"
950    "\t[--unquoted]\n"
951    "\t[-v|--verbose]\n"
952    "\t[--version]\n"
953    "\t[VolumeGroupName [VolumeGroupName...]]\n",
954 
955    aligned_ARG, all_ARG, ignorelockingfailure_ARG, nameprefixes_ARG,
956    noheadings_ARG, nolocking_ARG, nosuffix_ARG, options_ARG, partial_ARG,
957    rows_ARG, separator_ARG, sort_ARG, trustcache_ARG, unbuffered_ARG, units_ARG,
958    unquoted_ARG)
959 
960 xx(vgscan,
961    "Search for all volume groups",
962    0,
963    "vgscan "
964    "\t[-d|--debug]\n"
965    "\t[-h|--help]\n"
966    "\t[--ignorelockingfailure]\n"
967    "\t[--mknodes]\n"
968    "\t[-P|--partial] " "\n"
969    "\t[-v|--verbose]\n"
970    "\t[--version]" "\n",
971 
972    ignorelockingfailure_ARG, mknodes_ARG, partial_ARG)
973 
974 xx(vgsplit,
975    "Move physical volumes into a new or existing volume group",
976    0,
977    "vgsplit " "\n"
978    "\t[-A|--autobackup {y|n}] " "\n"
979    "\t[--alloc AllocationPolicy] " "\n"
980    "\t[-c|--clustered {y|n}] " "\n"
981    "\t[-d|--debug] " "\n"
982    "\t[-h|--help] " "\n"
983    "\t[-l|--maxlogicalvolumes MaxLogicalVolumes]" "\n"
984    "\t[-M|--metadatatype 1|2] " "\n"
985    "\t[-n|--name LogicalVolumeName]\n"
986    "\t[-p|--maxphysicalvolumes MaxPhysicalVolumes] " "\n"
987    "\t[-t|--test] " "\n"
988    "\t[-v|--verbose] " "\n"
989    "\t[--version]" "\n"
990    "\tSourceVolumeGroupName DestinationVolumeGroupName" "\n"
991    "\t[PhysicalVolumePath...]\n",
992 
993    alloc_ARG, autobackup_ARG, clustered_ARG,
994    maxlogicalvolumes_ARG, maxphysicalvolumes_ARG,
995    metadatatype_ARG, name_ARG, test_ARG)
996 
997 xx(version,
998    "Display software and driver version information",
999    0,
1000    "version\n" )
1001 
1002