Recommended update for lvm2

Announcement ID: SUSE-RU-2021:3051-1
Rating: moderate
References:
Affected Products:
  • SUSE Linux Enterprise High Availability Extension 12 SP5
  • SUSE Linux Enterprise High Performance Computing 12 SP5
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
  • SUSE Linux Enterprise Software Development Kit 12 SP5

An update that has one fix can now be installed.

Description:

This update for lvm2 fixes the following issues:

  • Update from version 2.02.180 to 2.02.188 (bsc#1188202)
  • Fix problem with unbound variable usage within fsadm.
  • Avoid removing LVs on error path of lvconvert during creation volumes.
  • Fix crashing lvdisplay when thin volume was waiting for merge.
  • Support option '--errorwhenfull' when converting volume to thin-pool.
  • Improve thin-performance profile support conversion to thin-pool.
  • Support resize of cached volumes.
  • Allocation prints better error when metadata cannot fit on a single PV.
  • Pvmove can better resolve full thin-pool tree move.
  • Limit pool metadata spare to 16GiB.
  • Improves conversion and allocation of pool metadata.
  • Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0.
  • Enhance lvdisplay to report raid available/partial.
  • Enhance error handling for fsadm and handle correct fsck result.
  • Stop logging rename errors from persistent filter.
  • Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values.
  • Support using BLKZEROOUT for clearing devices.
  • Support interruption when wipping LVs.
  • Add configure '--enable-editline' support as an alternative to readline.
  • Zero pool metadata on allocation (disable with allocation/zero_metadata=0).
  • Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn).
  • Fix support for 'lvconvert --repair' used by foreign apps (i.e. Docker).
  • Support interruption for bcache waiting.
  • Fix bcache when device has too many failing writes.
  • Fix bcache waiting for IO completion with failing disks.
  • Configure use own python path name order to prefer using python3.
  • Enhance reporting and error handling when creating thin volumes.
  • Use revert_lv() on reload error path after vg_revert().
  • Improve estimation of needed extents when creating thin-pool.
  • Use extra 1% when resizing thin-pool metadata LV with --use-policy.
  • Enhance '--use-policy' percentage rounding.
  • Switch code base to use flexible array syntax.
  • Preserve uint32_t for seqno handling.
  • Switch from mmap to plain read when loading regular files.
  • Fix running out of free buffers for async writing for larger writes.
  • Fix conversion to raid from striped lagging type.
  • Fix conversion to 'mirrored' mirror log with larger regionsize.
  • Avoid running cache input arg validation when creating vdo pool.
  • Prevent raid reshaping of stacked volumes.
  • Ensure minimum required region size on striped RaidLV creation.
  • Fix resize of thin-pool with data and metadata of different segtype.
  • Fix splitting mirror leg in cluster.
  • Fix activation order when removing merged snapshot.
  • Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper.
  • Add lvextend-raid.sh to check on RaidLV extensions synchronization.
  • Fix lvmetad shutdown and avoid lenghty timeouts when rebooting system.
  • Prevent creating VGs with PVs with different logical block sizes.
  • Pvmove runs in exclusively activating mode for exclusively active LVs.
  • Activate thin-pool layered volume as 'read-only' device.
  • Ignore crypto devices with UUID signature CRYPT-SUBDEV.
  • Enhance validation for thin and cache pool conversion and swapping.
  • Fixed activation on boot - lvm2 no longer activates incomplete VGs.
  • Improve internal removal of cached devices.
  • Synchronize with udev when dropping snapshot.
  • Add missing device synchronization point before removing pvmove node.
  • Correctly set read_ahead for LVs when pvmove is finished.
  • Fix metadata writes from corrupting with large physical block size.
  • Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
  • Prevent shared active mirror LVs with lvmlockd.
  • Fix change of monitoring in clustered volumes.
  • Improve -lXXX%VG modifier which improves cache segment estimation.
  • Add synchronization with udev before removing cached devices.
  • Fix missing growth of _pmspare volume when extending _tmeta volume.
  • Automatically grow thin metadata, when thin data gets too big.
  • Add support for vgsplit with cached devices.
  • Fix signal delivery checking race in libdaemon (lvmetad).
  • Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering.
  • Fix (de)activation of RaidLVs with visible SubLVs
  • Change scan_lvs default to 0 so LVs are not scanned for PVs.
  • Add scan_lvs config setting to control if lvm scans LVs for PVs.
  • Fix missing proper initialization of pv_list struct when adding pv.
  • Avoid disabling lvmetad when repair does nothing.
  • Fix component detection for md version 0.90.
  • Use sync io if async io_setup fails, or use_aio=0 is set in config.
  • Avoid opening devices to get block size by using existing open fd.
  • Fix possible write race between last metadata block and the first extent.
  • Fix filtering of md 1.0 devices so they are not seen as duplicate PVs.
  • Fix lvconvert striped/raid0/raid0_meta -> raid6 regression.
  • Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service.
  • Fix pvs with lvmetad to avoid too many open files from filter reads.
  • Fix pvscan --cache to avoid too many open files from filter reads.
  • Reduce max concurrent aios to avoid EMFILE with many devices.
  • Fix lvconvert conversion attempts to linear.
  • Fix lvconvert raid0/raid0_meta -> striped regression.
  • Fix lvconvert --splitmirror for mirror type (2.02.178).
  • Do not pair cache policy and cache metadata format.
  • Fix mirrors honoring read_only_volume_list.
  • Reject conversions on raid1 LVs with split tracked SubLVs.
  • Reject conversions on raid1 split tracked SubLVs.
  • Fix dmstats list failing when no regions exist.
  • Reject conversions of LVs under snapshot.
  • Limit suggested options on incorrect option for lvconvert subcommand.
  • Add dm_tree_node_add_thin_pool_target_v1 with crop_metadata support.
  • Add support for VDO in blkdeactivate script.
  • Try to remove all created devices on dm preload tree error path.
  • Fix dm_list iterators with gcc 10 optimization (-ftree-pta).
  • Dmeventd handles timer without looping on short intervals.
  • Add support for DM_DEVICE_GET_TARGET_VERSION.
  • Add debug of dmsetup udevcomplete with hexa print DM_COOKIE_COMPLETED.
  • Fix versioning of dm_stats_create_region and dm_stats_create_region.
  • Parsing of cache status understand no_discard_passdown.
  • Ensure migration_threshold for cache is at least 8 chunks.
  • Enhance ioctl flattening and add parameters only when needed.
  • Add DM_DEVICE_ARM_POLL for API completeness matching kernel.
  • Do not add parameters for RESUME with DM_DEVICE_CREATE dm task.
  • Fix dmstats report printing no output.
  • Add hot fix to avoiding locking collision when monitoring thin-pools.
  • Add vdo plugin for monitoring VDO devices.

  • Relevant changes for 'lvm.conf'

  • [value change] global/cache_check_executable: "autodetect" to "/usr/sbin/cache_check"
  • [value change] global/cache_dump_executable = "autodetect" to "/usr/sbin/cache_dump"
  • [value change] global/cache_repair_executable: "autodetect" to "/usr/sbin/cache_repair"
  • [value change] global/cache_check_options: [ "-q" ] to [ "-q", "--clear-needs-check-flag" ]
  • [value change] dmeventd/executable: "" to "/usr/sbin/dmeventd"
  • [item add] devices/scan_lvs = 0.
  • [item add] allocation/thin_pool_crop_metadata = 0
  • [item add] allocation/zero_metadata = 1
  • [item add] global/fsadm_executable = "/usr/sbin/fsadm"
  • [item add] global/io_memory_size = 8192
  • [item add] log/debug_classes: add "io"
  • [item add] dmeventd/raid_library = "libdevmapper-event-lvm2raid.so"
  • [item add] add section tags
  • [no support] global/fallback_to_lvm1
  • [no support] global/format
  • [no support] detect_internal_vg_cache_corruption = 0

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE Linux Enterprise High Availability Extension 12 SP5
    zypper in -t patch SUSE-SLE-HA-12-SP5-2021-3051=1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
    zypper in -t patch SUSE-SLE-HA-12-SP5-2021-3051=1 SUSE-SLE-SERVER-12-SP5-2021-3051=1
  • SUSE Linux Enterprise Software Development Kit 12 SP5
    zypper in -t patch SUSE-SLE-SDK-12-SP5-2021-3051=1
  • SUSE Linux Enterprise High Performance Computing 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2021-3051=1
  • SUSE Linux Enterprise Server 12 SP5
    zypper in -t patch SUSE-SLE-SERVER-12-SP5-2021-3051=1

