From 6c3b05c9274014fb10767cf3c5a27fea1d2f84abce2254a9047650f81970c0a7 Mon Sep 17 00:00:00 2001 From: heming zhao Date: Sun, 4 Sep 2022 13:45:37 +0000 Subject: [PATCH] Accepting request 1001122 from home:hmzhao:branches:Base:System - Update patch - bug-1184687_Add-nolvm-for-kernel-cmdline.patch - update lvm2.spec - add '--disable-silent-rules' for verbose building, this option was mistakenly removed on last commit. - remove config item '--enable-realtime', which became default setting. - add config item "--enable-dmfilemapd" for new daemon dmfilemapd - lvm.conf - align upstream style, comment out default values OBS-URL: https://build.opensuse.org/request/show/1001122 OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=313 --- ...1184687_Add-nolvm-for-kernel-cmdline.patch | 35 +- lvm.conf | 315 ++++++++++++------ lvm2.changes | 15 + lvm2.spec | 11 +- 4 files changed, 248 insertions(+), 128 deletions(-) diff --git a/bug-1184687_Add-nolvm-for-kernel-cmdline.patch b/bug-1184687_Add-nolvm-for-kernel-cmdline.patch index 6da9f61..f0f0d86 100644 --- a/bug-1184687_Add-nolvm-for-kernel-cmdline.patch +++ b/bug-1184687_Add-nolvm-for-kernel-cmdline.patch @@ -12,14 +12,10 @@ allow user to enable lvm2 devices by manual. Signed-off-by: Heming Zhao --- - scripts/lvm2-pvscan.service.in | 1 + - udev/69-dm-lvm-metad.rules.in | 3 +++ - 2 files changed, 4 insertions(+) -diff --git a/scripts/lvm2-pvscan.service.in b/scripts/lvm2-pvscan.service.in -index 09753e8c9ef1..1977e4e215fb 100644 ---- a/scripts/lvm2-pvscan.service.in -+++ b/scripts/lvm2-pvscan.service.in +diff -Nupr a/scripts/lvm2-pvscan.service.in b/scripts/lvm2-pvscan.service.in +--- a/scripts/lvm2-pvscan.service.in 2022-09-02 14:05:03.706825230 +0800 ++++ b/scripts/lvm2-pvscan.service.in 2022-09-02 14:04:09.115063287 +0800 @@ -7,6 +7,7 @@ BindsTo=dev-block-%i.device After=multipathd.service Before=shutdown.target @@ -28,11 +24,10 @@ index 09753e8c9ef1..1977e4e215fb 100644 [Service] Type=oneshot -diff --git a/udev/69-dm-lvm-metad.rules.in b/udev/69-dm-lvm-metad.rules.in -index 78f506520c45..16e8536e8a2a 100644 ---- a/udev/69-dm-lvm-metad.rules.in -+++ b/udev/69-dm-lvm-metad.rules.in -@@ -19,6 +19,9 @@ SUBSYSTEM!="block", GOTO="lvm_end" +diff -Nupr a/udev/69-dm-lvm-metad.rules.in b/udev/69-dm-lvm-metad.rules.in +--- a/udev/69-dm-lvm-metad.rules.in 2022-09-02 14:04:42.618917180 +0800 ++++ b/udev/69-dm-lvm-metad.rules.in 2022-09-02 14:03:39.707191529 +0800 +@@ -12,6 +12,9 @@ SUBSYSTEM!="block", GOTO="lvm_end" ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="lvm_end" @@ -42,6 +37,16 @@ index 78f506520c45..16e8536e8a2a 100644 # Detect removed PV label by comparing previous ID_FS_TYPE value with current one. ENV{.ID_FS_TYPE_NEW}="$env{ID_FS_TYPE}" IMPORT{db}="ID_FS_TYPE" --- -1.8.3.1 - +diff -Nupr a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in +--- a/udev/69-dm-lvm.rules.in 2022-09-02 14:04:51.074880312 +0800 ++++ b/udev/69-dm-lvm.rules.in 2022-09-02 14:07:19.978230990 +0800 +@@ -10,6 +10,9 @@ SUBSYSTEM!="block", GOTO="lvm_end" + + ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="lvm_end" + ++IMPORT{cmdline}="nolvm" ++ENV{nolvm}=="?*", GOTO="lvm_end" ++ + # Only process devices already marked as a PV - this requires blkid to be called before. + ENV{ID_FS_TYPE}!="LVM2_member", GOTO="lvm_end" + ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="lvm_end" diff --git a/lvm.conf b/lvm.conf index b58c663..a18a93a 100644 --- a/lvm.conf +++ b/lvm.conf @@ -33,15 +33,18 @@ config { # any configuration mismatch is ignored and the default value is used # without any warning (a message about the configuration key not being # found is issued in verbose mode only). - checks = 1 + # This configuration option has an automatic default value. + # checks = 1 # Configuration option config/abort_on_errors. # Abort the LVM process if a configuration mismatch is found. - abort_on_errors = 0 + # This configuration option has an automatic default value. + # abort_on_errors = 0 # Configuration option config/profile_dir. # Directory where LVM looks for configuration profiles. - profile_dir = "/etc/lvm/profile" + # This configuration option has an automatic default value. + # profile_dir = "/etc/lvm/profile" } # Configuration section devices. @@ -52,12 +55,14 @@ devices { # Directory in which to create volume group device nodes. # Commands also accept this as a prefix on volume group names. # This configuration option is advanced. - dir = "/dev" + # This configuration option has an automatic default value. + # dir = "/dev" # Configuration option devices/scan. # Directories containing device nodes to use with LVM. # This configuration option is advanced. - scan = [ "/dev" ] + # This configuration option has an automatic default value. + # scan = [ "/dev" ] # Configuration option devices/obtain_device_list_from_udev. # Obtain the list of available devices from udev. @@ -67,25 +72,17 @@ devices { # setting applies only to the udev-managed device directory; other # directories will be scanned fully. LVM needs to be compiled with # udev support for this setting to apply. + # This configuration option has an automatic default value. + # obtain_device_list_from_udev = 0 obtain_device_list_from_udev = 1 # Configuration option devices/external_device_info_source. - # Select an external device information source. - # Some information may already be available in the system and LVM can - # use this information to determine the exact type or use of devices it - # processes. Using an existing external device information source can - # speed up device processing as LVM does not need to run its own native - # routines to acquire this information. For example, this information - # is used to drive LVM filtering like MD component detection, multipath - # component detection, partition detection and others. - # - # Accepted values: - # none - # No external device information source is used. - # udev - # Reuse existing udev database records. Applicable only if LVM is - # compiled with udev support. - # + # Enable device information from udev. + # If set to "udev", lvm will supplement its own native device information + # with information from libudev. This can potentially improve the detection + # of MD component devices and multipath component devices. + # This configuration option has an automatic default value. + # external_device_info_source = "none" external_device_info_source = "udev" # Configuration option devices/hints. @@ -215,7 +212,8 @@ devices { # Restrict device scanning to block devices appearing in sysfs. # This is a quick way of filtering out block devices that are not # present on the system. sysfs must be part of the kernel and mounted.) - sysfs_scan = 1 + # This configuration option has an automatic default value. + # sysfs_scan = 1 # Configuration option devices/scan_lvs. # Scan LVM LVs for layered PVs, allowing LVs to be used as PVs. @@ -229,11 +227,19 @@ devices { # use PVs that exist on LVs, and will not allow a PV to be created on # an LV. The LVs are ignored using a built in device filter that # identifies and excludes LVs. - scan_lvs = 0 + # This configuration option has an automatic default value. + # scan_lvs = 0 # Configuration option devices/multipath_component_detection. # Ignore devices that are components of DM multipath devices. - multipath_component_detection = 1 + # This configuration option has an automatic default value. + # multipath_component_detection = 1 + + # Configuration option devices/multipath_wwids_file. + # The path to the multipath wwids file used for multipath component detection. + # Set this to an empty string to disable the use of the multipath wwids file. + # This configuration option has an automatic default value. + # multipath_wwids_file = "/etc/multipath/wwids" # Configuration option devices/md_component_detection. # Enable detection and exclusion of MD component devices. @@ -244,7 +250,8 @@ devices { # In cases where the MD superblock is located at the end of the # component devices, it is more difficult for LVM to consistently # identify an MD component, see the md_component_checks setting. - md_component_detection = 1 + # This configuration option has an automatic default value. + # md_component_detection = 1 # Configuration option devices/md_component_checks. # The checks LVM should use to detect MD component devices. @@ -268,7 +275,8 @@ devices { # Ignore devices that are components of firmware RAID devices. # LVM must use an external_device_info_source other than none for this # detection to execute. - fw_raid_component_detection = 0 + # This configuration option has an automatic default value. + # fw_raid_component_detection = 0 # Configuration option devices/md_chunk_alignment. # Align the start of a PV data area with md device's stripe-width. @@ -277,7 +285,8 @@ devices { # with the value detected for this setting. # This setting is overridden by data_alignment_detection, # data_alignment, and the --dataalignment option. - md_chunk_alignment = 1 + # This configuration option has an automatic default value. + # md_chunk_alignment = 1 # Configuration option devices/default_data_alignment. # Align the start of a PV data area with this number of MiB. @@ -300,7 +309,8 @@ devices { # if they are not aligned with the value detected for this setting. # This setting is overridden by data_alignment and the --dataalignment # option. - data_alignment_detection = 1 + # This configuration option has an automatic default value. + # data_alignment_detection = 1 # Configuration option devices/data_alignment. # Align the start of a PV data area with this number of KiB. @@ -308,7 +318,8 @@ devices { # Set to 0 to disable, in which case default_data_alignment # is used to align the first PE in units of MiB. # This setting is overridden by the --dataalignment option. - data_alignment = 0 + # This configuration option has an automatic default value. + # data_alignment = 0 # Configuration option devices/data_alignment_offset_detection. # Shift the start of an aligned PV data area based on sysfs information. @@ -319,13 +330,15 @@ devices { # is the lowest aligned logical block, the 4KiB sectors start at # LBA -1, and consequently sector 63 is aligned on a 4KiB boundary). # This setting is overridden by the --dataalignmentoffset option. - data_alignment_offset_detection = 1 + # This configuration option has an automatic default value. + # data_alignment_offset_detection = 1 # Configuration option devices/ignore_suspended_devices. # Ignore DM devices that have I/O suspended while scanning devices. # Otherwise, LVM waits for a suspended device to become accessible. # This should only be needed in recovery situations. - ignore_suspended_devices = 0 + # This configuration option has an automatic default value. + # ignore_suspended_devices = 0 # Configuration option devices/ignore_lvm_mirrors. # Do not scan 'mirror' LVs to avoid possible deadlocks. @@ -344,18 +357,21 @@ devices { # a scan of the mirror's labels. The 'mirror' scanning problems do not # apply to LVM RAID types like 'raid1' which handle failures in a # different way, making them a better choice for VG stacking. - ignore_lvm_mirrors = 1 + # This configuration option has an automatic default value. + # ignore_lvm_mirrors = 1 # Configuration option devices/require_restorefile_with_uuid. # Allow use of pvcreate --uuid without requiring --restorefile. - require_restorefile_with_uuid = 1 + # This configuration option has an automatic default value. + # require_restorefile_with_uuid = 1 # Configuration option devices/pv_min_size. # Minimum size in KiB of block devices which can be used as PVs. # In a clustered environment all nodes must use the same value. # Any value smaller than 512KiB is ignored. The previous built-in # value was 512. - pv_min_size = 2048 + # This configuration option has an automatic default value. + # pv_min_size = 2048 # Configuration option devices/issue_discards. # Issue discards to PVs that are no longer used by an LV. @@ -368,6 +384,8 @@ devices { # benefit from discards, but SSDs and thinly provisioned LUNs # generally do. If enabled, discards will only be issued if both the # storage and kernel provide support. + # This configuration option has an automatic default value. + # issue_discards = 0 issue_discards = 1 # Configuration option devices/allow_changes_with_duplicate_pvs. @@ -381,13 +399,15 @@ devices { # or activating LVs in it while a PV appears on multiple devices. # Enabling this setting allows the VG to be used as usual even with # uncertain devices. - allow_changes_with_duplicate_pvs = 0 + # This configuration option has an automatic default value. + # allow_changes_with_duplicate_pvs = 0 # Configuration option devices/allow_mixed_block_sizes. # Allow PVs in the same VG with different logical block sizes. # When allowed, the user is responsible to ensure that an LV is # using PVs with matching block sizes when necessary. - allow_mixed_block_sizes = 0 + # This configuration option has an automatic default value. + # allow_mixed_block_sizes = 0 } # Configuration section allocation. @@ -419,7 +439,8 @@ allocation { # policies to detect more situations where data can be grouped onto # the same disks. This setting can be used to disable the changes # and revert to the previous algorithm. - maximise_cling = 1 + # This configuration option has an automatic default value. + # maximise_cling = 1 # Configuration option allocation/use_blkid_wiping. # Use blkid to detect and erase existing signatures on new PVs and LVs. @@ -429,7 +450,8 @@ allocation { # code is currently able to recognize: MD device signatures, # swap signature, and LUKS signatures. To see the list of signatures # recognized by blkid, check the output of the 'blkid -k' command. - use_blkid_wiping = 1 + # This configuration option has an automatic default value. + # use_blkid_wiping = 1 # Configuration option allocation/wipe_signatures_when_zeroing_new_lvs. # Look for and erase any signatures while zeroing a new LV. @@ -446,12 +468,14 @@ allocation { # use_blkid_wiping.) Wiping each detected signature must be confirmed. # When this setting is disabled, signatures on new LVs are not detected # or erased unless the --wipesignatures option is used directly. - wipe_signatures_when_zeroing_new_lvs = 1 + # This configuration option has an automatic default value. + # wipe_signatures_when_zeroing_new_lvs = 1 # Configuration option allocation/mirror_logs_require_separate_pvs. # Mirror logs and images will always use different PVs. # The default setting changed in version 2.02.85. - mirror_logs_require_separate_pvs = 0 + # This configuration option has an automatic default value. + # mirror_logs_require_separate_pvs = 0 # Configuration option allocation/raid_stripe_all_devices. # Stripe across all PVs when RAID stripes are not specified. @@ -607,13 +631,12 @@ allocation { # Enables or disables whether VDO volume should tag its latency-critical # writes with the REQ_SYNC flag. Some device mapper targets such as dm-raid5 # process writes with this flag at a higher priority. - # Default is enabled. # This configuration option has an automatic default value. # vdo_use_metadata_hints = 1 # Configuration option allocation/vdo_minimum_io_size. # The minimum IO size for VDO volume to accept, in bytes. - # Valid values are 512 or 4096. The recommended and default value is 4096. + # Valid values are 512 or 4096. The recommended value is 4096. # This configuration option has an automatic default value. # vdo_minimum_io_size = 4096 @@ -666,7 +689,7 @@ allocation { # Configuration option allocation/vdo_bio_threads. # Specifies the number of threads to use for submitting I/O # operations to the storage device of VDO volume. - # The value must be in range [1..100] + # The value must be in range [1..100]. # Each additional thread after the first will use an additional 18MiB of RAM, # plus 1.12 MiB of RAM per megabyte of configured read cache size. # This configuration option has an automatic default value. @@ -680,7 +703,7 @@ allocation { # Configuration option allocation/vdo_cpu_threads. # Specifies the number of threads to use for CPU-intensive work such as - # hashing or compression for VDO volume. The value must be in range [1..100] + # hashing or compression for VDO volume. The value must be in range [1..100]. # This configuration option has an automatic default value. # vdo_cpu_threads = 2 @@ -698,7 +721,7 @@ allocation { # processing based on the hash value computed from the block data. # A logical thread count of 9 or more will require explicitly specifying # a sufficiently large block map cache size, as well. - # The value must be in range [0..100]. + # The value must be in range [0..60]. # vdo_hash_zone_threads, vdo_logical_threads and vdo_physical_threads must be # either all zero or all non-zero. # This configuration option has an automatic default value. @@ -722,11 +745,13 @@ allocation { # This policy is not supported if the underlying storage is not also synchronous. # async - Writes are acknowledged after data has been cached for writing to stable storage. # Data which has not been flushed is not guaranteed to persist in this mode. + # async-unsafe - Writes are handled like 'async' but there is no guarantee of the atomicity async provides. + # This mode should only be used for better performance when atomicity is not required. # This configuration option has an automatic default value. # vdo_write_policy = "auto" # Configuration option allocation/vdo_max_discard. - # Specified te maximum size of discard bio accepted, in 4096 byte blocks. + # Specified the maximum size of discard bio accepted, in 4096 byte blocks. # I/O requests to a VDO volume are normally split into 4096-byte blocks, # and processed up to 2048 at a time. However, discard requests to a VDO volume # can be automatically split to a larger size, up to 4096-byte blocks @@ -736,6 +761,11 @@ allocation { # The default and minimum is 1. The maximum is UINT_MAX / 4096. # This configuration option has an automatic default value. # vdo_max_discard = 1 + + # Configuration option allocation/vdo_pool_header_size. + # Specified the emptry header size in KiB at the front and end of vdo pool device. + # This configuration option has an automatic default value. + # vdo_pool_header_size = 512 } # Configuration section log. @@ -793,7 +823,8 @@ log { # Configuration option log/verbose. # Controls the messages sent to stdout or stderr. - verbose = 0 + # This configuration option has an automatic default value. + # verbose = 0 # Configuration option log/silent. # Suppress all non-essential messages from stdout. @@ -804,34 +835,50 @@ log { # for syslog and lvm2_log_fn purposes. # Any 'yes' or 'no' questions not overridden by other arguments are # suppressed and default to 'no'. - silent = 0 + # This configuration option has an automatic default value. + # silent = 0 # Configuration option log/syslog. # Send log messages through syslog. + # This configuration option has an automatic default value. + # syslog = 0 syslog = 1 # Configuration option log/file. # Write error and debug log messages to a file specified here. # This configuration option does not have a default value defined. + # file = "/var/log/lvm2.log" + + # Configuration option log/journal. + # Record lvm information in the systemd journal. + # command: record commands that are run. + # output: record default output from commands. + # debug: record debug messages from commands. + # This configuration option has an automatic default value. + # journal = [ ] # Configuration option log/overwrite. # Overwrite the log file each time the program is run. - overwrite = 0 + # This configuration option has an automatic default value. + # overwrite = 0 # Configuration option log/level. # The level of log messages that are sent to the log file or syslog. # There are 6 syslog-like log levels currently in use: 2 to 7 inclusive. # 7 is the most verbose (LOG_DEBUG). - level = 0 + # This configuration option has an automatic default value. + # level = 0 # Configuration option log/indent. # Indent messages according to their severity. # This configuration option has an automatic default value. + # indent = 0 indent = 1 # Configuration option log/command_names. # Display the command name on each line of output. - command_names = 0 + # This configuration option has an automatic default value. + # command_names = 0 # Configuration option log/prefix. # A prefix to use before the log message text. @@ -839,12 +886,14 @@ log { # Two spaces allows you to see/grep the severity of each message. # To make the messages look similar to the original LVM tools use: # indent = 0, command_names = 1, prefix = " -- " - prefix = " " + # This configuration option has an automatic default value. + # prefix = " " # Configuration option log/activation. # Log messages during activation. # Don't use this in low memory situations (can deadlock). - activation = 0 + # This configuration option has an automatic default value. + # activation = 0 # Configuration option log/debug_classes. # Select log messages by class. @@ -852,7 +901,8 @@ log { # debug output if the class is listed here. Classes currently # available: memory, devices, io, activation, allocation, # metadata, cache, locking, lvmpolld. Use "all" to see everything. - debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ] + # This configuration option has an automatic default value. + # debug_classes = [ "memory", "devices", "io", "activation", "allocation", "metadata", "cache", "locking", "lvmpolld", "dbus" ] # Configuration option log/debug_file_fields. # The fields included in debug output written to log file. @@ -879,30 +929,36 @@ backup { # Configuration option backup/backup. # Maintain a backup of the current metadata configuration. # Think very hard before turning this off! - backup = 1 + # This configuration option has an automatic default value. + # backup = 1 # Configuration option backup/backup_dir. # Location of the metadata backup files. # Remember to back up this directory regularly! - backup_dir = "/etc/lvm/backup" + # This configuration option has an automatic default value. + # backup_dir = "/etc/lvm/backup" # Configuration option backup/archive. # Maintain an archive of old metadata configurations. # Think very hard before turning this off. - archive = 1 + # This configuration option has an automatic default value. + # archive = 1 # Configuration option backup/archive_dir. # Location of the metdata archive files. # Remember to back up this directory regularly! - archive_dir = "/etc/lvm/archive" + # This configuration option has an automatic default value. + # archive_dir = "/etc/lvm/archive" # Configuration option backup/retain_min. # Minimum number of archives to keep. - retain_min = 10 + # This configuration option has an automatic default value. + # retain_min = 10 # Configuration option backup/retain_days. # Minimum number of days to keep archive files. - retain_days = 30 + # This configuration option has an automatic default value. + # retain_days = 30 } # Configuration section shell. @@ -911,7 +967,8 @@ shell { # Configuration option shell/history_size. # Number of lines of history to store in ~/.lvm_history. - history_size = 100 + # This configuration option has an automatic default value. + # history_size = 100 } # Configuration section global. @@ -921,15 +978,19 @@ global { # Configuration option global/umask. # The file creation mask for any files and directories created. # Interpreted as octal if the first digit is zero. - umask = 077 + # This configuration option has an automatic default value. + # umask = 077 # Configuration option global/test. # No on-disk metadata changes will be made in test mode. # Equivalent to having the -t option on every command. - test = 0 + # This configuration option has an automatic default value. + # test = 0 # Configuration option global/units. # Default value for --units argument. + # This configuration option has an automatic default value. + # units = "r" units = "h" # Configuration option global/si_unit_consistency. @@ -938,13 +999,15 @@ global { # e.g. KiB, MiB, GiB, and powers of 1000 bytes, e.g. KB, MB, GB. # If scripts depend on the old behaviour, disable this setting # temporarily until they are updated. - si_unit_consistency = 1 + # This configuration option has an automatic default value. + # si_unit_consistency = 1 # Configuration option global/suffix. # Display unit suffix for sizes. # This setting has no effect if the units are in human-readable form # (global/units = "h") in which case the suffix is always displayed. - suffix = 1 + # This configuration option has an automatic default value. + # suffix = 1 # Configuration option global/activation. # Enable/disable communication with the kernel device-mapper. @@ -952,26 +1015,31 @@ global { # activating any logical volumes. If the device-mapper driver # is not present in the kernel, disabling this should suppress # the error messages. - activation = 1 + # This configuration option has an automatic default value. + # activation = 1 # Configuration option global/proc. # Location of proc filesystem. # This configuration option is advanced. - proc = "/proc" + # This configuration option has an automatic default value. + # proc = "/proc" # Configuration option global/etc. # Location of /etc system configuration directory. - etc = "/etc" + # This configuration option has an automatic default value. + # etc = "/etc" # Configuration option global/wait_for_locks. # When disabled, fail if a lock request would block. - wait_for_locks = 1 + # This configuration option has an automatic default value. + # wait_for_locks = 1 # Configuration option global/locking_dir. # Directory to use for LVM command file locks. # Local non-LV directory that holds file-based locks while commands are # in progress. A directory like /tmp that may get wiped on reboot is OK. - locking_dir = "/run/lock/lvm" + # This configuration option has an automatic default value. + # locking_dir = "/run/lock/lvm" # Configuration option global/prioritise_write_locks. # Allow quicker VG write access during high volume read access. @@ -980,7 +1048,8 @@ global { # requests immediately, delay them to allow the read-write requests to # be serviced. Without this setting, write access may be stalled by a # high volume of read-only requests. This option only affects file locks. - prioritise_write_locks = 1 + # This configuration option has an automatic default value. + # prioritise_write_locks = 1 # Configuration option global/library_dir. # Search this directory first for shared libraries. @@ -990,7 +1059,8 @@ global { # Abort a command that encounters an internal error. # Treat any internal errors as fatal errors, aborting the process that # encountered the internal error. Please only enable for debugging. - abort_on_internal_errors = 0 + # This configuration option has an automatic default value. + # abort_on_internal_errors = 0 # Configuration option global/metadata_read_only. # No operations that change on-disk metadata are permitted. @@ -998,7 +1068,8 @@ global { # repair will still be allowed to proceed exactly as if the repair had # been performed (except for the unchanged vg_seqno). Inappropriate # use could mess up your system, so seek advice first! - metadata_read_only = 0 + # This configuration option has an automatic default value. + # metadata_read_only = 0 # Configuration option global/mirror_segtype_default. # The segment type used by the short mirroring option -m. @@ -1024,7 +1095,8 @@ global { # cluster-aware and cannot be used in a shared (active/active) # fashion in a cluster. # - mirror_segtype_default = "raid1" + # This configuration option has an automatic default value. + # mirror_segtype_default = "raid1" # Configuration option global/support_mirrored_mirror_log. # Enable mirrored 'mirror' log type for testing. @@ -1054,7 +1126,8 @@ global { # effectively creating a RAID 0+1 array. The layering is suboptimal # in terms of providing redundancy and performance. # - raid10_segtype_default = "raid10" + # This configuration option has an automatic default value. + # raid10_segtype_default = "raid10" # Configuration option global/sparse_segtype_default. # The segment type used by the -V -L combination. @@ -1074,7 +1147,8 @@ global { # metadata. It has better performance, especially when more data # is used. It also supports full snapshots. # - sparse_segtype_default = "thin" + # This configuration option has an automatic default value. + # sparse_segtype_default = "thin" # Configuration option global/lvdisplay_shows_full_device_path. # Enable this to reinstate the previous lvdisplay name format. @@ -1086,16 +1160,11 @@ global { # lvdisplay_shows_full_device_path = 0 # Configuration option global/event_activation. - # Activate LVs based on system-generated device events. - # When a PV appears on the system, a system-generated uevent triggers - # the lvm2-pvscan service which runs the pvscan --cache -aay command. - # If the new PV completes a VG, pvscan autoactivates LVs in the VG. - # When event_activation is disabled, the lvm2-activation services are - # generated and run at fixed points during system startup. These - # services run vgchange -aay to autoactivate LVs in VGs that happen - # to be present at that point in time. - # See the --setautoactivation option or the auto_activation_volume_list - # setting to configure autoactivation for specific VGs or LVs. + # Disable event based autoactivation commands. + # WARNING: setting this to zero may cause machine startup to fail. + # Previously, setting this to zero would enable static autoactivation + # services (via the lvm2-activation-generator), but the autoactivation + # services and generator have been removed. # This configuration option has an automatic default value. # event_activation = 1 @@ -1109,7 +1178,8 @@ global { # Applicable only if LVM is compiled with lockd support in which # case there is also lvmlockd(8) man page available for more # information. - use_lvmlockd = 0 + # This configuration option has an automatic default value. + # use_lvmlockd = 0 # Configuration option global/lvmlockd_lock_retries. # Retry lvmlockd lock requests this many times. @@ -1264,7 +1334,7 @@ global { # The full path to the fsadm command. # LVM uses this command to help with lvresize -r operations. # This configuration option has an automatic default value. - # fsadm_executable = "/usr/sbin/fsadm" + # fsadm_executable = "/sbin/fsadm" # Configuration option global/system_id_source. # The method LVM uses to set the local system ID. @@ -1282,15 +1352,18 @@ global { # uname # Set the system ID from the hostname (uname) of the system. # System IDs beginning localhost are not permitted. + # appmachineid + # Use an LVM-specific derivation of the local machine-id as the + # system ID. See 'man machine-id'. # machineid - # Use the contents of the machine-id file to set the system ID. - # Some systems create this file at installation time. - # See 'man machine-id' and global/etc. + # Use the contents of the machine-id file to set the system ID + # (appmachineid is recommended.) # file # Use the contents of another file (system_id_file) to set the # system ID. # - system_id_source = "none" + # This configuration option has an automatic default value. + # system_id_source = "none" # Configuration option global/system_id_file. # The full path to the file containing a system ID. @@ -1310,13 +1383,16 @@ global { # and to use its own control group. When this option is disabled, LVM # commands will supervise long running operations by forking themselves. # Applicable only if LVM is compiled with lvmpolld support. + # This configuration option has an automatic default value. + # use_lvmpolld = 0 use_lvmpolld = 1 # Configuration option global/notify_dbus. # Enable D-Bus notification from LVM commands. # When enabled, an LVM command that changes PVs, changes VG metadata, # or changes the activation state of an LV will send a notification. - notify_dbus = 1 + # This configuration option has an automatic default value. + # notify_dbus = 1 # Configuration option global/io_memory_size. # The amount of memory in KiB that LVM allocates to perform disk io. @@ -1337,7 +1413,8 @@ activation { # Useful for debugging problems with activation. Some of the checks may # be expensive, so it's best to use this only when there seems to be a # problem. - checks = 0 + # This configuration option has an automatic default value. + # checks = 0 # Configuration option activation/udev_sync. # Use udev notifications to synchronize udev and LVM. @@ -1348,14 +1425,16 @@ activation { # that ignore the devices LVM creates. If enabled when udev is not # running, and LVM processes are waiting for udev, run the command # 'dmsetup udevcomplete_all' to wake them up. - udev_sync = 1 + # This configuration option has an automatic default value. + # udev_sync = 1 # Configuration option activation/udev_rules. # Use udev rules to manage LV device nodes and symlinks. # When disabled, LVM will manage the device nodes and symlinks for # active LVs itself. Manual intervention may be required if this # setting is changed while LVs are active. - udev_rules = 1 + # This configuration option has an automatic default value. + # udev_rules = 1 # Configuration option activation/verify_udev_operations. # Use extra checks in LVM to verify udev operations. @@ -1370,7 +1449,8 @@ activation { # If LV deactivation fails, LVM will retry for a few seconds before # failing. This may happen because a process run from a quick udev rule # temporarily opened the device. - retry_deactivation = 1 + # This configuration option has an automatic default value. + # retry_deactivation = 1 # Configuration option activation/missing_stripe_filler. # Method to fill missing stripes when activating an incomplete LV. @@ -1381,7 +1461,8 @@ activation { # other than 'error' with mirrored or snapshotted volumes is likely to # result in data corruption. # This configuration option is advanced. - missing_stripe_filler = "error" + # This configuration option has an automatic default value. + # missing_stripe_filler = "error" # Configuration option activation/use_linear_target. # Use the linear target to optimize single stripe LVs. @@ -1503,7 +1584,8 @@ activation { # The clean/dirty state of data is tracked for each region. # The value is rounded down to a power of two if necessary, and # is ignored if it is not a multiple of the machine memory page size. - raid_region_size = 2048 + # This configuration option has an automatic default value. + # raid_region_size = 2048 # Configuration option activation/error_when_full. # Return errors if a thin pool runs out of space. @@ -1548,7 +1630,8 @@ activation { # Attempt to use any extra physical volumes in the VG as spares and # replace faulty devices. # - raid_fault_policy = "warn" + # This configuration option has an automatic default value. + # raid_fault_policy = "warn" # Configuration option activation/mirror_image_fault_policy. # Defines how a device failure in a 'mirror' LV is handled. @@ -1585,13 +1668,15 @@ activation { # 'remove' if no suitable device and space can be allocated for the # replacement. # - mirror_image_fault_policy = "remove" + # This configuration option has an automatic default value. + # mirror_image_fault_policy = "remove" # Configuration option activation/mirror_log_fault_policy. # Defines how a device failure in a 'mirror' log LV is handled. # The mirror_image_fault_policy description for mirrored LVs also # applies to mirrored log LVs. - mirror_log_fault_policy = "allocate" + # This configuration option has an automatic default value. + # mirror_log_fault_policy = "allocate" # Configuration option activation/snapshot_autoextend_threshold. # Auto-extend a snapshot when its usage exceeds this percent. @@ -1606,7 +1691,8 @@ activation { # 840M, it is extended to 1.44G: # snapshot_autoextend_threshold = 70 # - snapshot_autoextend_threshold = 100 + # This configuration option has an automatic default value. + # snapshot_autoextend_threshold = 100 # Configuration option activation/snapshot_autoextend_percent. # Auto-extending a snapshot adds this percent extra space. @@ -1619,7 +1705,8 @@ activation { # 840M, it is extended to 1.44G: # snapshot_autoextend_percent = 20 # - snapshot_autoextend_percent = 20 + # This configuration option has an automatic default value. + # snapshot_autoextend_percent = 20 # Configuration option activation/thin_pool_autoextend_threshold. # Auto-extend a thin pool when its usage exceeds this percent. @@ -1634,7 +1721,8 @@ activation { # 840M, it is extended to 1.44G: # thin_pool_autoextend_threshold = 70 # - thin_pool_autoextend_threshold = 100 + # This configuration option has an automatic default value. + # thin_pool_autoextend_threshold = 100 # Configuration option activation/thin_pool_autoextend_percent. # Auto-extending a thin pool adds this percent extra space. @@ -1647,7 +1735,8 @@ activation { # 840M, it is extended to 1.44G: # thin_pool_autoextend_percent = 20 # - thin_pool_autoextend_percent = 20 + # This configuration option has an automatic default value. + # thin_pool_autoextend_percent = 20 # Configuration option activation/vdo_pool_autoextend_threshold. # Auto-extend a VDO pool when its usage exceeds this percent. @@ -1706,7 +1795,8 @@ activation { # Monitor LVs that are activated. # The --ignoremonitoring option overrides this setting. # When enabled, LVM will ask dmeventd to monitor activated LVs. - monitoring = 1 + # This configuration option has an automatic default value. + # monitoring = 1 # Configuration option activation/polling_interval. # Check pvmove or lvconvert progress at this interval (seconds). @@ -1748,7 +1838,8 @@ activation { # This setting should not normally be used, but may sometimes # assist with data recovery. # - activation_mode = "degraded" + # This configuration option has an automatic default value. + # activation_mode = "degraded" # Configuration option activation/lock_start_list. # Locking is started only for VGs selected by this list. @@ -1871,6 +1962,12 @@ activation { # name for identification. # json # JSON format. + # json_std + # JSON format that is more compliant with JSON standard. + # Compared to original "json" format: + # - it does not use double quotes around numeric values, + # - it uses 'null' for undefined numeric values, + # - it prints string list as proper JSON array of strings instead of a single string. # This configuration option has an automatic default value. # output_format = "basic" @@ -2324,7 +2421,7 @@ dmeventd { # Configuration option dmeventd/executable. # The full path to the dmeventd binary. # This configuration option has an automatic default value. - # executable = "/usr/sbin/dmeventd" + # executable = "" } # Configuration section tags. diff --git a/lvm2.changes b/lvm2.changes index 21d635c..6449dfc 100644 --- a/lvm2.changes +++ b/lvm2.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Thu Sep 4 12:53:00 UTC 2022 - Heming Zhao + +- Update patch + - bug-1184687_Add-nolvm-for-kernel-cmdline.patch + +- update lvm2.spec + - add '--disable-silent-rules' for verbose building, this option was + mistakenly removed on last commit. + - remove config item '--enable-realtime', which became default setting. + - add config item "--enable-dmfilemapd" for new daemon dmfilemapd + +- lvm.conf + - align upstream style, comment out default values + ------------------------------------------------------------------- Thu Sep 1 02:50:00 UTC 2022 - Heming Zhao diff --git a/lvm2.spec b/lvm2.spec index b87eddc..24c154e 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -175,9 +175,9 @@ Volume Manager. %if !%{with devicemapper} && !%{with lockd} extra_opts=" --enable-blkid_wiping - --enable-realtime --with-cache=internal - --with-writecache=internal + --with-writecache=internal + --with-integrity=internal --with-default-locking-dir=/run/lock/lvm --with-default-pid-dir=/run --with-default-run-dir=/run/lvm @@ -191,7 +191,6 @@ extra_opts=" %if %{with lockd} extra_opts=" --enable-blkid_wiping - --enable-realtime --with-default-locking-dir=/run/lock/lvm --with-default-pid-dir=/run --with-default-run-dir=/run/lvm @@ -210,6 +209,7 @@ export PATH=$PATH:/sbin:%{_sbindir} sed -ie "s/%{device_mapper_version}/1.03.01/g" VERSION_DM %configure \ --enable-dmeventd \ + --enable-dmfilemapd \ --enable-lvmpolld \ --enable-cmdlib \ --enable-udev_rules \ @@ -229,7 +229,7 @@ sed -ie "s/%{device_mapper_version}/1.03.01/g" VERSION_DM --with-thin-check=%{_sbindir}/thin_check \ --with-thin-dump=%{_sbindir}/thin_dump \ --with-thin-repair=%{_sbindir}/thin_repair \ - --with-integrity=internal \ + --disable-silent-rules \ $extra_opts ### COMMON-CONFIG-END ### @@ -321,6 +321,7 @@ sed -ie "s/%{device_mapper_version}/1.03.01/g" VERSION_DM rm %{buildroot}%{_sbindir}/dmsetup rm %{buildroot}%{_sbindir}/dmeventd rm %{buildroot}%{_sbindir}/dmstats + rm %{buildroot}%{_sbindir}/dmfilemapd rm %{buildroot}%{_udevrulesdir}/10-dm.rules rm %{buildroot}%{_udevrulesdir}/13-dm-disk.rules rm %{buildroot}%{_udevrulesdir}/95-dm-notify.rules @@ -340,6 +341,7 @@ sed -ie "s/%{device_mapper_version}/1.03.01/g" VERSION_DM rm %{buildroot}%{_mandir}/man8/dmstats.8 rm %{buildroot}%{_mandir}/man8/dmsetup.8 rm %{buildroot}%{_mandir}/man8/dmeventd.8 + rm %{buildroot}%{_mandir}/man8/dmfilemapd.8 %if !0%{?usrmerged} # compat symlinks in /sbin remove with Leap 43 @@ -393,6 +395,7 @@ Programs and man pages for configuring and using the device mapper. %{_sbindir}/dmsetup %{_sbindir}/dmeventd %{_sbindir}/dmstats +%{_sbindir}/dmfilemapd %{_mandir}/man8/dmstats.8%{?ext_man} %{_mandir}/man8/dmsetup.8%{?ext_man} %{_mandir}/man8/dmeventd.8%{?ext_man}