mirror of
git://sourceware.org/git/lvm2.git
synced 2025-03-28 02:50:41 +03:00
config: create lists of accepted values in descriptions
This commit is contained in:
parent
b091c37595
commit
dece918bc8
@ -199,10 +199,14 @@ cfg(devices_external_device_info_source_CFG, "external_device_info_source", devi
|
||||
"this information. For example, this information is used to\n"
|
||||
"drive LVM filtering like MD component detection, multipath\n"
|
||||
"component detection, partition detection and others.\n"
|
||||
"Possible options are: none, udev.\n"
|
||||
"none - No external device information source is used.\n"
|
||||
"udev - Reuse existing udev database records. Applicable\n"
|
||||
"only if LVM is compiled with udev support.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" none\n"
|
||||
" No external device information source is used.\n"
|
||||
" udev\n"
|
||||
" Reuse existing udev database records. Applicable only if LVM is\n"
|
||||
" compiled with udev support.\n"
|
||||
"#\n")
|
||||
|
||||
cfg_array(devices_preferred_names_CFG, "preferred_names", devices_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_UNDEFINED , CFG_TYPE_STRING, NULL, vsn(1, 2, 19), NULL, 0, NULL,
|
||||
"Select which path name to display for a block device.\n"
|
||||
@ -471,11 +475,14 @@ cfg(allocation_cache_pool_cachemode_CFG, "cache_pool_cachemode", allocation_CFG_
|
||||
|
||||
cfg(allocation_cache_mode_CFG, "cache_mode", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_MODE, vsn(2, 2, 128), NULL, 0, NULL,
|
||||
"The default cache mode used for new cache.\n"
|
||||
"Possible options are: writethrough, writeback.\n"
|
||||
"writethrough - Data blocks are immediately written from\n"
|
||||
"the cache to disk.\n"
|
||||
"writeback - Data blocks are written from the cache back\n"
|
||||
"to disk after some delay to improve performance.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" writethrough\n"
|
||||
" Data blocks are immediately written from the cache to disk.\n"
|
||||
" writeback\n"
|
||||
" Data blocks are written from the cache back to disk after some\n"
|
||||
" delay to improve performance.\n"
|
||||
"#\n"
|
||||
"This setting replaces allocation/cache_pool_cachemode.\n")
|
||||
|
||||
cfg(allocation_cache_policy_CFG, "cache_policy", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, 0, vsn(2, 2, 128), NULL, 0, NULL,
|
||||
@ -513,19 +520,28 @@ cfg(allocation_thin_pool_zero_CFG, "thin_pool_zero", allocation_CFG_SECTION, CFG
|
||||
|
||||
cfg(allocation_thin_pool_discards_CFG, "thin_pool_discards", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_THIN_POOL_DISCARDS, vsn(2, 2, 99), NULL, 0, NULL,
|
||||
"The discards behaviour of thin pool volumes.\n"
|
||||
"Possible options are: ignore, nopassdown, passdown.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" ignore\n"
|
||||
" nopassdown\n"
|
||||
" passdown\n"
|
||||
"#\n")
|
||||
|
||||
cfg(allocation_thin_pool_chunk_size_policy_CFG, "thin_pool_chunk_size_policy", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_THIN_POOL_CHUNK_SIZE_POLICY, vsn(2, 2, 101), NULL, 0, NULL,
|
||||
"The chunk size calculation policy for thin pool volumes.\n"
|
||||
"Possible options are: generic, performance.\n"
|
||||
"generic - If thin_pool_chunk_size is defined, use it.\n"
|
||||
"Otherwise, calculate the chunk size based on estimation and\n"
|
||||
"device hints exposed in sysfs - the minimum_io_size.\n"
|
||||
"The chunk size is always at least 64KiB.\n"
|
||||
"performance - If thin_pool_chunk_size is defined, use it.\n"
|
||||
"Otherwise, calculate the chunk size for performance based on\n"
|
||||
"device hints exposed in sysfs - the optimal_io_size.\n"
|
||||
"The chunk size is always at least 512KiB.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" generic\n"
|
||||
" If thin_pool_chunk_size is defined, use it. Otherwise, calculate\n"
|
||||
" the chunk size based on estimation and device hints exposed in\n"
|
||||
" sysfs - the minimum_io_size. The chunk size is always at least\n"
|
||||
" 64KiB.\n"
|
||||
" performance\n"
|
||||
" If thin_pool_chunk_size is defined, use it. Otherwise, calculate\n"
|
||||
" the chunk size for performance based on device hints exposed in\n"
|
||||
" sysfs - the optimal_io_size. The chunk size is always at least\n"
|
||||
" 512KiB.\n"
|
||||
"#\n")
|
||||
|
||||
cfg_runtime(allocation_thin_pool_chunk_size_CFG, "thin_pool_chunk_size", allocation_CFG_SECTION, CFG_PROFILABLE | CFG_PROFILABLE_METADATA | CFG_DEFAULT_UNDEFINED, CFG_TYPE_INT, vsn(2, 2, 99), 0, NULL,
|
||||
"The minimal chunk size in KiB for thin pool volumes.\n"
|
||||
@ -679,24 +695,33 @@ cfg(global_etc_CFG, "etc", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_ETC_D
|
||||
|
||||
cfg(global_locking_type_CFG, "locking_type", global_CFG_SECTION, 0, CFG_TYPE_INT, 1, vsn(1, 0, 0), NULL, 0, NULL,
|
||||
"Type of locking to use.\n"
|
||||
"Type 0: turns off locking. Warning: this risks metadata\n"
|
||||
"corruption if commands run concurrently.\n"
|
||||
"Type 1: uses local file-based locking, the standard mode.\n"
|
||||
"Type 2: uses the external shared library locking_library.\n"
|
||||
"Type 3: uses built-in clustered locking with clvmd.\n"
|
||||
"This is incompatible with lvmetad. If use_lvmetad is enabled,\n"
|
||||
"lvm prints a warning and disables lvmetad use.\n"
|
||||
"Type 4: uses read-only locking which forbids any operations\n"
|
||||
"that might change metadata.\n"
|
||||
"Type 5: offers dummy locking for tools that do not need any locks.\n"
|
||||
"You should not need to set this directly; the tools will select\n"
|
||||
"when to use it instead of the configured locking_type.\n"
|
||||
"Do not use lvmetad or the kernel device-mapper driver with this\n"
|
||||
"locking type. It is used by the --readonly option that offers\n"
|
||||
"read-only access to Volume Group metadata that cannot be locked\n"
|
||||
"safely because it belongs to an inaccessible domain and might be\n"
|
||||
"in use, for example a virtual machine image or a disk that is\n"
|
||||
"shared by a clustered machine.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" 0\n"
|
||||
" Turns off locking. Warning: this risks metadata corruption if\n"
|
||||
" commands run concurrently.\n"
|
||||
" 1\n"
|
||||
" LVM uses local file-based locking, the standard mode.\n"
|
||||
" 2\n"
|
||||
" LVM uses the external shared library locking_library.\n"
|
||||
" 3\n"
|
||||
" LVM uses built-in clustered locking with clvmd.\n"
|
||||
" This is incompatible with lvmetad. If use_lvmetad is enabled,\n"
|
||||
" LVM prints a warning and disables lvmetad use.\n"
|
||||
" 4\n"
|
||||
" LVM uses read-only locking which forbids any operations that\n"
|
||||
" might change metadata.\n"
|
||||
" 5\n"
|
||||
" Offers dummy locking for tools that do not need any locks.\n"
|
||||
" You should not need to set this directly; the tools will select\n"
|
||||
" when to use it instead of the configured locking_type.\n"
|
||||
" Do not use lvmetad or the kernel device-mapper driver with this\n"
|
||||
" locking type. It is used by the --readonly option that offers\n"
|
||||
" read-only access to Volume Group metadata that cannot be locked\n"
|
||||
" safely because it belongs to an inaccessible domain and might be\n"
|
||||
" in use, for example a virtual machine image or a disk that is\n"
|
||||
" shared by a clustered machine.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(global_wait_for_locks_CFG, "wait_for_locks", global_CFG_SECTION, 0, CFG_TYPE_BOOL, DEFAULT_WAIT_FOR_LOCKS, vsn(2, 2, 50), NULL, 0, NULL,
|
||||
"When disabled, fail if a lock request would block.\n")
|
||||
@ -763,55 +788,65 @@ cfg(global_metadata_read_only_CFG, "metadata_read_only", global_CFG_SECTION, 0,
|
||||
|
||||
cfg(global_mirror_segtype_default_CFG, "mirror_segtype_default", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_MIRROR_SEGTYPE, vsn(2, 2, 87), "@DEFAULT_MIRROR_SEGTYPE@", 0, NULL,
|
||||
"The segment type used by the short mirroring option -m.\n"
|
||||
"Possible options are: mirror, raid1.\n"
|
||||
"mirror - the original RAID1 implementation from LVM/DM.\n"
|
||||
"It is characterized by a flexible log solution (core,\n"
|
||||
"disk, mirrored), and by the necessity to block I/O while\n"
|
||||
"handling a failure.\n"
|
||||
"There is an inherent race in the dmeventd failure\n"
|
||||
"handling logic with snapshots of devices using this\n"
|
||||
"type of RAID1 that in the worst case could cause a\n"
|
||||
"deadlock. (Also see devices/ignore_lvm_mirrors.)\n"
|
||||
"raid1 - a newer RAID1 implementation using the MD RAID1\n"
|
||||
"personality through device-mapper. It is characterized\n"
|
||||
"by a lack of log options. (A log is always allocated for\n"
|
||||
"every device and they are placed on the same device as the\n"
|
||||
"image - no separate devices are required.) This mirror\n"
|
||||
"implementation does not require I/O to be blocked while\n"
|
||||
"handling a failure. This mirror implementation is not\n"
|
||||
"cluster-aware and cannot be used in a shared (active/active)\n"
|
||||
"fashion in a cluster.\n"
|
||||
"The '--type mirror|raid1' option overrides this setting.\n")
|
||||
"The --type mirror|raid1 option overrides this setting.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" mirror\n"
|
||||
" The original RAID1 implementation from LVM/DM. It is\n"
|
||||
" characterized by a flexible log solution (core, disk, mirrored),\n"
|
||||
" and by the necessity to block I/O while handling a failure.\n"
|
||||
" There is an inherent race in the dmeventd failure handling logic\n"
|
||||
" with snapshots of devices using this type of RAID1 that in the\n"
|
||||
" worst case could cause a deadlock. (Also see\n"
|
||||
" devices/ignore_lvm_mirrors.)\n"
|
||||
" raid1\n"
|
||||
" This is a newer RAID1 implementation using the MD RAID1\n"
|
||||
" personality through device-mapper. It is characterized by a\n"
|
||||
" lack of log options. (A log is always allocated for every\n"
|
||||
" device and they are placed on the same device as the image,\n"
|
||||
" so no separate devices are required.) This mirror\n"
|
||||
" implementation does not require I/O to be blocked while\n"
|
||||
" handling a failure. This mirror implementation is not\n"
|
||||
" cluster-aware and cannot be used in a shared (active/active)\n"
|
||||
" fashion in a cluster.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(global_raid10_segtype_default_CFG, "raid10_segtype_default", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_RAID10_SEGTYPE, vsn(2, 2, 99), "@DEFAULT_RAID10_SEGTYPE@", 0, NULL,
|
||||
"The segment type used by the -i -m combination.\n"
|
||||
"The --stripes/-i and --mirrors/-m options can both\n"
|
||||
"be specified during the creation of a logical volume\n"
|
||||
"to use both striping and mirroring for the LV.\n"
|
||||
"There are two different implementations.\n"
|
||||
"Possible options are: raid10, mirror.\n"
|
||||
"raid10 - LVM uses MD's RAID10 personality through DM.\n"
|
||||
"mirror - LVM layers the 'mirror' and 'stripe' segment types.\n"
|
||||
"The layering is done by creating a mirror LV on top of\n"
|
||||
"striped sub-LVs, effectively creating a RAID 0+1 array.\n"
|
||||
"The layering is suboptimal in terms of providing redundancy\n"
|
||||
"and performance. The 'raid10' option is perferred.\n"
|
||||
"The '--type raid10|mirror' option overrides this setting.\n")
|
||||
"The --stripes/-i and --mirrors/-m options can both be specified\n"
|
||||
"during the creation of a logical volume to use both striping and\n"
|
||||
"mirroring for the LV. There are two different implementations.\n"
|
||||
"The --type raid10|mirror option overrides this setting.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" raid10\n"
|
||||
" LVM uses MD's RAID10 personality through DM. This is the\n"
|
||||
" preferred option.\n"
|
||||
" mirror\n"
|
||||
" LVM layers the 'mirror' and 'stripe' segment types. The layering\n"
|
||||
" is done by creating a mirror LV on top of striped sub-LVs,\n"
|
||||
" effectively creating a RAID 0+1 array. The layering is suboptimal\n"
|
||||
" in terms of providing redundancy and performance.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(global_sparse_segtype_default_CFG, "sparse_segtype_default", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_SPARSE_SEGTYPE, vsn(2, 2, 112), "@DEFAULT_SPARSE_SEGTYPE@", 0, NULL,
|
||||
"The segment type used by the -V -L combination.\n"
|
||||
"The combination of -V and -L options creates a\n"
|
||||
"sparse LV. There are two different implementations.\n"
|
||||
"Possible options are: snapshot, thin.\n"
|
||||
"snapshot - The original snapshot implementation from LVM/DM.\n"
|
||||
"It uses an old snapshot that mixes data and metadata within\n"
|
||||
"a single COW storage volume and performs poorly when the\n"
|
||||
"size of stored data passes hundreds of MB.\n"
|
||||
"thin - A newer implementation that uses thin provisioning.\n"
|
||||
"It has a bigger minimal chunk size (64KiB) and uses a separate\n"
|
||||
"volume for metadata. It has better performance, especially\n"
|
||||
"when more data is used. It also supports full snapshots.\n"
|
||||
"The '--type snapshot|thin' option overrides this setting.\n")
|
||||
"The combination of -V and -L options creates a sparse LV. There are\n"
|
||||
"two different implementations.\n"
|
||||
"The --type snapshot|thin option overrides this setting.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" snapshot\n"
|
||||
" The original snapshot implementation from LVM/DM. It uses an old\n"
|
||||
" snapshot that mixes data and metadata within a single COW\n"
|
||||
" storage volume and performs poorly when the size of stored data\n"
|
||||
" passes hundreds of MB.\n"
|
||||
" thin\n"
|
||||
" A newer implementation that uses thin provisioning. It has a\n"
|
||||
" bigger minimal chunk size (64KiB) and uses a separate volume for\n"
|
||||
" metadata. It has better performance, especially when more data\n"
|
||||
" is used. It also supports full snapshots.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(global_lvdisplay_shows_full_device_path_CFG, "lvdisplay_shows_full_device_path", global_CFG_SECTION, CFG_PROFILABLE | CFG_DEFAULT_COMMENTED, CFG_TYPE_BOOL, DEFAULT_LVDISPLAY_SHOWS_FULL_DEVICE_PATH, vsn(2, 2, 89), NULL, 0, NULL,
|
||||
"Enable this to reinstate the previous lvdisplay name format.\n"
|
||||
@ -959,23 +994,28 @@ cfg_array(global_cache_repair_options_CFG, "cache_repair_options", global_CFG_SE
|
||||
|
||||
cfg(global_system_id_source_CFG, "system_id_source", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_SYSTEM_ID_SOURCE, vsn(2, 2, 117), NULL, 0, NULL,
|
||||
"The method LVM uses to set the local system ID.\n"
|
||||
"Volume Groups can also be given a system ID (by\n"
|
||||
"vgcreate, vgchange, or vgimport.)\n"
|
||||
"A VG on shared storage devices is accessible only\n"
|
||||
"to the host with a matching system ID.\n"
|
||||
"See 'man lvmsystemid' for information on limitations\n"
|
||||
"and correct usage.\n"
|
||||
"Possible options are: none, lvmlocal, uname, machineid, file.\n"
|
||||
"none - The host has no system ID.\n"
|
||||
"lvmlocal - Obtain the system ID from the system_id setting in the\n"
|
||||
"'local' section of an lvm configuration file, e.g. lvmlocal.conf.\n"
|
||||
"uname - Set the system ID from the hostname (uname) of the system.\n"
|
||||
"System IDs beginning localhost are not permitted.\n"
|
||||
"machineid - Use the contents of the machine-id file to set the\n"
|
||||
"system ID. Some systems create this file at installation time.\n"
|
||||
"See 'man machine-id' and global/etc.\n"
|
||||
"file - Use the contents of another file (system_id_file) to set\n"
|
||||
"the system ID.\n")
|
||||
"Volume Groups can also be given a system ID (by vgcreate, vgchange,\n"
|
||||
"or vgimport.) A VG on shared storage devices is accessible only to\n"
|
||||
"the host with a matching system ID. See 'man lvmsystemid' for\n"
|
||||
"information on limitations and correct usage.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" none\n"
|
||||
" The host has no system ID.\n"
|
||||
" lvmlocal\n"
|
||||
" Obtain the system ID from the system_id setting in the 'local'\n"
|
||||
" section of an lvm configuration file, e.g. lvmlocal.conf.\n"
|
||||
" uname\n"
|
||||
" Set the system ID from the hostname (uname) of the system.\n"
|
||||
" System IDs beginning localhost are not permitted.\n"
|
||||
" machineid\n"
|
||||
" Use the contents of the machine-id file to set the system ID.\n"
|
||||
" Some systems create this file at installation time.\n"
|
||||
" See 'man machine-id' and global/etc.\n"
|
||||
" file\n"
|
||||
" Use the contents of another file (system_id_file) to set the\n"
|
||||
" system ID.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(global_system_id_file_CFG, "system_id_file", global_CFG_SECTION, CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, NULL, vsn(2, 2, 117), NULL, 0, NULL,
|
||||
"The full path to the file containing a system ID.\n"
|
||||
@ -1061,18 +1101,23 @@ cfg(activation_process_priority_CFG, "process_priority", activation_CFG_SECTION,
|
||||
|
||||
cfg_array(activation_volume_list_CFG, "volume_list", activation_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, NULL, vsn(1, 0, 18), NULL, 0, NULL,
|
||||
"Only LVs selected by this list are activated.\n"
|
||||
"If this list is defined, an LV is only activated\n"
|
||||
"if it matches an entry in this list.\n"
|
||||
"If this list is undefined, it imposes no limits\n"
|
||||
"If this list is defined, an LV is only activated if it matches an\n"
|
||||
"entry in this list. If this list is undefined, it imposes no limits\n"
|
||||
"on LV activation (all are allowed).\n"
|
||||
"Possible options are: vgname, vgname/lvname, @tag, @*\n"
|
||||
"vgname is matched exactly and selects all LVs in the VG.\n"
|
||||
"vgname/lvname is matched exactly and selects the LV.\n"
|
||||
"@tag selects if tag matches a tag set on the LV or VG.\n"
|
||||
"@* selects if a tag defined on the host is also set on\n"
|
||||
"the LV or VG. See tags/hosttags.\n"
|
||||
"If any host tags exist but volume_list is not defined,\n"
|
||||
"a default single-entry list containing '@*' is assumed.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" vgname\n"
|
||||
" The VG name is matched exactly and selects all LVs in the VG.\n"
|
||||
" vgname/lvname\n"
|
||||
" The VG name and LV name are matched exactly and selects the LV.\n"
|
||||
" @tag\n"
|
||||
" Selects an LV if the specified tag matches a tag set on the LV\n"
|
||||
" or VG.\n"
|
||||
" @*\n"
|
||||
" Selects an LV if a tag defined on the host is also set on the LV\n"
|
||||
" or VG. See tags/hosttags. If any host tags exist but volume_list\n"
|
||||
" is not defined, a default single-entry list containing '@*' is\n"
|
||||
" assumed.\n"
|
||||
"#\n"
|
||||
"Example\n"
|
||||
"volume_list = [ \"vg1\", \"vg2/lvol1\", \"@tag1\", \"@*\" ]\n"
|
||||
@ -1080,43 +1125,64 @@ cfg_array(activation_volume_list_CFG, "volume_list", activation_CFG_SECTION, CFG
|
||||
|
||||
cfg_array(activation_auto_activation_volume_list_CFG, "auto_activation_volume_list", activation_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, NULL, vsn(2, 2, 97), NULL, 0, NULL,
|
||||
"Only LVs selected by this list are auto-activated.\n"
|
||||
"This list works like volume_list, but it is used\n"
|
||||
"only by auto-activation commands. It does not apply\n"
|
||||
"to direct activation commands.\n"
|
||||
"If this list is defined, an LV is only auto-activated\n"
|
||||
"if it matches an entry in this list.\n"
|
||||
"If this list is undefined, it imposes no limits\n"
|
||||
"on LV auto-activation (all are allowed.)\n"
|
||||
"If this list is defined and empty, i.e. \"[]\",\n"
|
||||
"then no LVs are selected for auto-activation.\n"
|
||||
"An LV that is selected by this list for\n"
|
||||
"auto-activation, must also be selected by\n"
|
||||
"volume_list (if defined) before it is activated.\n"
|
||||
"Auto-activation is an activation command that\n"
|
||||
"includes the 'a' argument: --activate ay or -a ay,\n"
|
||||
"e.g. vgchange -a ay, or lvchange -a ay vgname/lvname.\n"
|
||||
"The 'a' (auto) argument for auto-activation is\n"
|
||||
"meant to be used by activation commands that are\n"
|
||||
"run automatically by the system, as opposed to\n"
|
||||
"LVM commands run directly by a user. A user may\n"
|
||||
"also use the 'a' flag directly to perform auto-\n"
|
||||
"activation.\n"
|
||||
"An example of a system-generated auto-activation\n"
|
||||
"command is 'pvscan --cache -aay' which is generated\n"
|
||||
"when udev and lvmetad detect a new VG has appeared\n"
|
||||
"on the system, and want LVs in it to be auto-activated.\n"
|
||||
"Possible options are: vgname, vgname/lvname, @tag, @*\n"
|
||||
"See volume_list for how these options are matched to LVs.\n")
|
||||
"This list works like volume_list, but it is used only by\n"
|
||||
"auto-activation commands. It does not apply to direct activation\n"
|
||||
"commands. If this list is defined, an LV is only auto-activated\n"
|
||||
"if it matches an entry in this list. If this list is undefined, it\n"
|
||||
"imposes no limits on LV auto-activation (all are allowed.) If this\n"
|
||||
"list is defined and empty, i.e. \"[]\", then no LVs are selected for\n"
|
||||
"auto-activation. An LV that is selected by this list for\n"
|
||||
"auto-activation, must also be selected by volume_list (if defined)\n"
|
||||
"before it is activated. Auto-activation is an activation command that\n"
|
||||
"includes the 'a' argument: --activate ay or -a ay. The 'a' (auto)\n"
|
||||
"argument for auto-activation is meant to be used by activation\n"
|
||||
"commands that are run automatically by the system, as opposed to LVM\n"
|
||||
"commands run directly by a user. A user may also use the 'a' flag\n"
|
||||
"directly to perform auto-activation. Also see pvscan(8) for more\n"
|
||||
"information about auto-activation.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" vgname\n"
|
||||
" The VG name is matched exactly and selects all LVs in the VG.\n"
|
||||
" vgname/lvname\n"
|
||||
" The VG name and LV name are matched exactly and selects the LV.\n"
|
||||
" @tag\n"
|
||||
" Selects an LV if the specified tag matches a tag set on the LV\n"
|
||||
" or VG.\n"
|
||||
" @*\n"
|
||||
" Selects an LV if a tag defined on the host is also set on the LV\n"
|
||||
" or VG. See tags/hosttags. If any host tags exist but volume_list\n"
|
||||
" is not defined, a default single-entry list containing '@*' is\n"
|
||||
" assumed.\n"
|
||||
"#\n"
|
||||
"Example\n"
|
||||
"volume_list = [ \"vg1\", \"vg2/lvol1\", \"@tag1\", \"@*\" ]\n"
|
||||
"#\n")
|
||||
|
||||
cfg_array(activation_read_only_volume_list_CFG, "read_only_volume_list", activation_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, NULL, vsn(2, 2, 89), NULL, 0, NULL,
|
||||
"LVs in this list are activated in read-only mode.\n"
|
||||
"If this list is defined, each LV that is to be activated\n"
|
||||
"is checked against this list, and if it matches, it is\n"
|
||||
"activated in read-only mode.\n"
|
||||
"This overrides the permission setting stored in the\n"
|
||||
"metadata, e.g. from --permission rw.\n"
|
||||
"Possible options are: vgname, vgname/lvname, @tag, @*\n"
|
||||
"See volume_list for how these options are matched to LVs.\n")
|
||||
"If this list is defined, each LV that is to be activated is checked\n"
|
||||
"against this list, and if it matches, it is activated in read-only\n"
|
||||
"mode. This overrides the permission setting stored in the metadata,\n"
|
||||
"e.g. from --permission rw.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" vgname\n"
|
||||
" The VG name is matched exactly and selects all LVs in the VG.\n"
|
||||
" vgname/lvname\n"
|
||||
" The VG name and LV name are matched exactly and selects the LV.\n"
|
||||
" @tag\n"
|
||||
" Selects an LV if the specified tag matches a tag set on the LV\n"
|
||||
" or VG.\n"
|
||||
" @*\n"
|
||||
" Selects an LV if a tag defined on the host is also set on the LV\n"
|
||||
" or VG. See tags/hosttags. If any host tags exist but volume_list\n"
|
||||
" is not defined, a default single-entry list containing '@*' is\n"
|
||||
" assumed.\n"
|
||||
"#\n"
|
||||
"Example\n"
|
||||
"volume_list = [ \"vg1\", \"vg2/lvol1\", \"@tag1\", \"@*\" ]\n"
|
||||
"#\n")
|
||||
|
||||
cfg(activation_mirror_region_size_CFG, "mirror_region_size", activation_CFG_SECTION, 0, CFG_TYPE_INT, DEFAULT_RAID_REGION_SIZE, vsn(1, 0, 0), NULL, vsn(2, 2, 99),
|
||||
"This has been replaced by the activation/raid_region_size setting.\n",
|
||||
@ -1140,62 +1206,70 @@ cfg(activation_error_when_full_CFG, "error_when_full", activation_CFG_SECTION, C
|
||||
|
||||
cfg(activation_readahead_CFG, "readahead", activation_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_READ_AHEAD, vsn(1, 0, 23), NULL, 0, NULL,
|
||||
"Setting to use when there is no readahead setting in metadata.\n"
|
||||
"Possible options are: none, auto.\n"
|
||||
"none - Disable readahead.\n"
|
||||
"auto - Use default value chosen by kernel.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" none\n"
|
||||
" Disable readahead.\n"
|
||||
" auto\n"
|
||||
" Use default value chosen by kernel.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(activation_raid_fault_policy_CFG, "raid_fault_policy", activation_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_RAID_FAULT_POLICY, vsn(2, 2, 89), NULL, 0, NULL,
|
||||
"Defines how a device failure in a RAID LV is handled.\n"
|
||||
"This includes LVs that have the following segment types:\n"
|
||||
"raid1, raid4, raid5*, and raid6*.\n"
|
||||
"If a device in the LV fails, the policy determines the\n"
|
||||
"steps perfomed by dmeventd automatically, and the steps\n"
|
||||
"perfomed by 'lvconvert --repair --use-policies' run manually.\n"
|
||||
"If a device in the LV fails, the policy determines the steps\n"
|
||||
"performed by dmeventd automatically, and the steps perfomed by the\n"
|
||||
"manual command lvconvert --repair --use-policies.\n"
|
||||
"Automatic handling requires dmeventd to be monitoring the LV.\n"
|
||||
"Possible options are: warn, allocate.\n"
|
||||
"warn - Use the system log to warn the user that a device\n"
|
||||
"in the RAID LV has failed. It is left to the user to run\n"
|
||||
"'lvconvert --repair' manually to remove or replace the failed\n"
|
||||
"device. As long as the number of failed devices does not\n"
|
||||
"exceed the redundancy of the logical volume (1 device for\n"
|
||||
"raid4/5, 2 for raid6, etc) the LV will remain usable.\n"
|
||||
"allocate - Attempt to use any extra physical volumes in the\n"
|
||||
"volume group as spares and replace faulty devices.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" warn\n"
|
||||
" Use the system log to warn the user that a device in the RAID LV\n"
|
||||
" has failed. It is left to the user to run lvconvert --repair\n"
|
||||
" manually to remove or replace the failed device. As long as the\n"
|
||||
" number of failed devices does not exceed the redundancy of the LV\n"
|
||||
" (1 device for raid4/5, 2 for raid6), the LV will remain usable.\n"
|
||||
" allocate\n"
|
||||
" Attempt to use any extra physical volumes in the VG as spares and\n"
|
||||
" replace faulty devices.\n"
|
||||
"#\n")
|
||||
|
||||
cfg_runtime(activation_mirror_image_fault_policy_CFG, "mirror_image_fault_policy", activation_CFG_SECTION, 0, CFG_TYPE_STRING, vsn(2, 2, 57), 0, NULL,
|
||||
"Defines how a device failure in a 'mirror' LV is handled.\n"
|
||||
"An LV with the 'mirror' segment type is composed of mirror\n"
|
||||
"images (copies) and a mirror log.\n"
|
||||
"A disk log ensures that a mirror LV does not need to be\n"
|
||||
"re-synced (all copies made the same) every time a machine\n"
|
||||
"reboots or crashes.\n"
|
||||
"If a device in the LV fails, this policy determines the\n"
|
||||
"steps perfomed by dmeventd automatically, and the steps\n"
|
||||
"performed by 'lvconvert --repair --use-policies' run manually.\n"
|
||||
"An LV with the 'mirror' segment type is composed of mirror images\n"
|
||||
"(copies) and a mirror log. A disk log ensures that a mirror LV does\n"
|
||||
"not need to be re-synced (all copies made the same) every time a\n"
|
||||
"machine reboots or crashes. If a device in the LV fails, this policy\n"
|
||||
"determines the steps perfomed by dmeventd automatically, and the steps\n"
|
||||
"performed by the manual command lvconvert --repair --use-policies.\n"
|
||||
"Automatic handling requires dmeventd to be monitoring the LV.\n"
|
||||
"Possible options are: remove, allocate, allocate_anywhere.\n"
|
||||
"remove - Simply remove the faulty device and run without it.\n"
|
||||
"If the log device fails, the mirror would convert to using\n"
|
||||
"an in-memory log. This means the mirror will not\n"
|
||||
"remember its sync status across crashes/reboots and\n"
|
||||
"the entire mirror will be re-synced.\n"
|
||||
"If a mirror image fails, the mirror will convert to a\n"
|
||||
"non-mirrored device if there is only one remaining good copy.\n"
|
||||
"allocate - Remove the faulty device and try to allocate space\n"
|
||||
"on a new device to be a replacement for the failed device.\n"
|
||||
"Using this policy for the log is fast and maintains the\n"
|
||||
"ability to remember sync state through crashes/reboots.\n"
|
||||
"Using this policy for a mirror device is slow, as it\n"
|
||||
"requires the mirror to resynchronize the devices, but it\n"
|
||||
"will preserve the mirror characteristic of the device.\n"
|
||||
"This policy acts like 'remove' if no suitable device and\n"
|
||||
"space can be allocated for the replacement.\n"
|
||||
"allocate_anywhere - Not yet implemented. Useful to place\n"
|
||||
"the log device temporarily on the same physical volume as\n"
|
||||
"one of the mirror images. This policy is not recommended\n"
|
||||
"for mirror devices since it would break the redundant nature\n"
|
||||
"of the mirror. This policy acts like 'remove' if no suitable\n"
|
||||
"device and space can be allocated for the replacement.\n")
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" remove\n"
|
||||
" Simply remove the faulty device and run without it. If the log\n"
|
||||
" device fails, the mirror would convert to using an in-memory log.\n"
|
||||
" This means the mirror will not remember its sync status across\n"
|
||||
" crashes/reboots and the entire mirror will be re-synced. If a\n"
|
||||
" mirror image fails, the mirror will convert to a non-mirrored\n"
|
||||
" device if there is only one remaining good copy.\n"
|
||||
" allocate\n"
|
||||
" Remove the faulty device and try to allocate space on a new\n"
|
||||
" device to be a replacement for the failed device. Using this\n"
|
||||
" policy for the log is fast and maintains the ability to remember\n"
|
||||
" sync state through crashes/reboots. Using this policy for a\n"
|
||||
" mirror device is slow, as it requires the mirror to resynchronize\n"
|
||||
" the devices, but it will preserve the mirror characteristic of\n"
|
||||
" the device. This policy acts like 'remove' if no suitable device\n"
|
||||
" and space can be allocated for the replacement.\n"
|
||||
" allocate_anywhere\n"
|
||||
" Not yet implemented. Useful to place the log device temporarily\n"
|
||||
" on the same physical volume as one of the mirror images. This\n"
|
||||
" policy is not recommended for mirror devices since it would break\n"
|
||||
" the redundant nature of the mirror. This policy acts like\n"
|
||||
" 'remove' if no suitable device and space can be allocated for the\n"
|
||||
" replacement.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(activation_mirror_log_fault_policy_CFG, "mirror_log_fault_policy", activation_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_MIRROR_LOG_FAULT_POLICY, vsn(1, 2, 18), NULL, 0, NULL,
|
||||
"Defines how a device failure in a 'mirror' log LV is handled.\n"
|
||||
@ -1308,21 +1382,23 @@ cfg(activation_auto_set_activation_skip_CFG, "auto_set_activation_skip", activat
|
||||
|
||||
cfg(activation_mode_CFG, "activation_mode", activation_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_ACTIVATION_MODE, vsn(2,2,108), NULL, 0, NULL,
|
||||
"How LVs with missing devices are activated.\n"
|
||||
"Possible options are: complete, degraded, partial.\n"
|
||||
"complete - Only allow activation of an LV if all of\n"
|
||||
"the Physical Volumes it uses are present. Other PVs\n"
|
||||
"in the Volume Group may be missing.\n"
|
||||
"degraded - Like complete, but additionally RAID LVs of\n"
|
||||
"segment type raid1, raid4, raid5, radid6 and raid10 will\n"
|
||||
"be activated if there is no data loss, i.e. they have\n"
|
||||
"sufficient redundancy to present the entire addressable\n"
|
||||
"range of the Logical Volume.\n"
|
||||
"partial - Allows the activation of any LV even if a\n"
|
||||
"missing or failed PV could cause data loss with a\n"
|
||||
"portion of the Logical Volume inaccessible.\n"
|
||||
"This setting should not normally be used, but may\n"
|
||||
"sometimes assist with data recovery.\n"
|
||||
"The '--activationmode' option overrides this setting.\n")
|
||||
"The '--activationmode' option overrides this setting.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" complete\n"
|
||||
" Only allow activation of an LV if all of the Physical Volumes it\n"
|
||||
" uses are present. Other PVs in the Volume Group may be missing.\n"
|
||||
" degraded\n"
|
||||
" Like complete, but additionally RAID LVs of segment type raid1,\n"
|
||||
" raid4, raid5, radid6 and raid10 will be activated if there is no\n"
|
||||
" data loss, i.e. they have sufficient redundancy to present the\n"
|
||||
" entire addressable range of the Logical Volume.\n"
|
||||
" partial\n"
|
||||
" Allows the activation of any LV even if a missing or failed PV\n"
|
||||
" could cause data loss with a portion of the LV inaccessible.\n"
|
||||
" This setting should not normally be used, but may sometimes\n"
|
||||
" assist with data recovery.\n"
|
||||
"#\n")
|
||||
|
||||
cfg_array(activation_lock_start_list_CFG, "lock_start_list", activation_CFG_SECTION, CFG_ALLOW_EMPTY|CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, NULL, vsn(2, 2, 124), NULL, 0, NULL,
|
||||
"Locking is started only for VGs selected by this list.\n"
|
||||
@ -1334,13 +1410,18 @@ cfg_array(activation_auto_lock_start_list_CFG, "auto_lock_start_list", activatio
|
||||
|
||||
cfg(metadata_pvmetadatacopies_CFG, "pvmetadatacopies", metadata_CFG_SECTION, CFG_ADVANCED | CFG_DEFAULT_COMMENTED, CFG_TYPE_INT, DEFAULT_PVMETADATACOPIES, vsn(1, 0, 0), NULL, 0, NULL,
|
||||
"Number of copies of metadata to store on each PV.\n"
|
||||
"Possible options are: 0, 1, 2.\n"
|
||||
"If set to 2, two copies of the VG metadata are stored on\n"
|
||||
"the PV, one at the front of the PV, and one at the end.\n"
|
||||
"If set to 1, one copy is stored at the front of the PV.\n"
|
||||
"If set to 0, no copies are stored on the PV. This may\n"
|
||||
"be useful with VGs containing large numbers of PVs.\n"
|
||||
"The '--pvmetadatacopies' option overrides this setting.\n")
|
||||
"The '--pvmetadatacopies' option overrides this setting.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" 2\n"
|
||||
" Two copies of the VG metadata are stored on the PV, one at the\n"
|
||||
" front of the PV, and one at the end.\n"
|
||||
" 1\n"
|
||||
" One copy of VG metadata is stored at the front of the PV.\n"
|
||||
" 0\n"
|
||||
" No copies of VG metadata are stored on the PV. This may be\n"
|
||||
" useful for VGs containing large numbers of PVs.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(metadata_vgmetadatacopies_CFG, "vgmetadatacopies", metadata_CFG_SECTION, CFG_DEFAULT_COMMENTED, CFG_TYPE_INT, DEFAULT_VGMETADATACOPIES, vsn(2, 2, 69), NULL, 0, NULL,
|
||||
"Number of copies of metadata to maintain for each VG.\n"
|
||||
@ -1438,75 +1519,134 @@ cfg(report_binary_values_as_numeric_CFG, "binary_values_as_numeric", report_CFG_
|
||||
cfg(report_time_format_CFG, "time_format", report_CFG_SECTION, CFG_PROFILABLE | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_TIME_FORMAT, vsn(2, 2, 123), NULL, 0, NULL,
|
||||
"Set time format for fields reporting time values.\n"
|
||||
"Format specification is a string which may contain special character\n"
|
||||
"sequences and ordinary character sequences. Ordinary character sequences\n"
|
||||
"are copied verbatim. Each special character sequence is introduced by \'%\'\n"
|
||||
"character and such sequence is then substituted with a value as described below:\n"
|
||||
"\%a The abbreviated name of the day of the week according to the\n"
|
||||
" current locale.\n"
|
||||
"\%A The full name of the day of the week according to the current locale.\n"
|
||||
"\%b The abbreviated month name according to the current locale.\n"
|
||||
"\%B The full month name according to the current locale.\n"
|
||||
"\%c The preferred date and time representation for the current locale. (alt E)\n"
|
||||
"\%C The century number (year/100) as a 2-digit integer. (alt E)\n"
|
||||
"\%d The day of the month as a decimal number (range 01 to 31). (alt O)\n"
|
||||
"\%D Equivalent to \%m/\%d/\%y. (For Americans only. Americans should\n"
|
||||
" note that in other countries\%d/\%m/\%y is rather common. This means\n"
|
||||
" that in international context this format is ambiguous and should not\n"
|
||||
" be used.\n"
|
||||
"\%e Like \%d, the day of the month as a decimal number, but a leading zero\n"
|
||||
" is replaced by a space. (alt O)\n"
|
||||
"\%E Modifier: use alternative local-dependent representation if available.\n"
|
||||
"\%F Equivalent to \%Y-\%m-\%d (the ISO 8601 date format).\n"
|
||||
"\%G The ISO 8601 week-based year with century as adecimal number. The 4-digit\n"
|
||||
" year corresponding to the ISO week number (see \%V). This has the same\n"
|
||||
" format and value as \%Y, except that if the ISO week number belongs to\n"
|
||||
" the previous or next year, that year is used instead.\n"
|
||||
"\%g Like \%G, but without century, that is, with a 2-digit year (00-99).\n"
|
||||
"\%h Equivalent to \%b.\n"
|
||||
"\%H The hour as a decimal number using a 24-hour clock (range 00 to 23). (alt O)\n"
|
||||
"\%I The hour as a decimal number using a 12-hour clock (range 01 to 12). (alt O)\n"
|
||||
"\%j The day of the year as a decimal number (range 001 to 366).\n"
|
||||
"\%k The hour (24-hour clock) as a decimal number (range 0 to 23);\n"
|
||||
" single digits are preceded by a blank. (See also \%H.)\n"
|
||||
"\%l The hour (12-hour clock) as a decimal number (range 1 to 12);\n"
|
||||
" single digits are preceded by a blank. (See also \%I.)\n"
|
||||
"\%m The month as a decimal number (range 01 to 12). (alt O)\n"
|
||||
"\%M The minute as a decimal number (range 00 to 59). (alt O)\n"
|
||||
"\%O Modifier: use alternative numeric symbols.\n"
|
||||
"\%p Either \"AM\" or \"PM\" according to the given time value,\n"
|
||||
" or the corresponding strings for the current locale. Noon is\n"
|
||||
" treated as \"PM\" and midnight as \"AM\".\n"
|
||||
"\%P Like \%p but in lowercase: \"am\" or \"pm\" or a corresponding\n"
|
||||
" string for the current locale.\n"
|
||||
"\%r The time in a.m. or p.m. notation. In the POSIX locale this is\n"
|
||||
" equivalent to \%I:\%M:\%S \%p.\n"
|
||||
"\%R The time in 24-hour notation (\%H:\%M). For a version including\n"
|
||||
" the seconds, see \%T below.\n"
|
||||
"\%s The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC)\n"
|
||||
"\%S The second as a decimal number (range 00 to 60).\n"
|
||||
" (The range is up to 60 to allow for occasional leap seconds.) (alt O)\n"
|
||||
"\%t A tab character.\n"
|
||||
"\%T The time in 24-hour notation (\%H:\%M:\%S).\n"
|
||||
"\%u The day of the week as a decimal, range 1 to 7, Monday being 1.\n"
|
||||
" See also \%w. (alt O)\n"
|
||||
"\%U The week number of the current year as a decimal number,\n"
|
||||
" range 00 to 53, starting with the first Sunday as the first\n"
|
||||
" day of week 01. See also \%V and \%W. (alt O)\n"
|
||||
"\%V The ISO 8601 week number of the current year as a decimal number,\n"
|
||||
" range 01 to 53, where week 1 is the first week that has at least 4 days\n"
|
||||
" in the new year. See also \%U and \%W. (alt O)\n"
|
||||
"\%w The day of the week as a decimal, range 0 to 6, Sunday being 0.\n"
|
||||
" See also \%u. (alt O)\n"
|
||||
"\%W The week number of the current year as a decimal number, range 00 to 53,\n"
|
||||
" starting with the first Monday as the first day of week 01. (alt O)\n"
|
||||
"\%x The preferred date representation for the current locale without the time. (alt E)\n"
|
||||
"\%X The preferred time representation for the current locale without the date. (alt E)\n"
|
||||
"\%y The year as a decimal number without a century (range 00 to 99). (alt E, alt O)\n"
|
||||
"\%Y The year as a decimal number including the century. (alt E)\n"
|
||||
"\%z The +hhmm or -hhmm numeric timezone (that is, the hour and minute\n"
|
||||
" offset from UTC).\n"
|
||||
"\%Z The timezone name or abbreviation.\n"
|
||||
"\%\% A literal '\%' character.\n")
|
||||
"sequences and ordinary character sequences. Ordinary character\n"
|
||||
"sequences are copied verbatim. Each special character sequence is\n"
|
||||
"introduced by th e\'%\' character and such sequence is then\n"
|
||||
"substituted with a value as described below.\n"
|
||||
"#\n"
|
||||
"Accepted values:\n"
|
||||
" \%a\n"
|
||||
" The abbreviated name of the day of the week according to the\n"
|
||||
" current locale.\n"
|
||||
" \%A\n"
|
||||
" The full name of the day of the week according to the current\n"
|
||||
" locale.\n"
|
||||
" \%b\n"
|
||||
" The abbreviated month name according to the current locale.\n"
|
||||
" \%B\n"
|
||||
" The full month name according to the current locale.\n"
|
||||
" \%c\n"
|
||||
" The preferred date and time representation for the current\n"
|
||||
" locale (alt E)\n"
|
||||
" \%C\n"
|
||||
" The century number (year/100) as a 2-digit integer. (alt E)\n"
|
||||
" \%d\n"
|
||||
" The day of the month as a decimal number (range 01 to 31).\n"
|
||||
" (alt O)\n"
|
||||
" \%D\n"
|
||||
" Equivalent to \%m/\%d/\%y. (For Americans only. Americans should\n"
|
||||
" note that in other countries\%d/\%m/\%y is rather common. This\n"
|
||||
" means that in international context this format is ambiguous and\n"
|
||||
" should not be used.\n"
|
||||
" \%e\n"
|
||||
" Like \%d, the day of the month as a decimal number, but a leading\n"
|
||||
" zero is replaced by a space. (alt O)\n"
|
||||
" \%E\n"
|
||||
" Modifier: use alternative local-dependent representation if\n"
|
||||
" available.\n"
|
||||
" \%F\n"
|
||||
" Equivalent to \%Y-\%m-\%d (the ISO 8601 date format).\n"
|
||||
" \%G\n"
|
||||
" The ISO 8601 week-based year with century as adecimal number.\n"
|
||||
" The 4-digit year corresponding to the ISO week number (see \%V).\n"
|
||||
" This has the same format and value as \%Y, except that if the\n"
|
||||
" ISO week number belongs to the previous or next year, that year\n"
|
||||
" is used instead.\n"
|
||||
" \%g\n"
|
||||
" Like \%G, but without century, that is, with a 2-digit year\n"
|
||||
" (00-99).\n"
|
||||
" \%h\n"
|
||||
" Equivalent to \%b.\n"
|
||||
" \%H\n"
|
||||
" The hour as a decimal number using a 24-hour clock\n"
|
||||
" (range 00 to 23). (alt O)\n"
|
||||
" \%I\n"
|
||||
" The hour as a decimal number using a 12-hour clock\n"
|
||||
" (range 01 to 12). (alt O)\n"
|
||||
" \%j\n"
|
||||
" The day of the year as a decimal number (range 001 to 366).\n"
|
||||
" \%k\n"
|
||||
" The hour (24-hour clock) as a decimal number (range 0 to 23);\n"
|
||||
" single digits are preceded by a blank. (See also \%H.)\n"
|
||||
" \%l\n"
|
||||
" The hour (12-hour clock) as a decimal number (range 1 to 12);\n"
|
||||
" single digits are preceded by a blank. (See also \%I.)\n"
|
||||
" \%m\n"
|
||||
" The month as a decimal number (range 01 to 12). (alt O)\n"
|
||||
" \%M\n"
|
||||
" The minute as a decimal number (range 00 to 59). (alt O)\n"
|
||||
" \%O\n"
|
||||
" Modifier: use alternative numeric symbols.\n"
|
||||
" \%p\n"
|
||||
" Either \"AM\" or \"PM\" according to the given time value,\n"
|
||||
" or the corresponding strings for the current locale. Noon is\n"
|
||||
" treated as \"PM\" and midnight as \"AM\".\n"
|
||||
" \%P\n"
|
||||
" Like \%p but in lowercase: \"am\" or \"pm\" or a corresponding\n"
|
||||
" string for the current locale.\n"
|
||||
" \%r\n"
|
||||
" The time in a.m. or p.m. notation. In the POSIX locale this is\n"
|
||||
" equivalent to \%I:\%M:\%S \%p.\n"
|
||||
" \%R\n"
|
||||
" The time in 24-hour notation (\%H:\%M). For a version including\n"
|
||||
" the seconds, see \%T below.\n"
|
||||
" \%s\n"
|
||||
" The number of seconds since the Epoch,\n"
|
||||
" 1970-01-01 00:00:00 +0000 (UTC)\n"
|
||||
" \%S\n"
|
||||
" The second as a decimal number (range 00 to 60). (The range is\n"
|
||||
" up to 60 to allow for occasional leap seconds.) (alt O)\n"
|
||||
" \%t\n"
|
||||
" A tab character.\n"
|
||||
" \%T\n"
|
||||
" The time in 24-hour notation (\%H:\%M:\%S).\n"
|
||||
" \%u\n"
|
||||
" The day of the week as a decimal, range 1 to 7, Monday being 1.\n"
|
||||
" See also \%w. (alt O)\n"
|
||||
" \%U\n"
|
||||
" The week number of the current year as a decimal number,\n"
|
||||
" range 00 to 53, starting with the first Sunday as the first\n"
|
||||
" day of week 01. See also \%V and \%W. (alt O)\n"
|
||||
" \%V\n"
|
||||
" The ISO 8601 week number of the current year as a decimal number,\n"
|
||||
" range 01 to 53, where week 1 is the first week that has at least\n"
|
||||
" 4 days in the new year. See also \%U and \%W. (alt O)\n"
|
||||
" \%w\n"
|
||||
" The day of the week as a decimal, range 0 to 6, Sunday being 0.\n"
|
||||
" See also \%u. (alt O)\n"
|
||||
" \%W\n"
|
||||
" The week number of the current year as a decimal number,\n"
|
||||
" range 00 to 53, starting with the first Monday as the first day\n"
|
||||
" of week 01. (alt O)\n"
|
||||
" \%x\n"
|
||||
" The preferred date representation for the current locale without\n"
|
||||
" the time. (alt E)\n"
|
||||
" \%X\n"
|
||||
" The preferred time representation for the current locale without\n"
|
||||
" the date. (alt E)\n"
|
||||
" \%y\n"
|
||||
" The year as a decimal number without a century (range 00 to 99).\n"
|
||||
" (alt E, alt O)\n"
|
||||
" \%Y\n"
|
||||
" The year as a decimal number including the century. (alt E)\n"
|
||||
" \%z\n"
|
||||
" The +hhmm or -hhmm numeric timezone (that is, the hour and minute\n"
|
||||
" offset from UTC).\n"
|
||||
" \%Z\n"
|
||||
" The timezone name or abbreviation.\n"
|
||||
" \%\%\n"
|
||||
" A literal '\%' character.\n"
|
||||
"#\n")
|
||||
|
||||
cfg(report_devtypes_sort_CFG, "devtypes_sort", report_CFG_SECTION, CFG_PROFILABLE | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_DEVTYPES_SORT, vsn(2, 2, 101), NULL, 0, NULL,
|
||||
"List of columns to sort by when reporting 'lvm devtypes' command.\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user