Package List:

  • SUSE Linux Enterprise High Availability Extension 12 SP5 (ppc64le s390x x86_64)
    • lvm2-cmirrord-debuginfo-2.02.188-12.3.1
    • lvm2-cmirrord-2.02.188-12.3.1
    • lvm2-clvm-debuginfo-2.02.188-12.3.1
    • lvm2-debuginfo-2.02.188-12.3.1
    • lvm2-clvm-2.02.188-12.3.1
    • lvm2-debugsource-2.02.188-12.3.1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5 (ppc64le x86_64)
    • lvm2-cmirrord-debuginfo-2.02.188-12.3.1
    • device-mapper-debuginfo-1.02.172-12.3.1
    • lvm2-cmirrord-2.02.188-12.3.1
    • lvm2-2.02.188-12.3.1
    • lvm2-clvm-debuginfo-2.02.188-12.3.1
    • device-mapper-1.02.172-12.3.1
    • lvm2-debuginfo-2.02.188-12.3.1
    • lvm2-clvm-2.02.188-12.3.1
    • lvm2-debugsource-2.02.188-12.3.1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5 (x86_64)
    • device-mapper-debuginfo-32bit-1.02.172-12.3.1
    • device-mapper-32bit-1.02.172-12.3.1
  • SUSE Linux Enterprise Software Development Kit 12 SP5 (aarch64 ppc64le s390x x86_64)
    • lvm2-debugsource-2.02.188-12.3.1
    • device-mapper-devel-1.02.172-12.3.1
    • lvm2-debuginfo-2.02.188-12.3.1
    • lvm2-devel-2.02.188-12.3.1
  • SUSE Linux Enterprise High Performance Computing 12 SP5 (aarch64 x86_64)
    • device-mapper-debuginfo-1.02.172-12.3.1
    • lvm2-2.02.188-12.3.1
    • device-mapper-1.02.172-12.3.1
    • lvm2-debuginfo-2.02.188-12.3.1
    • lvm2-debugsource-2.02.188-12.3.1
  • SUSE Linux Enterprise High Performance Computing 12 SP5 (x86_64)
    • device-mapper-debuginfo-32bit-1.02.172-12.3.1
    • device-mapper-32bit-1.02.172-12.3.1
  • SUSE Linux Enterprise Server 12 SP5 (aarch64 ppc64le s390x x86_64)
    • device-mapper-debuginfo-1.02.172-12.3.1
    • lvm2-2.02.188-12.3.1
    • device-mapper-1.02.172-12.3.1
    • lvm2-debuginfo-2.02.188-12.3.1
    • lvm2-debugsource-2.02.188-12.3.1
  • SUSE Linux Enterprise Server 12 SP5 (s390x x86_64)
    • device-mapper-debuginfo-32bit-1.02.172-12.3.1
    • device-mapper-32bit-1.02.172-12.3.1

References: