mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
5462 lines
299 KiB
Plaintext
5462 lines
299 KiB
Plaintext
Version 2.03.25 -
|
|
==================
|
|
Utilize more radix_tree instead of dm_hash and btree.
|
|
Refactor DM uuid caching from device_mapper directory.
|
|
LVs with component activation will not use uuid -layer suffix.
|
|
Enhance checking for DM uuid device.
|
|
Fix lvm shell command completion on tab key (2.03.24).
|
|
|
|
Version 2.03.24 - 16th May 2024
|
|
===============================
|
|
Lvconvert supports VDO options for thin-pool with vdo conversion.
|
|
Improve placement to .data.rel.ro and .rodata sections.
|
|
Fix support for -y and -W when creating thinpool with vdo.
|
|
Bettter support for runtime valgrind detection.
|
|
Allow command interruption when communicating with dmeventd.
|
|
Fix resize of VDO volume used for thin pool data volume.
|
|
Use -Wl,-z,now and -Wl,--as-needed for compilation by default.
|
|
Require 3.7 as minimal version for sanlock.
|
|
Share code for closing opened desriptors on program startup.
|
|
Fix memleak in lvmcache.
|
|
Add configure --with-default-event-activation=ON setting.
|
|
Fix return value from reporter function when hitting internal error.
|
|
Skip checking of pools for lvremove and vgremove commands.
|
|
VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version.
|
|
Fix lvs reporting for VDO volumes with new upstream kernel driver.
|
|
Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.
|
|
Fix table line generation for cache snapshots using cachevol.
|
|
Enhance lvconvert support for external origins stacking.
|
|
When swapping LV names also swap properties like hostname, time and data.
|
|
Fix removal of stacked external origins.
|
|
Lock filesystem when converting volume to read-only external origin.
|
|
Support external origin between different thin-pool.
|
|
Improve validation of acceptable volumes for external origins.
|
|
Reduce amount of preloaded devices for complex device trees.
|
|
Avoid logging problems from monitoring snapshots with inactive origins.
|
|
Check for cache policy module presence in kernel's builtin modules file.
|
|
Add configure --with-modulesdir to select kernel modules directory.
|
|
Support creation of thin-pool with VDO use for its data volume.
|
|
|
|
Version 2.03.23 - 21st November 2023
|
|
====================================
|
|
Set the first lv_attr flag for raid integrity images to i or I.
|
|
Add -A option for pvs and pvscan to show PVs outside devices file.
|
|
Improve searched_devnames temp file usage to prevent redundant scanning.
|
|
Change default search_for_devnames from auto to all.
|
|
Add lvmdevices --refresh to search for missing PVIDs on all devices.
|
|
Add comparison between old and new entries in lvmdevices --check.
|
|
Fix device_id matching order - match non-devname first.
|
|
Fix "lvconvert -m 0" when there is other than first in-sync leg.
|
|
Use system.devices as default for dmeventd when dmeventd.devices is undefined.
|
|
Accept WWIDs containing QEMU HARDDISK for device_id.
|
|
Improve handling of non-standard WWID prefixes used for device_id.
|
|
Configure automatically enables cmdlib for dmeventd and notify-dbus for dbus.
|
|
Fix hint calculation for pools with zero or error segment.
|
|
Configure supports --disable-shared to build only static binaries.
|
|
Configure supports --without-{blkid|systemd|udev} for easier static build.
|
|
Refresh device ids if the system changes.
|
|
Fix pvmove when specifying raid components as moved LVs.
|
|
Enhance error detection for lvm_import_vdo.
|
|
Support PV lists with thin lvconvert.
|
|
Fix support for lvm_import_vdo with SCSI VDO volumes.
|
|
Fix locking issue leading to hanging concurrent vgchange --refresh.
|
|
Recognize lvm.conf report/headings=2 for full column names in report headings.
|
|
Add --headings none|abbrev|full cmd line option to set report headings type.
|
|
Fix conversion to thin pool using lvmlockd.
|
|
Fix conversion from thick into thin volume using lvmlockd.
|
|
Require writable LV for conversion to vdo pool.
|
|
Fix return value from lvconvert integrity remove.
|
|
Preserve UUID for pool metadata spare.
|
|
Preserve UUID for swapped pool metadata.
|
|
Rewrite validation of device name entries used as device_id.
|
|
|
|
version 2.03.22 - 02nd August 2023
|
|
==================================
|
|
Fix pv_major/pv_minor report field types so they are integers, not strings.
|
|
Add lvmdevices --delnotfound to delete entries for missing devices.
|
|
Always use cachepool name for metadata backup LV for lvconvert --repair.
|
|
Make metadata backup LVs read-only after pool's lvconvert --repair.
|
|
Improve VDO and Thin support with lvmlockd.
|
|
Handle 'lvextend --usepolicies' for pools for all activation variants.
|
|
Fix memleak in vgchange autoactivation setup.
|
|
Update py-compile building script.
|
|
Support conversion from thick to fully provisioned thin LV.
|
|
Cache/Thin-pool can use error and zero volumes for testing.
|
|
Individual thin volume can be cached, but cannot take snapshot.
|
|
Better internal support for handling error and zero target (for testing).
|
|
Resize COW above trimmed maximal size is does not return error.
|
|
Support parsing of vdo geometry format version 4.
|
|
Add lvm.conf thin_restore and cache_restore settings.
|
|
Handle multiple mounts while resizing volume with a FS.
|
|
Handle leading/trailing spaces in sys_wwid and sys_serial used by device_id.
|
|
Enhance lvm_import_vdo and use snapshot when converting VDO volume.
|
|
Fix parsing of VDO metadata.
|
|
Fix failing -S|--select for non-reporting cmds if using LV info/status fields.
|
|
Allow snapshots of raid+integrity LV.
|
|
Fix multisegment RAID1 allocator to prevent using single disk for more legs.
|
|
|
|
version 2.03.21 - 21st April 2023
|
|
=================================
|
|
Fix activation of vdo-pool for with 0 length headers (converted pools).
|
|
Avoid printing internal init messages when creation integration devices.
|
|
Allow (write)cache over raid+integrity LV.
|
|
|
|
version 2.03.20 - 21st March 2023
|
|
=================================
|
|
Fix segfault if using -S|--select with log/report_command_log=1 setting.
|
|
Configure now fails when requested lvmlockd dependencies are missing.
|
|
Add some configure Gentoo enhancements for static builds.
|
|
|
|
version 2.03.19 - 21st February 2023
|
|
====================================
|
|
Configure supports --with-systemd-run executed from udev rules.
|
|
Enhancement for build with MuslC systemd and non-bash system shells (dash).
|
|
Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices.
|
|
Ensure udev is processing origin LV before its thick snapshots LVs.
|
|
Fix and improve runtime memory size detection for VDO volumes.
|
|
|
|
version 2.03.18 - 22nd December 2022
|
|
====================================
|
|
Fix issues reported by coverity scan.
|
|
Fix warning for thin pool overprovisioning on lvextend (2.03.17).
|
|
Add support for writecache metadata_only and pause_writeback settings.
|
|
Fix missing error messages in lvmdbusd.
|
|
|
|
Version 2.03.17 - 10th November 2022
|
|
====================================
|
|
Add new options (--fs, --fsmode) for FS handling when resizing LVs.
|
|
Fix 'lvremove -S|--select LV' to not also remove its historical LV right away.
|
|
Fix lv_active field type to binary so --select and --binary applies properly.
|
|
Switch to use mallinfo2 and use it only with glibc.
|
|
Error out in lvm shell if using a cmd argument not supported in the shell.
|
|
Fix lvm shell's lastlog command to report previous pre-command failures.
|
|
Extend VDO and VDOPOOL without flushing and locking fs.
|
|
Add --valuesonly option to lvmconfig to print only values without keys.
|
|
Updates configure with recent autoconf tooling.
|
|
Fix lvconvert --test --type vdo-pool execution.
|
|
Add json_std output format for more JSON standard compliant version of output.
|
|
Fix vdo_slab_size_mb value for converted VDO volume.
|
|
Fix many corner cases in device_id, including handling of S/N duplicates.
|
|
Fix various issues in lvmdbusd.
|
|
|
|
Version 2.03.16 - 18th May 2022
|
|
===============================
|
|
Fix segfault when handling selection with historical LVs.
|
|
Add support --vdosettings with lvcreate, lvconvert, lvchange.
|
|
Filtering multipath devices respects blacklist setting from multipath
|
|
configuration.
|
|
lvmdevices support for removing by device id using --deviceidtype and
|
|
--deldev.
|
|
Display writecache block size with lvs -o writecache_block_size.
|
|
Improve cachesettings description in man lvmcache.
|
|
Fix lossing of delete message on thin-pool extension.
|
|
|
|
Version 2.03.15 - 07th February 2022
|
|
====================================
|
|
Remove service based autoactivation. global/event_activation = 0 is NOOP.
|
|
Improve support for metadata profiles for --type writecache.
|
|
Use cache or active DM device when available with new kernels.
|
|
Introduce function to utilize UUIDs from DM_DEVICE_LIST.
|
|
Increase some hash table size to better support large device sets.
|
|
|
|
Version 2.03.14 - 20th October 2021
|
|
===================================
|
|
Device scanning is skipping directories on different filesystems.
|
|
Print info message with too many or too large archived files.
|
|
Reduce metadata readings during scanning phase.
|
|
Optimize computation of crc32 check sum with multiple PVs.
|
|
Enhance recover path on cache creation failure.
|
|
Filter out unsupported MQ/SMQ cache policy setting.
|
|
Fix memleak in mpath filter.
|
|
Support newer location for VDO statistics.
|
|
Add support for VDO async-unsafe write policy.
|
|
Improve lvm_import_vdo script.
|
|
Support VDO LV with lvcreate -ky.
|
|
Fix lvconvert for VDO LV bigger then 2T.
|
|
Create VDO LVs automatically without zeroing.
|
|
Rename vdoimport to lvm_import_vdo.
|
|
|
|
Version 2.03.13 - 11th August 2021
|
|
==================================
|
|
Changes in udev support:
|
|
- obtain_device_list_from_udev defaults to 0.
|
|
- see devices/external_device_info_source,
|
|
devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help
|
|
in lvm.conf
|
|
Fix devices file handling of loop with deleted backing file.
|
|
Fix devices file handling of scsi_debug WWIDs.
|
|
Fix many static analysis issues.
|
|
Support --poolmetadataspare with vgsplit and vgmerge.
|
|
Fix detection of active components of external origin volume.
|
|
Add vdoimport tool to support conversion of VDO volumes.
|
|
Support configurable allocation/vdo_pool_header_size.
|
|
Fix handling of lvconvert --type vdo-pool --virtualsize.
|
|
Simplified handling of archive() and backup() internal calls.
|
|
Add 'idm' locking type for IDM lock manager.
|
|
Fix load of kvdo target when it is not present in memory (2.03.12).
|
|
|
|
Version 2.03.12 - 07th May 2021
|
|
===============================
|
|
Allow attaching cache to thin data volume.
|
|
Fix memleak when generating list of outdated pvs.
|
|
Better hyphenation usage in man pages.
|
|
Replace use of deprecated security_context_t with char*.
|
|
Configure supports AIO_LIBS and AIO_CFLAGS.
|
|
Improve build process for static builds.
|
|
New --setautoactivation option to modify LV or VG auto activation.
|
|
New metadata based autoactivation property for LVs and VGs.
|
|
Improve signal handling with lvmpolld.
|
|
Signal handler can interrupt command also for SIGTERM.
|
|
Lvreduce --yes support.
|
|
Add configure option --with/out-symvers for non-glibc builds.
|
|
Report error when the filesystem is missing on fsadm resized volume.
|
|
Handle better blockdev with --getsize64 support for fsadm.
|
|
Do not include editline/history.h when using editline library.
|
|
Support error and zero segtype for thin-pool data for testing.
|
|
Support mixed extension for striped, error and zero segtypes.
|
|
Support resize also for stacked virtual volumes.
|
|
Skip dm-zero devices just like with dm-error target.
|
|
Reduce ioctl() calls when checking target status.
|
|
Merge polling does not fail, when LV is found to be already merged.
|
|
Poll volumes with at least 100ms delays.
|
|
Do not flush dm cache when cached LV is going to be removed.
|
|
New lvmlockctl_kill_command configuration option.
|
|
Support interruption while waiting on device close before deactivation.
|
|
Flush thin-pool messages before removing more thin volumes.
|
|
Improve hash function with less collisions and make it faster.
|
|
Reduce ioctl count when deactivating volumes.
|
|
Reduce number of metadata parsing.
|
|
Enhance performance of lvremove and vgremove commands.
|
|
Support interruption when taking archive and backup.
|
|
Accelerate large lvremoves.
|
|
Speedup search for cached device nodes.
|
|
Speedup command initialization.
|
|
Add devices file feature, off by default for now.
|
|
Support extension of writecached volumes.
|
|
Fix problem with unbound variable usage within fsadm.
|
|
Fix IMSM MD RAID detection on 4k devices.
|
|
Check for presence of VDO target before starting any conversion.
|
|
Support metatadata profiles with volume VDO pool conversions.
|
|
Support -Zn for conversion of already formatted VDO pools.
|
|
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.
|
|
Add workaround to avoid read of internal 'converted' devices.
|
|
Prohibit merging snapshot into the read-only thick snapshot origin.
|
|
Restore support for flipping rw/r permissions for thin snapshot origin.
|
|
Support resize of cached volumes.
|
|
Disable autoactivation with global/event_activation=0.
|
|
Check if lvcreate passes read_only_volume_list with tags and skips zeroing.
|
|
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.
|
|
Support online rename of VDO pools.
|
|
Improve removal of pmspare when last pool is removed.
|
|
Fix problem with wiping of converted LVs.
|
|
Fix memleak in scanning (2.03.11).
|
|
Fix corner case allocation for thin-pools.
|
|
|
|
Version 2.03.11 - 08th January 2021
|
|
===================================
|
|
Fix pvck handling MDA at offset different from 4096.
|
|
Partial or degraded activation of writecache is not allowed.
|
|
Enhance error handling for fsadm and handle correct fsck result.
|
|
Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values.
|
|
Support using BLKZEROOUT for clearing devices.
|
|
Support interruption when wipping LVs.
|
|
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.
|
|
Add configure --enable-editline support as an alternative to readline.
|
|
Enhance reporting and error handling when creating thin volumes.
|
|
Enable vgsplit for VDO volumes.
|
|
Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added.
|
|
Use revert_lv() on reload error path after vg_revert().
|
|
Configure --with-integrity enabled.
|
|
Restore lost signal blocking while VG lock is held.
|
|
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.
|
|
Configure --with-vdo and --with-writecache as internal segments.
|
|
Improving VDO man page examples.
|
|
Allow pvmove of writecache origin.
|
|
Report integrity fields.
|
|
Integrity volumes defaults to journal mode.
|
|
Switch code base to use flexible array syntax.
|
|
Fix 64bit math when calculation cachevol size.
|
|
Preserve uint32_t for seqno handling.
|
|
Switch from mmap to plain read when loading regular files.
|
|
Update lvmvdo man page and better explain DISCARD usage.
|
|
|
|
Version 2.03.10 - 09th August 2020
|
|
==================================
|
|
Add writecache and integrity support to lvmdbusd.
|
|
Generate unique cachevol name when default required from lvcreate.
|
|
Converting RAID1 volume to one with same number of legs now succeeds with a
|
|
warning.
|
|
Fix conversion to raid from striped lagging type.
|
|
Fix conversion to 'mirrored' mirror log with larger regionsize.
|
|
Zero pool metadata on allocation (disable with allocation/zero_metadata=0).
|
|
Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn).
|
|
Add lvcreate of new cache or writecache lv with single command.
|
|
Fix running out of free buffers for async writing for larger writes.
|
|
Add integrity with raid capability.
|
|
Fix support for lvconvert --repair used by foreign apps (i.e. Docker).
|
|
|
|
Version 2.03.09 - 26th March 2020
|
|
=================================
|
|
Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits).
|
|
Fix showing of a dm kernel error when uncaching a volume with cachevol.
|
|
|
|
Version 2.03.08 - 11th February 2020
|
|
====================================
|
|
Prevent problematic snapshots of writecache volumes.
|
|
Add error handling for failing allocation in _reserve_area().
|
|
Fix memleak in syncing of internal cache.
|
|
Fix pvck dump_current_text memleak.
|
|
Fix lvmlockd result code on error path for _query_lock_lv().
|
|
Update pvck man page and help output.
|
|
Reject invalid writecache high/low_watermark setting.
|
|
Report writecache status.
|
|
Accept more output lines from vdo_format.
|
|
Prohibit reshaping of stacked raid LVs.
|
|
Avoid running cache input arg validation when creating vdo pool.
|
|
Prevent raid reshaping of stacked volumes.
|
|
Added VDO lvmdbusd methods for enable/disable compression & dedupe.
|
|
Added VDO lvmdbusd method for converting LV to VDO pool.
|
|
|
|
Version 2.03.07 - 30th November 2019
|
|
====================================
|
|
Subcommand in vgck for repairing headers and metadata.
|
|
Ensure minimum required region size on striped RaidLV creation.
|
|
Fix resize of thin-pool with data and metadata of different segtype.
|
|
Improve mirror type leg splitting.
|
|
Improve error path handling in daemons on shutdown.
|
|
Fix activation order when removing merged snapshot.
|
|
Experimental VDO support for lvmdbusd.
|
|
|
|
Version 2.03.06 - 23rd October 2019
|
|
===================================
|
|
Add _cpool suffix to cache-pool LV name when used by caching LV.
|
|
No longer store extra UUID for cmeta and cdata cachevol layer.
|
|
Enhance activation of cache devices with cachevols.
|
|
Add _cvol in list of protected suffixes and start use it with DM UUID.
|
|
Rename LV converted to cachevol to use _cvol suffix.
|
|
Use normal LVs for wiping of cachevols.
|
|
Reload cleanered cache DM only with cleaner policy.
|
|
Fix cmd return when zeroing of cachevol fails.
|
|
Extend lvs to show all VDO properties.
|
|
Preserve VDO write policy with vdopool.
|
|
Increase default vdo bio threads to 4.
|
|
Continue report when cache_status fails.
|
|
Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper.
|
|
Fix cmirrord usage of header files from device_mapper subdir.
|
|
Allow standalone activation of VDO pool just like for thin-pools.
|
|
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.
|
|
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.
|
|
Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
|
|
Prevent creating VGs with PVs with different logical block sizes.
|
|
Fix metadata writes from corrupting with large physical block size.
|
|
|
|
Version 2.03.05 - 15th June 2019
|
|
================================
|
|
Fix command definition for pvchange -a.
|
|
Add vgck --updatemetadata command that will repair metadata problems.
|
|
Improve VG reading to work if one good copy of metadata is found.
|
|
Report/display/scan commands that read VGs will no longer write/repair.
|
|
Move metadata repairs from VG reading to VG writing.
|
|
Add config setting md_component_checks to control MD component checks.
|
|
Add end of device MD component checks when dev has no udev info.
|
|
|
|
Version 2.03.04 - 10th June 2019
|
|
================================
|
|
Remove unused_duplicate_devs from cmd causing segfault in dmeventd.
|
|
|
|
Version 2.03.03 - 07th June 2019
|
|
================================
|
|
Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
|
|
Add pvck --dump option to extract metadata.
|
|
Fix signal delivery checking race in libdaemon (lvmetad).
|
|
Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering.
|
|
Skip autoactivation for a PV when PV size does not match device size.
|
|
Remove first-pvscan-initialization which should no longer be needed.
|
|
Add remote refresh through lvmlockd/dlm for shared LVs after lvextend.
|
|
Ignore foreign and shared PVs for pvscan online files.
|
|
Add config setting to control fields in debug file and verbose output.
|
|
Add command[pid] and timestamp to debug file and verbose output.
|
|
Fix missing growth of _pmsmare volume when extending _tmeta volume.
|
|
Automatically grow thin metadata, when thin data gets too big.
|
|
Add synchronization with udev before removing cached devices.
|
|
Add support for caching VDO LVs and VDOPOOL LVs.
|
|
Add support for vgsplit with cached devices.
|
|
Query mpath device only once per command for its state.
|
|
Use device INFO instead of STATUS when checking for mpath device uuid.
|
|
Change default io_memory_size from 4 to 8 MiB.
|
|
Add config setting io_memory_size to set bcache size.
|
|
Fix pvscan autoactivation for concurrent pvscans.
|
|
Change scan_lvs default to 0 so LVs are not scanned for PVs.
|
|
Thin-pool selects power-of-2 chunk size by default.
|
|
Cache selects power-of-2 chunk size by default.
|
|
Support reszing for VDOPoolLV and VDOLV.
|
|
Improve -lXXX%VG modifier which improves cache segment estimation.
|
|
Ensure migration_threshold for cache is at least 8 chunks.
|
|
Restore missing man info lvcreate --zero for thin-pools.
|
|
Drop misleadning comment for metadata minimum_io_size for VDO segment.
|
|
Add device hints to reduce scanning.
|
|
Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator.
|
|
Fix generator quering lvmconfig unpresent config option.
|
|
Fix memleak on bcache error path code.
|
|
Fix missing unlock on lvm2 dmeventd plugin error path initialization.
|
|
Improve Makefile dependency tracking.
|
|
Move VDO support towards V2 target (6.2) support.
|
|
|
|
Version 2.03.02 - 18th December 2018
|
|
====================================
|
|
Fix missing proper initialization of pv_list struct when adding pv.
|
|
Fix (de)activation of RaidLVs with visible SubLVs.
|
|
Prohibit mirrored 'mirror' log via lvcreate and lvconvert.
|
|
Use sync io if async io_setup fails, or use_aio=0 is set in config.
|
|
Fix more issues reported by coverity scan.
|
|
|
|
Version 2.03.01 - 31st October 2018
|
|
===================================
|
|
|
|
Version 2.03.00 - 10th October 2018
|
|
===================================
|
|
Add hot fix to avoiding locking collision when monitoring thin-pools.
|
|
Allow raid4 -> linear conversion request.
|
|
Fix lvconvert striped/raid0/raid0_meta -> raid6 regression.
|
|
Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator.
|
|
Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service.
|
|
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.
|
|
lvconvert: reject conversions on raid1 LVs with split tracked SubLVs
|
|
lvconvert: reject conversions on raid1 split tracked SubLVs
|
|
Add basic creation support for VDO target.
|
|
Never send any discard ioctl with test mode.
|
|
Fix thin-pool alloc which needs same PV for data and metadata.
|
|
Extend list of non-memlocked areas with newly linked libs.
|
|
Enhance vgcfgrestore to check for active LVs in restored VG.
|
|
Configure supports --disable-silent-rules for verbose builds.
|
|
Fix unmonitoring of merging snapshots.
|
|
Cache can uses metadata format 2 with cleaner policy.
|
|
Fix check if resized PV can also fit metadata area.
|
|
Avoid showing internal error in lvs output or pvmoved LVs.
|
|
Remove clvmd
|
|
Remove lvmlib (api)
|
|
Remove lvmetad
|
|
Use versionsort to fix archive file expiry beyond 100000 files.
|
|
|
|
Version 2.02.178-rc1 - 24th May 2018
|
|
====================================
|
|
Add libaio dependency for build.
|
|
Remove lvm1 and pool format handling and add filter to ignore them.
|
|
Move some filter checks to after disks are read.
|
|
Rework disk scanning and when it is used.
|
|
Add new io layer and shift code to using it.
|
|
Fix lvconvert's return code on degraded -m raid1 conversion.
|
|
--enable-testing switch for ./configure has been removed.
|
|
--with-snapshots switch for ./configure has been removed.
|
|
--with-mirrors switch for ./configure has been removed.
|
|
--with-raid switch for ./configure has been removed.
|
|
--with-thin switch for ./configure has been removed.
|
|
--with-cache switch for ./configure has been removed.
|
|
Include new unit-test framework and unit tests.
|
|
Extend validation of region_size for mirror segment.
|
|
Reload whole device stack when reinitilizing mirror log.
|
|
Mirrors without monitoring are WARNING and not blocking on error.
|
|
Detect too big region_size with clustered mirrors.
|
|
Fix evaluation of maximal region size for mirror log.
|
|
Enhance mirror log size estimation and use smaller size when possible.
|
|
Fix incorrect mirror log size calculation on 32bit arch.
|
|
Enhance preloading tree creating.
|
|
Fix regression on acceptance of any LV on lvconvert.
|
|
Restore usability of thin LV to be again external origin for another thin.
|
|
Keep systemd vars on change event in 69-dm-lvm-metad.rules for systemd reload.
|
|
Write systemd and non-systemd rule in 69-dm-lvm-metad.rules, GOTO active one.
|
|
Add test for activation/volume_list (Sub)LV remnants.
|
|
Disallow usage of cache format 2 with mq cache policy.
|
|
Again accept striped LV as COW LV with lvconvert -s (2.02.169).
|
|
Fix raid target version testing for supported features.
|
|
Allow activation of pools when thin/cache_check tool is missing.
|
|
Remove RaidLV on creation failure when rmeta devices can't be activated.
|
|
Add prioritized_section() to restore cookie boundaries (2.02.177).
|
|
Enhance error messages when read error happens.
|
|
Enhance mirror log initialization for old mirror target.
|
|
Skip private crypto and stratis devices.
|
|
Skip frozen raid devices from scanning.
|
|
Activate RAID SubLVs on read_only_volume_list readwrite.
|
|
Offer convenience type raid5_n converting to raid10.
|
|
Automatically avoid reading invalid snapshots during device scan.
|
|
Ensure COW device is writable even for read-only thick snapshots.
|
|
Support activation of component LVs in read-only mode.
|
|
Extend internal library to recognize and work with component LV.
|
|
Skip duplicate check for active LV when prompting for its removal.
|
|
Activate correct lock holding LV when it is cached.
|
|
Do not modify archived metadata when removing striped raid.
|
|
Fix memleak on error path when obtaining lv_raid_data_offset.
|
|
Fix compatibility size test of extended external origin.
|
|
Add external_origin visiting in for_each_sub_lv().
|
|
Ensure cluster commands drop their device cache before locking VG.
|
|
Do not report LV as remotely active when it's locally exclusive in cluster.
|
|
Add deprecate messages for usage of mirrors with mirrorlog.
|
|
Separate reporting of monitoring status and error status.
|
|
Improve validation of created strings in vgimportclone.
|
|
Add missing initialisation of mem pool in systemd generator.
|
|
Do not reopen output streams for multithreaded users of liblvm.
|
|
Configure ensures /usr/bin dir is checked for dmpd tools.
|
|
Restore pvmove support for wide-clustered active volumes (2.02.177).
|
|
Avoid non-exclusive activation of exclusive segment types.
|
|
Fix trimming sibling PVs when doing a pvmove of raid subLVs.
|
|
Preserve exclusive activation during thin snaphost merge.
|
|
Avoid exceeding array bounds in allocation tag processing.
|
|
Add --lockopt to common options and add option to skip selected locks.
|
|
|
|
Version 2.02.177 - 18th December 2017
|
|
=====================================
|
|
When writing text metadata content, use complete 4096 byte blocks.
|
|
Change text format metadata alignment from 512 to 4096 bytes.
|
|
When writing metadata, consistently skip mdas marked as failed.
|
|
Refactor and adjust text format metadata alignment calculation.
|
|
Fix python3 path in lvmdbusd to use value detected by configure.
|
|
Reduce checks for active LVs in vgchange before background polling.
|
|
Ensure _node_send_message always uses clean status of thin pool.
|
|
Fix lvmlockd to use pool lock when accessing _tmeta volume.
|
|
Report expected sanlock_convert errors only when retries fail.
|
|
Avoid blocking in sanlock_convert on SH to EX lock conversion.
|
|
Deactivate missing raid LV legs (_rimage_X-missing_Y_Z) on decativation.
|
|
Skip read-modify-write when entire block is replaced.
|
|
Categorise I/O with reason annotations in debug messages.
|
|
Allow extending of raid LVs created with --nosync after a failed repair.
|
|
Command will lock memory only when suspending volumes.
|
|
Merge segments when pvmove is finished.
|
|
Remove label_verify that has never been used.
|
|
Ensure very large numbers used as arguments are not casted to lower values.
|
|
Enhance reading and validation of options stripes and stripes_size.
|
|
Fix printing of default stripe size when user is not using stripes.
|
|
Activation code for pvmove automatically discovers holding LVs for resume.
|
|
Make a pvmove LV locking holder.
|
|
Do not change critical section counter on resume path without real resume.
|
|
Enhance activation code to automatically suspend pvmove participants.
|
|
Prevent conversion of thin volumes to snapshot origin when lvmlockd is used.
|
|
Correct the steps to change lock type in lvmlockd man page.
|
|
Retry lock acquisition on recognized sanlock errors.
|
|
Fix lock manager error codes in lvmlockd.
|
|
Remove unnecessary single read from lvmdiskscan.
|
|
Check raid reshape flags in vg_validate().
|
|
Add support for pvmove of cache and snapshot origins.
|
|
Avoid using precommitted metadata for suspending pvmove tree.
|
|
Ehnance pvmove locking.
|
|
Deactivate activated LVs on error path when pvmove activation fails.
|
|
Add "io" to log/debug_classes for logging low-level I/O.
|
|
Eliminate redundant nested VG metadata in VG struct.
|
|
Avoid importing persistent filter in vgscan/pvscan/vgrename.
|
|
Fix memleak of string buffer when vgcfgbackup runs in secure mode.
|
|
Do not print error when clvmd cannot find running clvmd.
|
|
Prevent start of new merge of snapshot if origin is already being merged.
|
|
Fix offered type for raid6_n_6 to raid5 conversion (raid5_n).
|
|
Deactivate sub LVs when removing unused cache-pool.
|
|
Do not take backup with suspended devices.
|
|
Avoid RAID4 activation on incompatible kernels under all circumstances.
|
|
Reject conversion request to striped/raid0 on 2-legged raid4/5.
|
|
|
|
Version 2.02.176 - 3rd November 2017
|
|
====================================
|
|
Keep Install section only in lvm2-{lvmetad,lvmpolld}.socket systemd unit.
|
|
Fix segfault in lvm_pv_remove in liblvm. (2.02.173)
|
|
Do not allow storing VG metadata with LV without any segment.
|
|
Fix printed message when thin snapshot was already merged.
|
|
Remove created spare LV when creation of thin-pool failed.
|
|
Avoid reading ignored metadata when mda gets used again.
|
|
Fix detection of moved PVs in vgsplit. (2.02.175)
|
|
Ignore --stripes/--stripesize on RAID takeover
|
|
Improve used paths for generated systemd units and init shells.
|
|
Disallow creation of snapshot of mirror/raid subLV (was never supported).
|
|
Fix regression in more advanced vgname extraction in lvconvert (2.02.169).
|
|
Allow lvcreate to be used for caching of _tdata LV.
|
|
Avoid internal error when resizing cache type _tdata LV (not yet supported).
|
|
Show original converted names when lvconverting LV to pool volume.
|
|
Move lib code used only by liblvm into metadata-liblvm.c.
|
|
Distinguish between device not found and excluded by filter.
|
|
Monitor external origin LVs.
|
|
Remove the replicator code, including configure --with-replicators.
|
|
Allow lvcreate --type mirror to work with 100%FREE.
|
|
Improve selection of resource name for complex volume activation lock.
|
|
Avoid cutting first character of resource name for activation lock.
|
|
Support for encrypted devices in fsadm.
|
|
Improve thin pool overprovisioning and repair warning messages.
|
|
Fix incorrect adjustment of region size on striped RaidLVs.
|
|
|
|
Version 2.02.175 - 6th October 2017
|
|
===================================
|
|
Use --help with blockdev when checking for --getsize64 support in fsadm.
|
|
Dump lvmdbusd debug information with SIGUSR1.
|
|
Fix metadata corruption in vgsplit and vgmerge intermediate states.
|
|
Add PV_MOVED_VG PV status flag to mark PVs moving between VGs.
|
|
Fix lvmdbus hang and recognise unknown VG correctly.
|
|
Improve error messages when command rules fail.
|
|
Require LV name with pvmove in a shared VG.
|
|
Allow shared active mirror LVs with lvmlockd, dlm, and cmirrord.
|
|
Support lvconvert --repair with cache and cachepool volumes.
|
|
lvconvert --repair respects --poolmetadataspare option.
|
|
Mark that we don't plan to develop liblvm2app and python bindings any further.
|
|
Fix thin pool creation in shared VG. (2.02.173)
|
|
|
|
Version 2.02.174 - 13th September 2017
|
|
======================================
|
|
Prevent raid1 split with trackchanges in a shared VG.
|
|
Avoid double unlocking of client & lockspace mutexes in lvmlockd.
|
|
Fix leaking of file descriptor for non-blocking filebased locking.
|
|
Fix check for 2nd mda at end of disk fits if using pvcreate --restorefile.
|
|
Use maximum metadataarea size that fits with pvcreate --restorefile.
|
|
Always clear cached bootloaderarea when wiping label e.g. in pvcreate.
|
|
Disallow --bootloaderareasize with pvcreate --restorefile.
|
|
Fix lvmlockd check for running lock managers during lock adoption.
|
|
Add --withgeneralpreamble and --withlocalpreamble to lvmconfig.
|
|
Improve makefiles' linking.
|
|
Fix some paths in generated makefiles to respected configured settings.
|
|
Add warning when creating thin-pool with zeroing and chunk size >= 512KiB.
|
|
Introduce exit code 4 EINIT_FAILED to replace -1 when initialisation fails.
|
|
Add synchronization points with udev during reshape of raid LVs.
|
|
|
|
Version 2.02.173 - 20th July 2017
|
|
=================================
|
|
Add synchronization points with udev during conversion of raid LVs.
|
|
Improve --size args validation and report more detailed error message.
|
|
Initialize debugging mutex before any debug message in clvmd.
|
|
Log error instead of warn when noticing connection problem with lvmetad.
|
|
Fix memory leak in lvmetad when working with duplicates.
|
|
Remove restrictions on reshaping open and clustered raid devices.
|
|
Add incompatible data_offset to raid metadata to fix reshape activation.
|
|
Accept 'lvm -h' and 'lvm --help' as well as 'lvm help' for help.
|
|
Suppress error message from accept() on clean lvmetad shutdown.
|
|
Tidy clvmd client list processing and fix segfaults.
|
|
Protect clvmd debug log messages with mutex and add client id.
|
|
Fix shellcheck reported issues for script files.
|
|
|
|
Version 2.02.172 - 28th June 2017
|
|
=================================
|
|
Add missing NULL to argv array when spliting cmdline arguments.
|
|
Add display_percent helper function for printing percent values.
|
|
lvconvert --repair handles failing raid legs (present but marked 'D'ead).
|
|
Do not lvdisplay --maps unset settings of cache pool.
|
|
Fix lvdisplay --maps for cache pool without policy settings.
|
|
Support aborting of flushing cache LV.
|
|
Reenable conversion of data and metadata thin-pool volumes to raid.
|
|
Improve raid status reporting with lvs.
|
|
No longer necessary to '--force' a repair for RAID1.
|
|
Linear to RAID1 upconverts now use "recover" sync action, not "resync".
|
|
Improve lvcreate --cachepool arg validation.
|
|
Limit maximum size of thin-pool for specific chunk size.
|
|
Print a warning about in-use PVs with no VG using them.
|
|
Disable automatic clearing of PVs that look like in-use orphans.
|
|
Cache format2 flag is now using segment name type field.
|
|
Support storing status flags via segtype name field.
|
|
Stop using '--yes' mode when fsadm runs without terminal.
|
|
Extend validation of filesystems resized by fsadm.
|
|
Enhance lvconvert automatic settings of possible (raid) LV types.
|
|
Allow lvchange to change properties on a thin pool data sub LV.
|
|
Fix lvcreate extent percentage calculation for mirrors.
|
|
Don't reinstate still-missing devices when correcting inconsistent metadata.
|
|
Properly handle subshell return codes in fsadm.
|
|
Disallow cachepool creation with policy cleaner and mode writeback.
|
|
|
|
Version 2.02.171 - 3rd May 2017
|
|
===============================
|
|
Fix memory warnings by using mempools for command definition processing.
|
|
Fix running commands from a script file.
|
|
Add pvcreate prompt when device size doesn't match setphysicalvolumesize.
|
|
lvconvert - preserve region size on raid1 image count changes
|
|
Adjust pvresize/pvcreate messages and prompt if underlying dev size differs.
|
|
raid - sanely handle insufficient space on takeover.
|
|
Fix configure --enable-notify-dbus status message.
|
|
Change configure option name prefix from --enable-lockd to --enable-lvmlockd.
|
|
lvcreate - raise mirror/raid default regionsize to 2MiB
|
|
Add missing configurable prefix to configuration file installation directory.
|
|
|
|
Version 2.02.170 - 13th April 2017
|
|
==================================
|
|
Introduce global/fsadm_executable to make fsadm path configurable.
|
|
Look for limited thin pool metadata size when using 16G metadata.
|
|
Add lvconvert pool creation rule disallowing options with poolmetadata.
|
|
Fix lvconvert when the same LV is incorrectly reused in options.
|
|
Fix lvconvert VG name validation in option values.
|
|
Fix missing lvmlockd LV locks in lvchange and lvconvert.
|
|
Fix dmeventd setup for lvchange --poll.
|
|
Fix use of --poll and --monitor with lvchange and vgchange.
|
|
Disallow lvconvert of hidden LV to a pool.
|
|
Ignore --partial option when not used for activation.
|
|
Allow --activationmode option with lvchange --refresh.
|
|
Better message on lvconvert --regionsize
|
|
Allow valid lvconvert --regionsize change
|
|
Add raid10 alias raid10_near
|
|
Handle insufficient PVs on lvconvert takeover
|
|
Fix SIGINT blocking to prevent corrupted metadata
|
|
Fix systemd unit existence check for lvmconf --services --startstopservices.
|
|
Check and use PATH_MAX buffers when creating vgrename device paths.
|
|
|
|
Version 2.02.169 - 28th March 2017
|
|
==================================
|
|
Automatically decide whether '-' in a man page is a hyphen or a minus sign.
|
|
Add build-time configuration command line to 'lvm version' output.
|
|
Handle known table line parameter order change in specific raid target vsns.
|
|
Conditionally reject raid convert to striped/raid0* after reshape.
|
|
Ensure raid6 upconversion restrictions.
|
|
Adjust mirror & raid dmeventd plugins for new lvconvert --repair behaviour.
|
|
Disable lvmetad when lvconvert --repair is run.
|
|
Remove obsolete lvmchange binary - convert to built-in command.
|
|
Show more information for cached volumes in lvdisplay [-m].
|
|
Add option for lvcreate/lvconvert --cachemetadataformat auto|1|2.
|
|
Support cache segment with configurable metadata format.
|
|
Add allocation/cache_metadata_format profilable settings.
|
|
Use function cache_set_params() for both lvcreate and lvconvert.
|
|
Skip rounding on cache chunk size boudary when create cache LV.
|
|
Improve cache_set_params support for chunk_size selection.
|
|
Fix metadata profile allocation/cache_[mode|policy] setting.
|
|
Fix missing support for using allocation/cache_pool_chunk_size setting.
|
|
Upstream git moved to https://sourceware.org/git/?p=lvm2
|
|
Support conversion of raid type, stripesize and number of disks
|
|
Reject writemostly/writebehind in lvchange during resynchronization.
|
|
Deactivate active origin first before removal for improved workflow.
|
|
Fix regression of accepting both --type and -m with lvresize. (2.02.158)
|
|
Add lvconvert --swapmetadata, new specific way to swap pool metadata LVs.
|
|
Add lvconvert --startpoll, new specific way to start polling conversions.
|
|
Add lvconvert --mergethin, new specific way to merge thin snapshots.
|
|
Add lvconvert --mergemirrors, new specific way to merge split mirrors.
|
|
Add lvconvert --mergesnapshot, new specific way to combine cow LVs.
|
|
Split up lvconvert code based on command definitions.
|
|
Split up lvchange code based on command definitions.
|
|
Generate help output and man pages from command definitions.
|
|
Verify all command line items against command definition.
|
|
Match every command run to one command definition.
|
|
Specify every allowed command definition/syntax in command-lines.in.
|
|
Add extra memory page when limiting pthread stack size in clvmd.
|
|
Support striped/raid0* <-> raid10_near conversions.
|
|
Support shrinking of RaidLVs.
|
|
Support region size changes on existing RaidLVs.
|
|
Avoid parallel usage of cpg_mcast_joined() in clvmd with corosync.
|
|
Support raid6_{ls,rs,la,ra}_6 segment types and conversions from/to it.
|
|
Support raid6_n_6 segment type and conversions from/to it.
|
|
Support raid5_n segment type and conversions from/to it.
|
|
Support new internal command _dmeventd_thin_command.
|
|
Introduce new dmeventd/thin_command configurable setting.
|
|
Use new default units 'r' for displaying sizes.
|
|
Also unmount mount point on top of MD device if using blkdeactivate -u.
|
|
Restore check preventing resize of cache type volumes (2.02.158).
|
|
Add missing udev sync when flushing dirty cache content.
|
|
vgchange -p accepts only uint32 numbers.
|
|
Report thin LV date for merged LV when the merge is in progress.
|
|
Detect if snapshot merge really started before polling for progress.
|
|
Checking LV for merging origin requires also it has merged snapshot.
|
|
Extend validation of metadata processing.
|
|
Enable usage of cached volumes as snapshot origin LV.
|
|
Fix displayed lv name when splitting snapshot (2.02.146).
|
|
Warn about command not making metadata backup just once per command.
|
|
Enable usage of cached volume as thin volume's external origin.
|
|
Support cache volume activation with -real layer.
|
|
Improve search of lock-holder for external origin and thin-pool.
|
|
Support status checking of cache volume used in layer.
|
|
Avoid shifting by one number of blocks when clearing dirty cache volume.
|
|
Extend metadata validation of external origin LV use count.
|
|
Fix dm table when the last user of active external origin is removed.
|
|
Improve reported lvs status for active external origin volume.
|
|
Fix table load for splitted RAID LV and require explicit activation.
|
|
Always active splitted RAID LV exclusively locally.
|
|
Do not use LV RAID status bit for segment status.
|
|
Check segtype directly instead of checking RAID in segment status.
|
|
Reusing exiting code for raid image removal.
|
|
Fix pvmove leaving -pvmove0 error device in clustered VG.
|
|
Avoid adding extra '_' at end of raid extracted images or metadata.
|
|
Optimize another _rmeta clearing code.
|
|
Fix deactivation of raid orphan devices for clustered VG.
|
|
Fix lvconvert raid1 to mirror table reload order.
|
|
Add internal function for separate mirror log preparation.
|
|
Fix segfault in lvmetad from missing NULL in daemon_reply_simple.
|
|
Simplify internal _info_run() and use _setup_task_run() for mknod.
|
|
Better API for internal function _setup_task_run.
|
|
Avoid using lv_has_target_type() call within lv_info_with_seg_status.
|
|
Simplify internal lv_info_with_seg_status API.
|
|
Decide which status is needed in one place for lv_info_with_seg_status.
|
|
Fix matching of LV segment when checking for it info status.
|
|
Report log_warn when status cannot be parsed.
|
|
Test segment type before accessing segment members when checking status.
|
|
Implement compatible target function for stripe segment.
|
|
Use status info to report merge failed and snapshot invalid lvs fields.
|
|
|
|
Version 2.02.168 - 30th November 2016
|
|
=====================================
|
|
Display correct sync_percent on large RaidLVs
|
|
lvmdbusd --blackboxsize <n> added, used to override default size of 16
|
|
Allow a transiently failed RaidLV to be refreshed
|
|
Use lv_update_and_reload() inside mirror code where it applies.
|
|
Preserve mirrored status for temporary layered mirrors.
|
|
Use transient raid check before repairing raid volume.
|
|
Implement transient status check for raid volumes.
|
|
Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification.
|
|
Avoid duplicated underscore in name of extracted LV image.
|
|
Missing stripe filler now could be also 'zero'.
|
|
lvconvert --repair accepts --interval and --background option.
|
|
More efficiently prepare _rmeta devices when creating a new raid LV.
|
|
|
|
Version 2.02.167 - 5th November 2016
|
|
====================================
|
|
Use log_error in regex and sysfs filter to describe reason of failure.
|
|
Fix blkdeactivate to deactivate dev stack if dev on top already unmounted.
|
|
Prevent non-synced raid1 repair unless --force
|
|
Prevent raid4 creation/conversion on non-supporting kernels
|
|
Add direct striped -> raid4 conversion
|
|
Fix raid4 parity image pair position on conversions from striped/raid0*
|
|
Fix a few unconverted return code values for some lvconvert error path.
|
|
Disable lvconvert of thin pool to raid while active.
|
|
Disable systemd service start rate limiting for lvm2-pvscan@.service.
|
|
|
|
Version 2.02.166 - 26th September 2016
|
|
======================================
|
|
Fix lvm2-activation-generator to read all LVM2 config sources. (2.02.155)
|
|
Fix lvchange-rebuild-raid.sh to cope with older target versions.
|
|
Use dm_config_parse_without_dup_node_check() to speedup metadata reading.
|
|
Fix lvconvert --repair regression
|
|
Fix reported origin lv field for cache volumes. (2.02.133)
|
|
Always specify snapshot cow LV for monitoring not internal LV. (2.02.165)
|
|
Fix lvchange --discard|--zero for active thin-pool.
|
|
Enforce 4MiB or 25% metadata free space for thin pool operations.
|
|
Fix lock-holder device for thin pool with inactive thin volumes.
|
|
Use --alloc normal for mirror logs even if the mimages were stricter.
|
|
Use O_DIRECT to gather metadata in lvmdump.
|
|
Ignore creation_time when checking for matching metadata for lvmetad.
|
|
Fix possible NULL pointer derefence when checking for monitoring.
|
|
Add lvmreport(7) man page.
|
|
Don't install lvmraid(7) man page when raid excluded. (2.02.165)
|
|
Report 0% as dirty (copy%) for cache without any used block.
|
|
Fix lvm2api reporting of cache data and metadata percent.
|
|
Restore reporting of metadata usage for cache volumes (2.02.155).
|
|
Support raid scrubbing on cache origin LV.
|
|
|
|
Version 2.02.165 - 7th September 2016
|
|
=====================================
|
|
Add lvmraid(7) man page.
|
|
Use udev db to check for mpath components before running pvscan for lvmetad.
|
|
Use lsblk -s and lsblk -O in lvmdump only if these options are supported.
|
|
Fix number of stripes shown in lvcreate raid10 message when too many.
|
|
Change lvmdbusd to use new lvm shell facilities.
|
|
Do not monitor cache-pool metadata when LV is just being cleared.
|
|
Add allocation/cache_pool_max_chunks to prevent misuse of cache target.
|
|
Give error not segfault in lvconvert --splitmirrors when PV lies outside LV.
|
|
Fix typo in report/columns_as_rows config option name recognition (2.02.99).
|
|
Avoid PV tags when checking allocation against parallel PVs.
|
|
Disallow mirror conversions of raid10 volumes.
|
|
Fix dmeventd unmonitoring when segment type (and dso) changes.
|
|
Don't allow lvconvert --repair on raid0 devices or attempt to monitor them.
|
|
No longer adjust incorrect number of raid stripes supplied to lvcreate.
|
|
Move lcm and gcd to lib/misc.
|
|
Fix vgsplit of external origins. (2.02.162)
|
|
Prohibit creation of RAID LVs unless VG extent size is at least the page size.
|
|
Suppress some unnecessary --stripesize parameter warnings.
|
|
Fix 'pvmove -n name ...' to prohibit collocation of RAID SubLVs
|
|
|
|
Version 2.02.164 - 15th August 2016
|
|
===================================
|
|
Fix selection of PVs when allocating raid0_meta.
|
|
Fix sdbus socket leak leading to hang in lvmnotify.
|
|
Specify max stripes for raid LV types: raid0:64; 1:10; 4,5:63; 6:62; 10:32.
|
|
Avoid double suffix when naming _rmeta LV paired with _rimage LV.
|
|
|
|
Version 2.02.163 - 10th August 2016
|
|
===================================
|
|
Add profile for lvmdbusd which uses lvm shell json report output.
|
|
Restrict in-command modification of some parms in lvm shell.
|
|
Apply LVM_COMMAND_PROFILE early for lvm shell.
|
|
Refactor reporting so lvm shell log report collects whole of cmd execution.
|
|
Support LVM_*_FD envvars to redirect output to file descriptors.
|
|
Limit use of --corelog and --mirrorlog to mirrors in lvconvert.
|
|
Reject --nosync option for RAID6 LVs in lvcreate.
|
|
Do not refresh whole cmd context if profile dropped after processing LVM cmd.
|
|
Support straightforward lvconvert between striped and raid4 LVs.
|
|
Support straightforward lvconvert between raid1 and mirror LVs.
|
|
Report supported conversions when asked for unsupported raid lvconvert.
|
|
Add "--rebuild PV" option to lvchange to allow for PV selective rebuilds.
|
|
Preserve existing mirror region size when using --repair.
|
|
Forbid stripe parameters with lvconvert --repair.
|
|
Unify stripe size validation into get_stripe_params to catch missing cases.
|
|
Further lvconvert validation logic refactoring.
|
|
|
|
Version 2.02.162 - 28th July 2016
|
|
=================================
|
|
Extend vg_validate also to check raid configurations thoroughly.
|
|
Support lvconvert -Zn also when doing full cache pool conversion.
|
|
Suppress not zeroing warn when converting to thin LV for non-zeroing tpool.
|
|
Fix automatic updates of PV extension headers to newest version.
|
|
Improve lvconvert --trackchanges validation to require --splitmirrors 1.
|
|
Add note about lastlog built-in command to lvm man page.
|
|
Fix unrecognised segtype flag message.
|
|
lvconvert not clears cache pool metadata ONLY with -Zn.
|
|
Add allocation/raid_stripe_all_devices to reinstate previous behaviour.
|
|
Create raid stripes across fixed small numbers of PVs instead of all PVs.
|
|
Enabled lvconvert --uncache to work with partial VG.
|
|
Disallow lvconvert --replace with raid0* LVs.
|
|
Fix some lvmetad changed VG metadata notifications that sent uncommitted data.
|
|
|
|
Version 2.02.161 - 15th July 2016
|
|
=================================
|
|
Prohibit some lvchange/lvresize that were failing on raid0 volumes.
|
|
Fix segfaults in complex vgsplits. (2.02.159)
|
|
Reformat unwieldy lvconvert man page.
|
|
Allow --force to be passed through to pvcreate from vgcreate. (2.02.144)
|
|
Fix lvresize of filesystem when LV has already right size (2.02.141)
|
|
New LVM_LOG_FILE_MAX_LINES env var to limit max size of created logs.
|
|
|
|
Version 2.02.160 - 6th July 2016
|
|
================================
|
|
Minor fixes from coverity.
|
|
|
|
Version 2.02.159 - 6th July 2016
|
|
================================
|
|
Add raid0_meta segment type that provides metadata space for raid conversions.
|
|
Fix created link for a used pool for vgmknode.
|
|
Introduce and use is_power_of_2 macro.
|
|
Support conversions between striped and raid0 segment types.
|
|
Add infrastructure for raid takeover lvconvert options.
|
|
|
|
Version 2.02.158 - 25th June 2016
|
|
=================================
|
|
Add a more efficient native vgimportclone command to replace the script.
|
|
Make lvmlockd always attempt to connect to lvmetad if no connection exists.
|
|
Let lvmetad handle new connections after shutdown signal.
|
|
Disable lvmetad when vgcfgrestore begins and enable it again after.
|
|
Make pvscan do activation if lvmetad is configured but not running.
|
|
Fix rescanning the PVs for a single VG when using lvmetad.
|
|
Pool metadata lvresize uses now same code as resize of normal volume.
|
|
Preserve monitoring status when updating thin-pool metadata.
|
|
Return 0 (inactive) when status cannot be queried in _lv_active().
|
|
Switch to log_warn() for failing activation status query.
|
|
Replace vgimportclone script with binary.
|
|
While lvmetad is shutting down, continue handling all connections cleanly.
|
|
Refactor lvconvert argument handling code.
|
|
Notify lvmetad when vgcfgrestore changes VG metadata.
|
|
Add --logonly option to report only cmd log for a command, not other reports.
|
|
Add log/command_log_selection to configure default selection used on cmd log.
|
|
Use 'orphan' object type in cmd log for groups to collect PVs not yet in VGs.
|
|
Add lvm lastlog command for query and display of last cmd's log in lvm shell.
|
|
Report per-object return codes via cmd log while processing multiple objects.
|
|
Annotate processing code with log report hooks for per-object command log.
|
|
Also pass common printed messages (besides warnings and errors) to log report.
|
|
Log warnings and errors via report during cmd processing if this is enabled.
|
|
Make it possible to iterate over internal 'orphan' VGs in process_each_vg fn.
|
|
Make -S|--select option groupable that allows this option to be repeated.
|
|
Make -O|--sort option groupable that allows this option to be repeated.
|
|
Add --configreport option to select report for which next options are applied.
|
|
Add support for priorities on grouping command arguments.
|
|
Add report/{pvs,vgs,lvs,pvsegs,segs}_{cols,sort}_full to lvm.conf.
|
|
Add lvm fullreport command for joined PV, VG, LV and segment report per VG.
|
|
Integrate report group handling and cmd log report into cmd processing code.
|
|
Add log/report_command_log to lvm.conf to enable or disable cmd log report.
|
|
Add log/report_output_format to lvm.conf for default report output format.
|
|
Recognize --reportformat {basic|json} option to select report output format.
|
|
Add log/command_log_{sort,cols} to lvm.conf to configure command log report.
|
|
Add log_object_{type,name,id,group,group_id} fields to cmd log.
|
|
Add log_{seq_num,type,context,message,errno,ret_code} fields to cmd log.
|
|
Add CMDLOG report type - a separate report type for command logging.
|
|
|
|
Version 2.02.157 - 17th June 2016
|
|
=================================
|
|
Change pvscan --cache -aay to scan locally if lvmetad fails.
|
|
|
|
Version 2.02.156 - 11th June 2016
|
|
=================================
|
|
Don't allow duplicate orphan PVs to be used with vgcreate/vgextend/pvcreate.
|
|
Improve handling of lvmetad update failures.
|
|
Yes/No prompt accepts '^[ ^t]*([Yy]([Ee]([Ss]|)|)|[Nn]([Oo]|))[ ^t]*$'.
|
|
If available, also collect output from lsblk command when running lvmdump -s.
|
|
|
|
Version 2.02.155 - 3rd June 2016
|
|
================================
|
|
Reject PV tags on pvmove cmdline because only 1 PV is supported. (2.02.141)
|
|
Fix compilation error when building with configure --disable-devmapper.
|
|
Fix lvmconfig --type diff to display complete diff if config cascade used.
|
|
Automatically filter out partitioned loop devices with partscan (losetup -P).
|
|
Fix lvm devtypes internal error if -S used with field name from pvs/vgs/lvs.
|
|
When reporting Data%,Snap%,Meta%,Cpy%Sync use single ioctl per LV.
|
|
Add lvseg_percent_with_info_and_seg_status() for percent retrieval.
|
|
Enhance internal seg_status handling to understand snapshots better.
|
|
When refresh failed in suspend, call resume upon error path.
|
|
Support passthrough cache mode when waiting for clean cache.
|
|
Check cache status only for 'in-use' cache pools.
|
|
Extend setup_task() to preset flushing for dm_task object.
|
|
When checking LV is a merging COW, validate its a COW LV first.
|
|
Correcting value in copy_percent() for 100%.
|
|
Update vgreduce to use process_each_vg.
|
|
Update lvconvert to use process_each_lv.
|
|
Update pvscan to use process_each_vg for autoactivation.
|
|
Add basic support for --type raid0 using md.
|
|
Add support for lvchange --cachemode for cached LV.
|
|
Fix liblvm2app error handling when setting up context.
|
|
Delay liblvm2app init in python code until it is needed.
|
|
Simplify thread locking in lvmetad to fix locking problems.
|
|
Allow pvremove -ff to remove a duplicate PV.
|
|
Fix lvm2-activation-generator to read lvm.conf without full command setup.
|
|
Allow a minimal context to be used in lvm2app for reading lvm.conf.
|
|
|
|
Version 2.02.154 - 14th May 2016
|
|
================================
|
|
Fix liblvm segfault after failure initialising lvmetad connection.
|
|
Retry open without O_NOATIME if it fails (not file owner/CAP_FOWNER).
|
|
Split _report into one fn for options and arguments and one for processing.
|
|
|
|
Version 2.02.153 - 7th May 2016
|
|
===============================
|
|
Change warning messages related to duplicate PVs.
|
|
A named device is always processed itself, not switched for a duplicate.
|
|
Add PV attr "d" and report field "duplicate" for duplicate PVs.
|
|
Add config setting to disallow VG changes when duplicate PVs exist.
|
|
Use device size and active LVs to choose the preferred duplicate PV.
|
|
Disable lvmetad when duplicate PVs are seen.
|
|
Support --chunksize option also when caching LV when possible.
|
|
Add function to check for target presence and version via 1 ioctl.
|
|
|
|
Version 2.02.152 - 30th April 2016
|
|
==================================
|
|
Use any inherited tags when wiping metadata sub LVs to ensure activation.
|
|
Add str_list_wipe.
|
|
Improve support for interrupting procesing of volumes during lvchange.
|
|
Use failed command return code when lvchanging read-only volume.
|
|
Show creation transaction_id and zeroing state of pool with thin volume.
|
|
Stop checking for dm_cache_mq policy with cache target 1.9 (alias to smq).
|
|
Check first /sys/module/dm_* dir existance before using modprobe.
|
|
Remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0).
|
|
|
|
Version 2.02.151 - 23rd April 2016
|
|
==================================
|
|
Fix error path after reusing of _setup_task (2.02.150).
|
|
Fix memory access for empty sysfs values (2.02.149).
|
|
Disable lvmetad when lvm1 metadata is seen, so commands revert to scanning.
|
|
Suppress errors when snapshot merge gets delayed because volume is in use.
|
|
Avoid internal snapshot LV names in messages.
|
|
Autodetect and use /run/lock dir when available instead of /var/lock.
|
|
lvchange --refresh for merging thin origin will retry to deactivate snapshot.
|
|
Recognize in-progress snapshot merge for thin volumes from dm table.
|
|
Avoid deciding to initiate a pending snapshot merge during resume.
|
|
Improve retrying lvmetad requests while lvmetad is being updated.
|
|
Read devices instead of using the lvmetad cache if rescan fails.
|
|
Move lvmetad token/filter check and device rescan to the start of commands.
|
|
Don't try deactivating fictional internal LV before snapshot merge. (2.02.105)
|
|
When not obtaining devs from udev, check they exist before caching them.
|
|
Detect device mismatch also when compiling without udev support.
|
|
|
|
Version 2.02.150 - 9th April 2016
|
|
=================================
|
|
Avoid using flushing dm status ioctl when checking for usable DM device.
|
|
Check for devices without LVM- uuid prefix only with kernels < 3.X.
|
|
Reuse %FREE size aproximation with lvcreate -l%PVS thin-pool.
|
|
Allow the lvmdump directory to exist already provided it is empty.
|
|
Show lvconverted percentage with 2 decimal digits.
|
|
Fix regression in suspend when repairing --type mirror (2.02.133).
|
|
|
|
Version 2.02.149 - 1st April 2016
|
|
=================================
|
|
Do not flush thin-pool when checking metadata fullness.
|
|
Remove spurious error about no value in /sys/dev/block/major:minor/dm/uuid.
|
|
Fix device mismatch detection for LV if persistent .cache file is used.
|
|
Fix holder device not being found in /dev while sysfs has it during dev scan.
|
|
|
|
Version 2.02.148 - 26th March 2016
|
|
==================================
|
|
Introduce TARGET_NAME and MODULE NAME macros.
|
|
Replace hard-coded module and target names with macros.
|
|
Add pv_major and pv_minor report fields.
|
|
Detect and warn about mismatch between devices used and assumed for an LV.
|
|
|
|
Version 2.02.147 - 19th March 2016
|
|
==================================
|
|
If available, use /proc/self/mountinfo to detect mounted volume in fsadm.
|
|
Fix resize of stacked raid thin data volume (2.02.141).
|
|
Fix test for lvremove failure in lvconvert --uncache (2.02.146).
|
|
|
|
Version 2.02.146 - 11th March 2016
|
|
==================================
|
|
More man page cleanups in lvconvert.
|
|
Fix makefile vpath in /udev when generating udev rules files.
|
|
Another attempt to improve VG name parsing for lvconvert (2.02.144).
|
|
Use new cache status info and skip flushing for failed cache.
|
|
Support --uncache with missing PVs.
|
|
Tidy report field names, headings and widths.
|
|
Add vgscan --notifydbus to send a dbus notification.
|
|
Add dbus notification from commands after a PV/VG/LV changes state.
|
|
|
|
Version 2.02.145 - 4th March 2016
|
|
=================================
|
|
Make it possible to use lvremove and lvrename on historical LVs.
|
|
For historical LVs, report 'none' for lv_layout and 'history' for lv_role.
|
|
Add full_{ancestors,descendants} fields to report LV ancestry with history.
|
|
Report (h)istorical state within 5th bit (State) of the lv_attr field.
|
|
Add lv_historical reporting field to report if LV is historical or not.
|
|
Add lv_time_removed reporting field to display removal time for hist. LVs.
|
|
Report lv_name, lv_uuid, vg_name, lv_time for historical LVs.
|
|
Add --nohistory switch to lvremove to disable history recording on demand.
|
|
Add -H|--history switch to lvs and lvdisplay to include historical LVs.
|
|
Create historical LVs out of removed thin snapshot LVs and record in history.
|
|
Add metadata/lvs_history_retention_time for automatic removal of hist. LVs.
|
|
Add metadata/record_lvs_history config for switching LV history recording.
|
|
Add support and infrastructure for tracking historical LVs.
|
|
Improve lvconvert man page.
|
|
Add kernel_cache_policy lvs field.
|
|
Display [unknown] instead of 'unknown device' in pvs output.
|
|
Fix error path when pvcreate allocation fails (2.02.144).
|
|
Display [unknown] instead of blank for unknown VG names in pvs output.
|
|
|
|
Version 2.02.144 - 26th February 2016
|
|
=====================================
|
|
Use new PV processing code in pvcreate/vgcreate/vgextend/pvremove.
|
|
Add new PV processing code that prompts user without locks held.
|
|
Prevent lvmlockd blocking with new flag requiring sanlock 3.3.0.
|
|
Only show (u)sed pv_attr char when PV is not (a)llocatable. (2.02.143)
|
|
Update makefile to generate lcov output also for lvmpolld and lvmlockd.
|
|
Fix SystemdService lvm2-lvmdbusd.service name.
|
|
Improve support for env LVM_VG_NAME for reference VG name in lvconvert.
|
|
Fix regression when lvresize accepted zero sizes. (2.02.141)
|
|
Always warn user about PV in use even when pvremove uses --force --force.
|
|
Use uninitialized pool header detection in all cases.
|
|
Fix read error detection when checking for uninitialized thin-pool header.
|
|
Fix error path for internal error in lvmetad VG lookup code.
|
|
|
|
Version 2.02.143 - 21st February 2016
|
|
=====================================
|
|
Fix error path when sending thin-pool message fails in update_pool_lv().
|
|
Support reporting CheckNeeded and Fail state for thin-pool and thin LV.
|
|
For failing thin-pool and thin volume correctly report percentage as INVALID.
|
|
Report -1, not 'unkown' for lv_{snapshot_invalid,merge_failed} with --binary.
|
|
Add configure --enable-dbus-service for an LVM D-Bus service.
|
|
Replace configure --enable-python_bindings with python2 and python3 versions.
|
|
If PV belongs to some VG and metadata missing, skip it if system ID is used.
|
|
Automatically change PV header extension to latest version if writing PV/VG.
|
|
Identify used PVs in pv_attr field by new 'u' character.
|
|
Add pv_in_use reporting field to report if PV is used or not.
|
|
Add pv_ext_vsn reporting field to report PV header extension version.
|
|
Add protective flag marking PVs as used even if no metadata available.
|
|
|
|
Version 2.02.142 - 15th February 2016
|
|
=====================================
|
|
Fix memory pool corruption in pvmove (2.02.141).
|
|
Support control of spare metadata creation when repairing thin-pool.
|
|
Fix config type of 'log/verbose' from bool to int (2.02.99).
|
|
Fix inverted data LV thinp watermark calc for dmeventd response (2.02.133).
|
|
Use use_blkid_wiping=0 if not defined in lvm.conf and support not compiled in.
|
|
Do not check for suspended devices if scanning for lvmetad update.
|
|
Clear cached bootloader areas when PV format changed.
|
|
Fix partn table filter with external_device_info_source="udev" and blkid<2.20.
|
|
|
|
Version 2.02.141 - 25th January 2016
|
|
====================================
|
|
Add metadata/check_pv_device_sizes switch to lvm.conf for device size checks.
|
|
Warn if device size is less than corresponding PV size in metadata.
|
|
Cache device sizes internally.
|
|
Restore support for command breaking in process_each_lv_in_vg() (2.02.118).
|
|
Use correct mempool when process_each_lv_in_vg() (2.02.118).
|
|
Fix lvm.8 man to show again prohibited suffixes.
|
|
Fix configure to set proper use_blkid_wiping if autodetected as disabled.
|
|
Initialise udev in clvmd for use in device scanning. (2.02.116)
|
|
Add seg_le_ranges report field for common format when displaying seg devices.
|
|
Honour report/list_item_separator for seg_metadata_le_ranges report field.
|
|
Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges.(2.02.140)
|
|
Change LV sizes in seg_pe_ranges report field to match underlying devices.
|
|
Add kernel_cache_settings report field for cache LV settings used in kernel.
|
|
|
|
Version 2.02.140 - 16th January 2016
|
|
====================================
|
|
Fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}.
|
|
Add kernel_discards report field to display thin pool discard used in kernel.
|
|
Correct checking of target presence when driver access is disabled.
|
|
Eval poolmetadatasize arg earlier in lvresize.
|
|
Fix vgcfgrestore to respect allocatable attribute of PVs.
|
|
Add report/mark_hidden_devices to lvm.conf.
|
|
Use brackets consistently in report fields to mark hidden devices.
|
|
Restore background polling processing during auto-activation (2.02.119).
|
|
Fix invalid memory read when reporting cache LV policy_name (2.02.126).
|
|
|
|
Version 2.02.139 - 8th January 2016
|
|
===================================
|
|
Update lvmlockd with the new VG seqno before devices are suspended.
|
|
Rework vgrename to use the common processing code in toollib.
|
|
Make pvs show new devices on the system since the last .cache update.
|
|
Document F,D and M thin pool health status chars for lv_attr in lvs man page.
|
|
Also add lvm2-activation{-early,-net}.service systemd status for lvmdump -s.
|
|
|
|
Version 2.02.138 - 14th December 2015
|
|
=====================================
|
|
Support lvrename for hidden (used) cache pools.
|
|
Fix lvrename for stacked cache pools.
|
|
|
|
Version 2.02.137 - 5th December 2015
|
|
====================================
|
|
Restore archiving before changing metadata in vgextend (2.02.117).
|
|
Dropped internal usage of log_suppress(2).
|
|
Cleaned logging code for buffer size usage.
|
|
Added internal id_read_format_try() function to check and read valid UUID.
|
|
Change lvcreate, lvrename, lvresize to use process_each_vg.
|
|
Change process_each_vg to handle single VG as separate arg.
|
|
Issue error if ambiguous VG name is supplied in most commands.
|
|
Make process_each fns always work through full list of known VG names.
|
|
Use dm_get_status_mirror() instead of individual parsers.
|
|
Add mem pool arg for check_transient_status() target function.
|
|
Avoid misleading error with -m is omitted with lvconvert to raid types.
|
|
Add system_id to vginfo cache.
|
|
|
|
Version 2.02.136 - 28th November 2015
|
|
=====================================
|
|
Add new --sinceversion option for lvmconfig --type new.
|
|
Fix inactive table loaded for wrapping thin-pool when resizing it.
|
|
Extend the list of ignored libraries when locking memory.
|
|
|
|
Version 2.02.135 - 23rd November 2015
|
|
=====================================
|
|
Add a model file for Coverity.
|
|
Show correct error message for unsupported yet cache pool repair.
|
|
Allow lvconvert cache pools' data and metadata LV to raid.
|
|
Fix reading of old metadata with missing cache policy or mode settings.
|
|
Issue error if external_device_info_source=udev and udev db record incomplete.
|
|
Update lvmetad duplicate VG name handling to use hash function extensions.
|
|
Detect invalid vgrenames by vgid where the name is unchanged.
|
|
Fix passing of 32bit values through daemons (mostly lvmlockd).
|
|
Use local memory pool for whole alloc_handle manipulation.
|
|
Add missing pointer validation after dm_get_next_target().
|
|
Do not deref NULL pointer in debug message for _match_pv_tags().
|
|
Drop unneeded stat() call when checking for sysfs file.
|
|
Fix memory leak on error path of failing thin-pool percentage check.
|
|
Add missing test for failing node allocation in lvmetad.
|
|
Correct configure messages when enabling/disabling lvmlockd.
|
|
|
|
Version 2.02.134 - 9th November 2015
|
|
====================================
|
|
Refactor some lvmetad code and adjust some duplicate PV messages.
|
|
No longer repair/wipe VG/PVs if inaccessible because foreign or shared.
|
|
Pass correct data size to mirror log calc so log can be bigger than 1 extent.
|
|
|
|
Version 2.02.133 - 30th October 2015
|
|
====================================
|
|
Support repeated -o|--options for reporting commands.
|
|
Support -o- and -o# for reporting commands to remove and compact fields.
|
|
Fix missing PVs from pvs output if vgremove is run concurrently.
|
|
Remove unwanted error message when running pvs/vgs/lvs and vgremove at once.
|
|
Check newly created VG's metadata do not overlap in metadata ring buffer.
|
|
Check metadata area size is at least the minimum size defined for the format.
|
|
Thin pool targets uses low_water_mark from profile.
|
|
Dropping 'yet' from error of unsupported thick snapshot of snapshots.
|
|
Do not support unpartitioned DASD devices with CDL formatted with pvcreate.
|
|
For thins use flush for suspend only when volume size is reduced.
|
|
Enable code which detects the need of flush during suspend.
|
|
Ensure --use-policy will resize volume to fit below threshold.
|
|
Correct percentage evaluation when checking thin-pool over threshold.
|
|
Fix lvmcache to move PV from VG to orphans if VG is removed and lvmetad used.
|
|
Fix lvmcache to not cache even invalid info about PV which got removed.
|
|
Support checking of memlock daemon counter.
|
|
Allow all log levels to be used with the lvmetad -l option.
|
|
Add optional shutdown when idle support for lvmetad.
|
|
Fix missing in-sync progress info while lvconvert used with lvmpolld.
|
|
Add report/compact_output_cols to lvm.conf to define report cols to compact.
|
|
Do not change logging in lvm2 library when it's already set.
|
|
Check for enough space in thin-pool in command before creating new thin.
|
|
Make libblkid detect all copies of the same signature if use_blkid_wiping=1.
|
|
Fix vgimportclone with -n to not add number unnecessarily to base VG name.
|
|
Cleanup vgimportclone script and remove dependency on awk, grep, cut and tr.
|
|
Add vg_missing_pv_count report field to report number of missing PVs in a VG.
|
|
Properly identify internal LV holding sanlock locks within lv_role field.
|
|
Add metadata_devices and seg_metadata_le_ranges report fields for raid vols.
|
|
Fix lvm2-{activation,clvmd,cmirrord,monitor} service to exec before mounting.
|
|
|
|
Version 2.02.132 - 22nd September 2015
|
|
======================================
|
|
Fix lvmconf to set locking_type=2 if external locking library is requested.
|
|
Remove verbose message when rescanning an unchanged device. (2.02.119)
|
|
Add origin_uuid, mirror_log_uuid, move_pv_uuid, convert_lv_uuid report fields.
|
|
Add pool_lv_uuid, metadata_lv_uuid, data_lv_uuid reporting fields.
|
|
Fix PV label processing failure after pvcreate in lvm shell with lvmetad.
|
|
|
|
Version 2.02.131 - 15th September 2015
|
|
======================================
|
|
Rename 'make install_full_man' to install_all_man and add all_man target.
|
|
Fix vgimportclone cache_dir path name (2.02.115).
|
|
Swapping of LV identifiers handles more complex LVs.
|
|
Use passed list of PVS when allocating space in lvconvert --thinpool.
|
|
Disallow usage of --stripe and --stripesize when creating cache pool.
|
|
Warn user when caching raid or thin pool data LV.
|
|
When layering LV, move LV flags with segments.
|
|
Ignore persistent cache if configuration changed. (2.02.127)
|
|
Fix devices/filter to be applied before disk-accessing filters. (2.02.112)
|
|
Make tags only when requested via 'make tags'.
|
|
Configure supports --disable-dependency-tracking for one-time builds.
|
|
Fix usage of configure.h when building in srcdir != builddir.
|
|
|
|
Version 2.02.130 - 5th September 2015
|
|
=====================================
|
|
Fix use of uninitialized device status if reading outdated .cache record.
|
|
Restore support for --monitor option in lvcreate (2.02.112).
|
|
Read thin-pool data and metadata percent without flush.
|
|
Detect blocked thin-pool and avoid scanning their thin volumes.
|
|
Check if dm device is usable before checking its size (2.02.116).
|
|
Extend parsing of cache_check version in configure.
|
|
Make lvpoll error messages visible in lvmpolld's stderr and in syslog.
|
|
Add 'make install_full_man' to install all man pages regardless of config.
|
|
|
|
Version 2.02.129 - 26th August 2015
|
|
===================================
|
|
Drop error message when vgdisplay encounters an exported VG. (2.02.27)
|
|
Fix shared library generation to stop exporting internal functions.(2.02.120)
|
|
Accept --cachemode with lvconvert.
|
|
Fix and improve reporting properties of cache-pool.
|
|
Enable usage of --cachepolicy and --cachesetting with lvconvert.
|
|
Don't allow to reduce size of thin-pool metadata.
|
|
Fix debug buffer overflows in cmirrord logging.
|
|
Add --foreground and --help to cmirrord.
|
|
|
|
Version 2.02.128 - 17th August 2015
|
|
===================================
|
|
Allocation setting cache_pool_cachemode is replaced by cache_mode.
|
|
Don't attempt to close config file that couldn't be opened.
|
|
Check for valid cache mode in validation of cache segment.
|
|
Change internal interface handling cache mode and policy.
|
|
When no cache policy specified, prefer smq (if available) over mq.
|
|
Add demo cache-mq and cache-smq profiles.
|
|
Add cmd profilable allocation/cache_policy,cache_settings,cache_mode.
|
|
Require cache_check 0.5.4 for use of --clear-needs-check-flag.
|
|
Fix lvmetad udev rules to not override SYSTEMD_WANTS, add the service instead.
|
|
|
|
Version 2.02.127 - 10th August 2015
|
|
===================================
|
|
Do not init filters, locking, lvmetad, lvmpolld if command doesn't use it.
|
|
Order fields in struct cmd_context more logically.
|
|
Add lock_type to lvmcache VG summary and info structs.
|
|
Fix regression in cache causing some PVs to bypass filters (2.02.105).
|
|
Make configure --enable-realtime the default now.
|
|
Update .gitignore and configure.in files to reflect usage of current tree.
|
|
|
|
Version 2.02.126 - 24th July 2015
|
|
=================================
|
|
Fix long option hyphen removal. (2.02.122)
|
|
Fix clvmd freeze if client disappears without first releasing its locks.
|
|
Fix lvconvert segfaults while performing snapshots merge.
|
|
Ignore errors during detection if use_blkid_wiping=1 and --force is used.
|
|
Recognise DM_ABORT_ON_INTERNAL_ERRORS env var override in lvm logging fn.
|
|
Fix alloc segfault when extending LV with fewer stripes than in first seg.
|
|
Fix handling of cache policy name.
|
|
Set cache policy before with the first lvm2 cache pool metadata commit.
|
|
Fix detection of thin-pool overprovisioning (2.02.124).
|
|
Fix lvmpolld segfaults on 32 bit architectures.
|
|
Add lvmlockd lock_args validation to vg_validate.
|
|
Fix ignored --startstopservices option if running lvmconf with systemd.
|
|
Hide sanlock LVs when processing LVs in VG unless named or --all used.
|
|
|
|
Version 2.02.125 - 7th July 2015
|
|
================================
|
|
Fix getline memory usage in lvmpolld.
|
|
Add support --clear-needs-check-flag for cache_check of cache pool metadata.
|
|
Add lvmetactl for developer use only.
|
|
Rename global/lock_retries to lvmlockd_retries.
|
|
Replace --enable-lvmlockd by --enable-lockd-sanlock and --enable-lockd-dlm.
|
|
|
|
Version 2.02.124 - 3rd July 2015
|
|
================================
|
|
Move sending thin pool messages from resume to suspend phase.
|
|
Report warning when pool is overprovisioned and not auto resized.
|
|
Recognize free-form date/time values for lv_time field in selection criteria.
|
|
Added experimental lvmlockd with configure --enable-lvmlockd.
|
|
Fix regression in select to match string fields if using synonyms (2.02.123).
|
|
Fix regression when printing more lv names via display_lvname (2.02.122).
|
|
Add missing error logging to unlock_vg and sync_local_dev_names callers.
|
|
|
|
Version 2.02.123 - 30th June 2015
|
|
=================================
|
|
Add report/time_format lvm.conf option to define time format for report.
|
|
Fix makefile shell compare == when building lvmetad lvmpolld (2.02.120).
|
|
Add --type full to lvmconfig for full configuration tree view.
|
|
Add undocumented environment variables to lvm man page. (2.02.119)
|
|
Add device synchronization point before activating a new snapshot.
|
|
Add --withspaces to lvmconfig to add spaces in output for better readability.
|
|
Add custom main function to libdaemon.
|
|
Use lvmetad to track out-of-date metadata discovered.
|
|
|
|
Version 2.02.122 - 20th June 2015
|
|
=================================
|
|
Flush stdout before printing to stderr.
|
|
Use pre-allocated buffer for printed LV names in display_lvname.
|
|
Support thins with size of external origin unaligned with thin pool chunk.
|
|
Allow extension of reduced thin volumes with external origins.
|
|
Consider snapshot and origin LV as unusable if component devices suspended.
|
|
Fix lvmconfig segfault on settings with undefined default value (2.02.120).
|
|
Add explicit 's' (shared) LV activation mode.
|
|
Ignore hyphens in long options names (i.e. --long-option == --longoption).
|
|
|
|
Version 2.02.121 - 12th June 2015
|
|
=================================
|
|
Distinguish between on-disk and lvmetad versions of text metadata.
|
|
Remove DL_LIBS from Makefiles for daemons that don't need them.
|
|
Zero errno in before strtoul call in dmsetup if tested after the call.
|
|
Zero errno in before strtoul call in lvmpolld.
|
|
Fix a segfault in pvscan --cache --background command.
|
|
Fix test for AREA_PV when checking for failed mirrors.
|
|
Do not use --sysinit in lvm2-activation{-early,-net}.service if lvmpolld used.
|
|
Maintain outdated PV info in lvmetad till all old metadata is gone from disk.
|
|
Do not fail polling when poll LV not found (already finished or removed).
|
|
Replace poll_get_copy_vg/lv fns with vg_read() and find_lv() in polldaemon.
|
|
Close all device fds only in before sleep call in polldaemon.
|
|
Simplify Makefile targets that generate exported symbols.
|
|
Move various -D settings from Makefiles to configure.h.
|
|
|
|
Version 2.02.120 - 15th May 2015
|
|
================================
|
|
Make various adjustments to Makefile compilation flags.
|
|
Add lvmpolld debug message class.
|
|
Add lvmpolld client mode for querying running server instance for status info.
|
|
Fix some libdaemon socket creation and reuse error paths.
|
|
Daemons (libdaemon) support exit on idle also in non-systemd environment.
|
|
Provide make dist and make rpm targets
|
|
Configure lvm.conf for use_lvmetad and use_lvmpolld.
|
|
Add lvpoll for cmdline communication with lvmpolld.
|
|
Add lvmpolld acting as a free-standing version of polldaemon.
|
|
Avoid repeated identical lvmetad VG lookups in commands processing all VGs.
|
|
Handle switches to alternative duplicate PVs efficiently with lvmetad.
|
|
Properly validate PV size for pvcreate --restorefile.
|
|
Fix check if pvcreate wiped device (2.02.117).
|
|
Fix storing of vgid when caching metadata (2.02.118).
|
|
Fix recursive lvm-config man page. (2.02.119)
|
|
Refactor polldaemon interfaces to poll every operation by VG/LV couple
|
|
Skip wait after testing in _wait_for_single_lv when polling finished
|
|
Return 'None' in python for empty string properties instead of crashing.
|
|
Distinguish signed numerical property type in reports for lvm2app library.
|
|
Reread raid completion status immediately when progress appears to be zero.
|
|
lvm2app closes locking on lvm_quit().
|
|
Configure detects /run or /var/run.
|
|
Add missing newline in clvmd --help output.
|
|
|
|
Version 2.02.119 - 2nd May 2015
|
|
===============================
|
|
New LVM_LOG_FILE_EPOCH, LVM_EXPECTED_EXIT_STATUS env vars. Man page to follow.
|
|
Remove detailed content from lvm.conf man page: use lvmconfig instead.
|
|
Generate complete config files with lvmconfig or 'make generate'.
|
|
Also display info on deprecated config with lvmconfig --withcomments.
|
|
Display version since which config is deprecated in lvmconfig --withversions.
|
|
Add --showdeprecated to lvmconfig to also display deprecated settings.
|
|
Hide deprecated settings in lvmconfig output for all types but current,diff.
|
|
Introduce support for exit on idle feature in libdaemon
|
|
Add --showunsupported to lvmconfig to also display unsupported settings.
|
|
Display unsupported settings for lvmconfig --type current,diff only by default
|
|
Honour lvmconfig --ignoreunsupported and --ignoreadvanced for all --type.
|
|
Make python bindings usable with python3 (and compatible with 2.6 & 2.7).
|
|
Add lvmconfig -l|--list as shortcut for lvmconfig --type list --withsummary.
|
|
Add lvmconfig --type list to display plain list of configuration settings.
|
|
Introduce lvmconfig as the preferred form of 'lvm dumpconfig'.
|
|
Add lv_ancestors and lv_descendants reporting fields.
|
|
Add --ignorelocal option to dumpconfig to ignore the local section.
|
|
Close connection to lvmetad after fork.
|
|
Make lvchange able to resume background pvmove polling again.
|
|
Split pvmove update metadata fn in an initial one and a subsequent one.
|
|
Refactor shared pvmove and lvconvert code into new _poll files.
|
|
Add --unconfigured option to dumpconfig to print strings unconfigured.
|
|
Add --withsummary option to dumpconfig to print first line - summary comment.
|
|
Use number of device holders to help choose between duplicate PVs.
|
|
Try to make lvmetad and non-lvmetad duplicate PV handling as similar as poss.
|
|
Issue warnings about duplicate PVs discovered by lvmetad.
|
|
Track alternative devices with matching PVIDs in lvmetad.
|
|
Check for lvm binary in blkdeactivate and skip LVM processing if not present.
|
|
Add --enable-halvm and --disable-halvm options to lvmconf script.
|
|
Add --services, --mirrorservice and --startstopservices option to lvmconf.
|
|
Use proper default value of global/use_lvmetad when processing lvmconf script.
|
|
Respect allocation/cling_tag_list during intial contiguous allocation.
|
|
Add A_PARTITION_BY_TAGS set when allocated areas should not share tags.
|
|
Make changes persist with python addTag/removeTag.
|
|
Set correct vgid when updating cache when writing PV metadata.
|
|
More efficient clvmd singlenode locking emulation.
|
|
Reject lvcreate -m with raid4/5/6 to avoid unexpected layout.
|
|
Don't skip invalidation of cached orphans if vg write lck is held (2.02.118).
|
|
Log relevant PV tags when using cling allocation.
|
|
Add str_list_add_list() to combine two lists.
|
|
Fix LV processing with selection to always do the selection on initial state.
|
|
Add internal LV_REMOVED LV status flag.
|
|
|
|
Version 2.02.118 - 23rd March 2015
|
|
==================================
|
|
Store metadata size + checksum in lvmcache and add struct lvmcache_vgsummary.
|
|
Remove inaccessible clustered PVs from 'pvs -a'.
|
|
Don't invalidate cached orphan information while global lock is held.
|
|
Avoid rescan of all devices when requested pvscan for removed device.
|
|
Measure configuration timestamps with nanoseconds when available.
|
|
Disable lvchange of major and minor of pool LVs.
|
|
Fix pvscan --cache to not scan and read ignored metadata areas on PVs.
|
|
Add After=iscsi-shutdown.service to blk-availability.service systemd unit.
|
|
Disallow vgconvert from changing metadata format when lvmetad is used.
|
|
Don't do a full read of VG when creating a new VG with an existing name.
|
|
Reduce amount of VG metadata parsing when looking for vgname on a PV.
|
|
Avoid reparsing same metadata when reading same metadata from multiple PVs.
|
|
Save extra device open/close when scanning device for size.
|
|
Fix seg_monitor field to report status also for mirrors and thick snapshots.
|
|
Replace LVM_WRITE with LVM_WRITE_LOCKED flags in metadata if system ID is set.
|
|
Remove ACCESS_NEEDS_SYSTEM_ID VG status flag. (2.02.117)
|
|
Enable system ID features.
|
|
|
|
Version 2.02.117 - 4th March 2015
|
|
=================================
|
|
Add CFG_DISABLED for new system ID config settings that must not yet be used.
|
|
Preserve original format type field when processing backup files.
|
|
Implement status action for lvm2-monitor initscript to display monitored LVs.
|
|
Allow lvchange -p to change kernel state only if metadata state differs.
|
|
Fix incorrect persistent .cache after report with label fields only (2.02.106).
|
|
Reinstate PV tag recognition for pvs if reporting label fields only (2.02.105).
|
|
Rescan devices before vgimport with lvmetad so exported VG is seen.
|
|
Fix hang by adjusting cluster mirror regionsize, avoiding CPG msg limit.
|
|
Do not crash when --cachepolicy is given without --cachesettings.
|
|
Add NEEDS_FOREIGN_VGS flag to vgimport so --foreign is always supplied.
|
|
Add --foreign to the 6 display and reporting tools and vgcfgbackup.
|
|
Install /etc/lvm/lvmlocal.conf template with local section for systemid.
|
|
Record creation_host_system_id in lvm2 metadata (never set yet).
|
|
Reinstate recursive config file tag section processing. (2.02.99)
|
|
Add 'lvm systemid' to display the current system ID (never set yet).
|
|
Fix configure to properly recognize --with-default-raid10-segtype option.
|
|
Do not refresh filters/rescan if no signature is wiped during pvcreate.
|
|
Enforce none external dev info for wiping during pvcreate to avoid races.
|
|
Add global/system_id_source and system_id_file to lvm.conf (disabled).
|
|
Add support for VG system_id to control host access to VGs.
|
|
Update vgextend to use process_each_vg.
|
|
Add --ignoreskippedcluster to pvchange.
|
|
Allow pvchange to modify several properties at once.
|
|
Update pvchange to use process_each_pv.
|
|
Fix pvs -a used with lvmetad to filter out devices unsuitable for PVs.
|
|
Fix selection to recognize units for ba_start, vg_free and seg_start fields.
|
|
Add support for -S/--select to vgexport and vgimport.
|
|
Add support for -S/--select to vgdisplay, lvdisplay and pvdisplay without -C.
|
|
Add support for -S/--select to vgremove and lvremove.
|
|
Add support for -S/--select to vgchange,lvchange and pvchange.
|
|
Add infrastructure to support selection for non-reporting tools.
|
|
Add LVM_COMMAND_PROFILE env var to set default command profile name to use.
|
|
Set CLOEXEC flag on file descriptors originating in libdaemon.
|
|
|
|
Version 2.02.116 - 30th January 2015
|
|
====================================
|
|
Deactivate unused thin pools activated with lvm2 pre-2.02.112 versions.
|
|
Check lock holding LV when lvconverting stacked raid LV in cluster.
|
|
Support udev external dev info for filters: PV min size, mpath, md, partition.
|
|
Add fw_raid_component_detection lvm.conf option to enable FW raid detection.
|
|
Add devices/external_device_info_source lvm.conf option ("none" by default).
|
|
Scan pools in for_each_sub_lv() and add for_each_sub_lv_except_pools().
|
|
Fix lvm2app lvm_lv_get_property return value for fields with info/status ioctl.
|
|
Fix lvm2app regression in lvm_lv_get_attr causing unknown values (2.02.115).
|
|
Set default cache_mode to writehrough when missing in metadata.
|
|
Preserve chunk size with repair and metadata swap of a thin pool.
|
|
Fix raid --splitmirror 1 functionality (2.02.112).
|
|
Fix tree preload to handle splitting raid images.
|
|
Do not support unpartitioned DASD devices.
|
|
Improve config validation to check if setting with string value can be empty.
|
|
|
|
Version 2.02.115 - 21st January 2015
|
|
====================================
|
|
Report segment types without monitoring support as undefined.
|
|
Support lvchange --errorwhenfull for thin pools.
|
|
Improve the processing and reporting of duplicate PVs.
|
|
Report lv_health_status and health attribute also for thin pool.
|
|
Add lv_when_full reporting field.
|
|
Add support for lvcreate --errorwhenfull y|n for thin pools.
|
|
Fix lvconvert --repair to honour resilience requirement for segmented RAID LV.
|
|
Filter out partitioned device-mapper devices as unsuitable for use as PVs.
|
|
Also notify lvmetad about filtered device if using pvscan --cache DevicePath.
|
|
Use LVM's own selection instead of awk expressions in clvmd startup scripts.
|
|
Do not filter out snapshot origin LVs as unusable devices for an LVM stack.
|
|
Fix incorrect rimage names when converting from mirror to raid1 LV (2.02.112).
|
|
Introduce pvremove_many to avoid excessive metadata re-reading and messages.
|
|
Check for cmirror availability during cluster mirror creation and activation.
|
|
Add cache_policy and cache_settings reporting fields.
|
|
Add missing recognition for --binary option with {pv,vg,lv}display -C.
|
|
Fix vgimportclone to notify lvmetad about changes done if lvmetad is used.
|
|
Fix vgimportclone to properly override config if it is missing in lvm.conf.
|
|
Fix automatic use of configure --enable-udev-systemd-background-jobs.
|
|
Correctly rename active split LV with -splitmirrors for raid1.
|
|
Add report/compact_output to lvm.conf to enable/disable compact report output.
|
|
Still restrict mirror region size to power of 2 when VG extent size is not.
|
|
|
|
Version 2.02.114 - 28th November 2014
|
|
=====================================
|
|
Release socket in daemon_close and protocol string in daemon_open error path.
|
|
Add --cachepolicy and --cachesettings to lvcreate.
|
|
Fix regression when parsing /dev/mapper dir (2.02.112).
|
|
Fix missing rounding to 64KB when estimating optimal thin pool chunk size.
|
|
Fix typo in clvmd initscript causing CLVMD_STOP_TIMEOUT var to be ignored.
|
|
Fix size in pvresize "Resizing to ..." verbose msg to show proper result size.
|
|
|
|
Version 2.02.113 - 24th November 2014
|
|
=====================================
|
|
Add --cachepolicy and --cachesettings options to lvchange.
|
|
Validate that converted volume and specified pool volume differ in lvconvert.
|
|
Fix regression in vgscan --mknodes usage (2.02.112).
|
|
Respect --prefix when setting CLMVD_PATH configure (2.02.89).
|
|
Default to configure --enable-udev-systemd-background-jobs for systemd>=205.
|
|
Fix ignore_vg() to properly react on various vg_read errors (2.02.112).
|
|
Failed recovery returns FAILED_RECOVERY status flag for vg_read().
|
|
Exit with non-zero status code when pvck encounters a problem.
|
|
Fix clean_tree after activation/resume for cache target (2.02.112).
|
|
|
|
Version 2.02.112 - 11th November 2014
|
|
=====================================
|
|
Add cache_{read,write}_{hits,misses} reporting fields.
|
|
Add cache_{total,used,dirty}_blocks reporting fields.
|
|
Add _corig as reserved suffix.
|
|
Reduce number of VG writes and commits when creating spare volumes.
|
|
When remove_layer_from_lv() removes layer, restore subLV names.
|
|
Cache-pool in use becomes invisible LV.
|
|
Don't prompt for removal of _pmspare in VG without pool metadata LV.
|
|
Deactivation of snapshot origin detects and deactivates left-over snapshots.
|
|
Properly report error when taking snapshot of any cache type LV.
|
|
Add basic thread debugging messages to dmeventd.
|
|
Include threads being shutdown in dmeventd device registration responses.
|
|
Inital support for external users of thin pools based on transaction_id.
|
|
Report some basic percentage info for cache pools.
|
|
Introduce size_mb_arg_with_percent() for advanced size arg reading.
|
|
Add extra support for '.' as decimal point in size args.
|
|
Add configure parameters for default segment type choices.
|
|
Add global/sparse_segtype_default setting to use thin for --type sparse.
|
|
Update and correct lvcreate and lvcovert man pages.
|
|
Mark pools and snapshots as unzeroable volumes.
|
|
Check for zeroing of volume after segment type is fully detected.
|
|
Better support for persistent major and minor options with lvcreate.
|
|
Refactor lvcreate towards more complete validation of all supported options.
|
|
Support lvcreate --type linear.
|
|
Improve _should_wipe_lv() to warn with message.
|
|
Inform about temporarily created volumes only in verbose mode.
|
|
Better support for --test mode with pool creation.
|
|
Query lock holding LV when replacing and converting raid volumes.
|
|
Add extra validate for locked lv within validate_lv_cache_create().
|
|
Add internal lvseg_name() function.
|
|
Skip use of lock files for virtual internal VG names.
|
|
Fix selection on {vg,lv}_permissions fields to properly match selection criteria.
|
|
Fix lv_permissions reporting to display read-only{-override} instead of blank.
|
|
Fix liblvm2cmd and lvm shell to respect quotes around args in cmd line string.
|
|
Permit extent sizes > 128KB that are not power of 2 with lvm2 format.
|
|
Remove workaround for lvm2-monitor.service hang on stop if lvmetad stopped.
|
|
Change vgremove to use process_each_lv_in_vg.
|
|
Allow lvconvert --repair and --splitmirrors on internal LVs.
|
|
Introduce WARN_ flags to control some metadata warning messages.
|
|
Use process_each_pv in vgreduce.
|
|
Refactor process_each_pv in toollib.
|
|
Introduce single validation routine for pool chunk size.
|
|
Support --yes like --force in vg/lvremove to skip y|n prompt.
|
|
Support --yes with lvconvert --splitsnapshot.
|
|
Fix detection of unsupported thin external lvconversions.
|
|
Fix detection of unsupported cache and thin pool lvconversions.
|
|
Fix detection of unsupported lvconversion of cache to snapshot.
|
|
Improve code for creation of cache and cache pool volumes.
|
|
Check cluster-wide (not local) active status before removing LV.
|
|
Properly check if activation of removed cached LV really activated.
|
|
lvremove cached LV removes cachepool (keep with lvconvert --splitcache).
|
|
Always remove spare LV with last removed pool volume.
|
|
Support lvconvert --splitcache and --uncache of cached LV.
|
|
Option --cache has also shortcut -H (i.e. lvcreate -H).
|
|
Refactor lvcreate code and better preserve --type argument.
|
|
Refactor filter processing around lvmetad.
|
|
Refactor process_each_lv in toollib.
|
|
Refactor process_each_vg in toollib.
|
|
Pools cannot be used as external origin.
|
|
Use lv_update_and_reload() for snapshot reload.
|
|
Don't print message in adjusted_mirror_region_size() in activation.
|
|
Improve lv_update_and_reload() to find out proper lock holding LV.
|
|
Improve search of LV in lv_ondisk().
|
|
Do not scan sysfs in lv_check_not_in_use() when device is closed.
|
|
Backup final metadata after resync of mirror/raid.
|
|
Unify handling of --persistent option for lvcreate and lvchange.
|
|
Validate major and minor numbers stored in metadata.
|
|
Use -fPIE when linking -pie executables.
|
|
Support DEBUG_MEMLOCK to trap unsupported mmap usage.
|
|
Enable cache segment type by default.
|
|
Ensure only supported volume types are used with cache segments.
|
|
Fix inablility to specify cachemode when 'lvconvert'ing to cache-pool.
|
|
Grab cluster lock for active LVs when setting clustered attribute.
|
|
Use va_copy to properly pass va_list through functions.
|
|
Add function to detect rotational devices.
|
|
Review internal checks for mirror/raid/pvmove volumes.
|
|
Track mirror segment type with separate MIRROR flag.
|
|
Fix cmirror endian conversions.
|
|
Introduce lv_is_pvmove/locked/converting/merging macros.
|
|
Avoid leaving linear logical volume when thin pool creation fails.
|
|
Don't leak alloc_handle on raid target error path.
|
|
Properly validate raid leg names.
|
|
Archive metadata before starting their modification in raid target.
|
|
Add missing vg_revert() in suspend_lv() raid and snapshot error path.
|
|
Add missing backup of lvm2 metadata after some raid modifications.
|
|
Use vg memory pool for extent allocation.
|
|
Add allocation/physical_extent_size config option for default PE size of VGs.
|
|
Demote an error to a warning when devices known to lvmetad are filtered out.
|
|
Re-order filter evaluation, making component filters global.
|
|
Fix logic that checks for full scan before iterating through devices.
|
|
Introduce common code to modify metadata and reload updated LV.
|
|
Fix rename of active snapshot volume in cluster.
|
|
Make sure shared libraries are built with RELRO option.
|
|
|
|
Version 2.02.111 - 1st September 2014
|
|
=====================================
|
|
Pass properly sized char buffers for sscanf when initializing clvmd.
|
|
Reinstate nosync logic when extending mirror. (2.02.110)
|
|
Fix total area extent calculation when allocating cache pool. (2.02.110)
|
|
|
|
Version 2.02.110 - 26th August 2014
|
|
===================================
|
|
Fix manipulation with thin-pools which are excluded via volume_list.
|
|
Support lv/vgremove -ff to remove thin vols from broken/inactive thin pools.
|
|
Fix typo breaking configure --with-lvm1=shared.
|
|
Modify lvresize code to handle raid/mirrors and physical extents.
|
|
Don't allow pvcreate to proceed if scanning or filtering fails.
|
|
Cleanly error when creating RAID with stripe size < PAGE_SIZE.
|
|
Print name of LV which on activation triggers delayed snapshot merge.
|
|
Add lv_layout and lv_role LV reporting fields.
|
|
Properly display lvs lv_attr volume type and target type bit for cache origin.
|
|
Fix pvcreate_check() to update cache correctly after signature wiping.
|
|
Fix primary device lookup failure for partition when processing mpath filter.
|
|
If LV inactive and non-clustered, do not issue "Cannot deactivate" on -aln.
|
|
Remove spurious "Skipping mirror LV" message on pvmove of clustered mirror.
|
|
|
|
Version 2.02.109 - 5th August 2014
|
|
==================================
|
|
Remove lv_volume_type field from reports. (2.02.108)
|
|
Fix a segfault in lvscan --cache when devices were already missing. (2.02.108)
|
|
Fix incorrect persistent .cache after vgcreate with PV creation. (2.02.108)
|
|
Display actual size changed when resizing LV.
|
|
Allow approximate allocation with +%FREE in lvextend.
|
|
Remove possible spurious "not found" message on PV create before wiping.
|
|
Handle upgrade from 2.02.105 when an LV now gaining a uuid suffix is active.
|
|
|
|
Version 2.02.108 - 23rd July 2014
|
|
=================================
|
|
Add lvscan --cache which re-scans constituents of a particular LV.
|
|
Make dmeventd's RAID plugin re-scan failed PVs when lvmetad is in use.
|
|
Improve code sharing for lvconvert and lvcreate and pools (cache & thin).
|
|
Improve lvconvert --merge validation.
|
|
Improve lvconvert --splitsnapshot validation.
|
|
Add report/list_item_separator lvm.conf option.
|
|
Add lv_active_{locally,remotely,exclusively} LV reporting fields.
|
|
Comment out devices/{preferred_names,filter} in default lvm.conf file.
|
|
Enhance lvconvert thin, thinpool, cache and cachepool command line support.
|
|
Display 'C' only for cache and cache-pool target types in lvs.
|
|
Prompt for confirmation before change LV into a snapshot exception store.
|
|
Return proper error codes for some failing lvconvert funtions.
|
|
Add initial code to use cache tools (cache_check|dump|repair|restore).
|
|
Support lvdisplay --maps for raid.
|
|
Add --activationmode degraded to activate degraded raid volumes by default.
|
|
Add separate lv_active_{locally,remotely,exclusively} LV reporting fields.
|
|
Recognize "auto"/"unmanaged" values in selection for appropriate fields only.
|
|
Add report/binary_values_as_numeric lvm.conf option for binary values as 0/1.
|
|
Add --binary arg to pvs,vgs,lvs and {pv,vg,lv}display -C for 0/1 on reports.
|
|
Add separate reporting fields for each each {pv,vg,lv}_attr bit.
|
|
Separate LV device status reporting fields out of LV fields.
|
|
Fix regression causing PVs not in VGs to be marked as allocatable (2.02.59).
|
|
Fix VG component of lvid in vgsplit/vgmerge and check in vg_validate.
|
|
Add lv_full_name, lv_parent and lv_dm_path fields to reports.
|
|
Change lv_path field to suppress devices that never appear in /dev/vg.
|
|
Postpone thin pool lvconvert prompts (2.02.107).
|
|
Require --yes option to skip prompt to lvconvert thin pool chunksize.
|
|
Support lvremove -ff to remove thin volumes from broken thin pools.
|
|
Require --yes to skip raid repair prompt.
|
|
Change makefile %.d generation to handle filename changes without make clean.
|
|
Fix use of buildir in make pofile.
|
|
Enhance private volumes UUIDs with suffixed for easier detection.
|
|
Do not use reserved _[tc]meta volumes for temporary LVs.
|
|
Leave backup pool metadata with _meta%d suffix instead of reserved _tmeta%d.
|
|
Allow RAID repair to reuse PVs from same image that suffered a failure.
|
|
New RAID images now avoid allocation on any PVs in the same parent RAID LV.
|
|
Always reevaluate filters just before creating PV.
|
|
|
|
Version 2.02.107 - 23rd June 2014
|
|
=================================
|
|
Introduce LCK_ACTIVATION to avoid concurrent activation of basic LV types.
|
|
Fix open_count test for lvchange --refresh or mirrors and raids.
|
|
Update pvs,vgs,lvs and lvm man page for selection support.
|
|
Add -S/--select to lvm devtypes for report selection.
|
|
Add -S/--select to pvs,vgs,lvs and {pv,vg,lv}display -C for report selection.
|
|
Use dm_report_init_with_selection now, implicit "selected" field appears.
|
|
Make use of libdm's DM_REPORT_FIELD_TYPE{SIZE,PERCENT,STRING_LIST} for fields.
|
|
Support all-or-nothing pvmove --atomic.
|
|
Automatically add snapshot metadata size for -l %ORIGIN calculation.
|
|
When converting RAID origin to cache LV, properly rename sub-LVs.
|
|
Use RemoveOnStop for lvm2-lvmetad.socket systemd unit.
|
|
Add thin-generic configuration profile for generic thin settings.
|
|
Fix crash when reporting empty labels on pvs.
|
|
Use retry_deactivation also when cleaning orphan devices.
|
|
Wait for client threads when shutting down lvmetad.
|
|
Remove PV from cache on pvremove.
|
|
Avoid repeatedly reporting of failure to connect to lvmetad.
|
|
Introduce MDA_FAILED to permit metadata updates even if some mdas are missing.
|
|
Prompt when setting the VG cluster attr if the cluster is not setup.
|
|
Allow --yes to skip prompt in vgextend (worked only with -f).
|
|
Don't use name mangling for LVM - it never uses dm names with wrong char set.
|
|
Remove default.profile and add {command,metadata}_profile_template.profile.
|
|
Use proper umask for systemd units generated by lvm2-activation-generator.
|
|
Check for failing mirror_remove_missing() function.
|
|
Prompt before converting volumes to thin pool and thin pool metadata.
|
|
Add dumpconfig --type profilable-{metadata,command} to select profile type.
|
|
Exit immediately with error if command profile is found invalid.
|
|
Separate --profile cmd line arg into --commandprofile and --metadataprofile.
|
|
Strictly separate command profiles and per-VG/LV profiles referenced in mda.
|
|
Fix dumpconfig --type diff when run as second and later cmd in lvm shell.
|
|
Fix wrong profile reuse from previous run if another cmd is run in lvm shell.
|
|
Move cache description from lvm(8) to new lvmcache(7) man page.
|
|
Display skipped prompt in silent mode.
|
|
Make reporting commands show help about possible sort keys on '-O help'.
|
|
Add metadata_percent to lvs_cols.
|
|
Take account of parity areas with alloc anywhere in _calc_required_extents.
|
|
Use proper uint64 casting for calculation of cache metadata size.
|
|
Better support for nesting of blocking signals.
|
|
Use only sigaction handler and drop duplicate signal handler.
|
|
Separate signal handling and flock code out into lib/misc.
|
|
Don't start dmeventd checking seg_monitor and monitoring is disabled.
|
|
Catch CTRL-c during pvremove prompts.
|
|
Show correct availability status for snapshot origin in lvscan.
|
|
Move segment thin pool/volume info into segment display 'lvdisplay --maps'.
|
|
Display thin pool usage even when just thin volume is available.
|
|
Display monitoring status for monitorable segments in 'lvdisplay --maps'.
|
|
Display virtual extents for virtual LVs in 'lvdisplay --maps'.
|
|
Make vgsplit fail cleanly when not all PVs are specified for RAID 4/5/6.
|
|
Make vgsplit work on mirrors with logs that share PVs with images.
|
|
Use devices/ignore_suspended_devices=0 by default if not defined in lvm.conf.
|
|
Use proper libmem mempool for allocation of unknown segment name.
|
|
Add --readonly to reporting and display tools for lock-free metadata access.
|
|
Add locking_type 5 for dummy locking for tools that do not need any locks.
|
|
Fix _recover_vg() error path when lock conversion fails.
|
|
Use X for LV attributes that are unknown when activation disabled.
|
|
Only output lvdisplay 'LV Status' field when activation is enabled.
|
|
Use lvmetad_used() in pvscan instead of config_tree.
|
|
Configure --enable-udev-systemd-background-jobs if not disabled explicitly.
|
|
Add lvmdump -s to collect system info and context (currently systemd only).
|
|
Refactor allocation code to make A_POSITIONAL_FILL explicit.
|
|
Use thread-safe ctime_r() for clvmd debug logging.
|
|
Skip adding replies to already finished reply thread.
|
|
Use mutex to check number of replies in request_timed_out() in clvmd.
|
|
Drop usage of extra reply_mutex for localsock in clvmd.
|
|
Protect manipulation with finished flag with mutex in clvmd.
|
|
Shift mutex creation and destroy for localsock in clvmd to correct place.
|
|
Fix usage of --test option in clvmd.
|
|
Skip more libraries to be mlocked in memory.
|
|
Remove LOCKED flag for pvmove replaced with error target.
|
|
Return invalid command when specifying negative polling interval.
|
|
|
|
Version 2.02.106 - 10th April 2014
|
|
==================================
|
|
Fix ignored --dataalignment/dataalignment offset for pvcreate --restorefile.
|
|
Fix lost information about bootloader area when using lvmetad.
|
|
Don't require --major to be specified when using -My option on kernels > 2.4.
|
|
Add configure --disable-thin_check_needs_check to support old thin_check.
|
|
Use thin_check --clear-needs-check-flag by default.
|
|
Export lvm_even_rand() for controlled provision of random numbers.
|
|
Add lvmthin man page to section 7.
|
|
Ensure mapped device names are not too long in vg_validate and lvrename.
|
|
Ensure resume failure in lvrename results in command failure.
|
|
Add explicit error message when using lvdisplay -c -m.
|
|
Report error if superfluous argument (e.g. PV name) supplied to pvscan.
|
|
Fix error message for pvdisplay -c -m and add one for pvdisplay -c -s.
|
|
Use EINVALID_CMD_LINE correctly instead of ECMD_FAILED in vgimport/export.
|
|
Obtain list of known VGs from lvmetad for pvchange --all.
|
|
Add man page for lvm-dumpconfig to section 8.
|
|
Drop unused cmd pointer for internal function for_each_sub_lv().
|
|
Validate name for renamed sub LVs.
|
|
When lvrename fails on argument parsing return EINVALID_CMD_LINE.
|
|
Fix exit code regression in failing pvchange command (2.02.66).
|
|
Include 'lvm dumpconfig --type missing' and '--type diff' output to lvmdump.
|
|
Return failure when specifying negative size for pvresize.
|
|
Fix memory corruption in cmd context refresh if clvmd leaks opened device.
|
|
Reinitialise lvmcache properly on fork to fix premature polldaemon exit.
|
|
Add 'lvm dumpconfig --type diff' to show differences from defaults.
|
|
Fix swap signature detection for devices smaller then 2MB.
|
|
Use dm_malloc function in clvmd.c.
|
|
Resolve memory release order for clvmd shutdown.
|
|
Report error when lvm2 activation is released in critical_section.
|
|
Fix memory corruption when pvscan reports long pv names.
|
|
Do not report internal orphan VG names when reporting pvdisplay/pvscan.
|
|
Fix pvdisplay -c man page referencing KB instead of sectors.
|
|
Skip redundant synchronization calls on local clvmd.
|
|
Use correct PATH_MAX for locking dir path.
|
|
Do not check for backups when when its creation is disabled.
|
|
Don't allow --mergedconfig without --type current in dumpconfig. Fix memleak.
|
|
Make global/lvdisplay_shows_full_device_path lvm.conf setting profilable.
|
|
Make global/{units|si_unit_consistency|suffix} lvm.conf setting profilable.
|
|
Validate minimal chunk size for snapshot COW volume in lvconvert.
|
|
Disallow lvconvert of origin to snapshot COW volume.
|
|
Make report lvm.conf settings profilable.
|
|
Add existing report settings to lvm.conf.
|
|
Use VG read lock during 'pvscan --cache -aay' autoactivation.
|
|
Issue a VG refresh before autoactivation only if the PV has changed/is new.
|
|
Add flag to lvmetad protocol to indicate the PV scanned has changed/is new.
|
|
Also add vgname to lvmetad protocol when referencing VGs for PVs scanned.
|
|
Add man page for lvm2-activation-generator.
|
|
Don't print an error and accept empty value for global/thin_disabled_features.
|
|
Update API for internal function build_dm_uuid().
|
|
Do not try to check empty pool with scheduled messages.
|
|
Fix return value in pool_has_message() when quering for any message.
|
|
Cleanup all client resources on clvmd exit.
|
|
Use dm_zalloc to clear members of clvmd client struct.
|
|
Use BLKID_CFLAGS when compiling with blkid support.
|
|
Use correct rl_completion_func_t typedef for new readline.
|
|
Make lvm 'dumpconfig --type default' complete for it to be consumed by lvm.
|
|
Run pvscan --cache via systemd-run in udev if the PV label is detected lost.
|
|
Fix memleak when lvmetad discovers PV to appear on another device.
|
|
Fix calculation of maximum size of COW device for snapshot (2.02.99).
|
|
Do not allow stripe size to be bigger then extent size for lvresize.
|
|
Zero snapshot COW header when creating read-only snapshot.
|
|
Comment out config lines in dumpconfig output without default values defined.
|
|
Improve detection of clustered mirror support.
|
|
Enhance raid code with feature flags, for now checks for raid10.
|
|
Move parsing of VG metadata from vg_commit() back to vg_write() (2.02.99)
|
|
Avoid a PV label scan while in a critical section.
|
|
Remove (always 0) skip argument from lv_activation_skip().
|
|
Create /dev/disk/by-id/lvm-pv-uuid-<PV_UUID> symlink for each PV via udev.
|
|
lvcreate computes RAID4/5/6 stripes if not given from # of allocatable PVs.
|
|
Fix merging of old snapshot into thin volume origin.
|
|
Use --ignoreskippedcluster in lvm2-monitor initscript/systemd unit.
|
|
Do not use VG read/write state for LV read/write state.
|
|
Use --ignoreskippedcluster in activation systemd units if use_lvmetad=0.
|
|
Allow approximate allocation when specifying size in percentage terms.
|
|
Add basic LVM support for cache[pool] segment types.
|
|
Use local exclusive activation for creation of raid in cluster.
|
|
Use correctly signed 64b constant when selecting raid volumes.
|
|
Add systemd native service for clvmd, cmirrord and clustered LV activation.
|
|
Remove ExecReload from lvmetad systemd unit: lvmetad -R undefined. (2.02.98)
|
|
Do not fork lvmetad if running under systemd.
|
|
Wipe DM_snapshot_cow signature without prompt in new LVs with blkid wiping.
|
|
Avoid exposing temporary devices when initializing raid metadata volumes.
|
|
Add internal tags command to display any tags defined on the host.
|
|
Prohibit use of external origin with size incompatible with thin pool.
|
|
Avoid trying to convert single to thin pool and volume at the same time.
|
|
Add support for partitions on ZFS zvol.
|
|
Fix unwanted drop of hold flocks on forked children.
|
|
Respect LVM_LVMETAD_PIDFILE env var for lvm command.
|
|
Avoid exposing temporary devices when initializing thin pool volume.
|
|
Fix test when checking target version for available thin features.
|
|
Detect thin feature external_origin_extend and limit extend when missing.
|
|
Rename internal pool_can_resize_metadata() to thin_pool_feature_supported().
|
|
Issue error if libbblkid detects signature and fails to return offset/length.
|
|
Update autoconf config.guess/sub to 2014-01-01.
|
|
Online thin pool metadata resize requires 1.10 kernel thin pool target.
|
|
|
|
Version 2.02.105 - 20th January 2014
|
|
====================================
|
|
Fix thin LV flagging for udev to skip scanning only if the LV is wiped.
|
|
Replace use of xfs_check with xfs_repair in fsadm.
|
|
Mark lvm1 format metadata as FMT_OBSOLETE. Do not use it with lvmetad.
|
|
Invalidate cached VG struct after a PV in it gets orphaned. (2.02.87)
|
|
Mark pool format metadata as FMT_OBSOLETE.
|
|
Use major:minor in lvm2-pvscan@.service for proper global_filter application.
|
|
Syntax and spelling fixes in some man pages.
|
|
Dependency scan counts with snapshots and external origins.
|
|
Make sure VG extent size is always greater or equal to PV phys. block size.
|
|
Optimize double call of stat() for cached devices.
|
|
Enable support for thin provisioning for default configuration.
|
|
Improve process_each_lv_in_vg() tag processing.
|
|
Reordered and simplified logging code.
|
|
Fix SYSTEMD_READY assignment for foreign devices in lvmetad udev rules.
|
|
Disable online thin pool metadata resize for 1.9 kernel thin target.
|
|
Shortened code for initialization of raid segment types.
|
|
Cache global library dir in command context.
|
|
Return success when inserting dirs and links into device cache.
|
|
Test for remote exclusive activation after activation fails.
|
|
Support lvconvert --merge for thin snapshots.
|
|
Add support to read thin device id from table line entry.
|
|
Drop extra test for origin when testing merging origin in lv_refresh().
|
|
Extend lv_remove_single() to not print info about removed LV.
|
|
Replace open_count check with lv_check_not_in_use() for snapshot open test.
|
|
Add error messages with LV names for failing lv refresh.
|
|
Compile/link executables with new RELRO and PIE options (non-static builds).
|
|
Support per-object compilation cflags via CFLAGS_object.o.
|
|
Automatically detect support for compiler/linker options to use RELRO and PIE.
|
|
Add --splitsnapshot to lvconvert to separate out cow LV.
|
|
Reinstate origin reload to complete lvconvert -s with active LVs. (2.02.98)
|
|
Select only active volume groups if vgdisplay -A is used.
|
|
Add -p and LVM_LVMETAD_PIDFILE env var to lvmetad to change pid file.
|
|
Allow lvmetad to reuse stale socket.
|
|
Only unlink lvmetad socket on error if created by the same process.
|
|
Append missing newline to lvmetad missing socket path error message.
|
|
Check for non-zero alignment in _text_pv_add_metadata_area() to not div by 0.
|
|
Add allocation/use_blkid_wiping to lvm.conf to enable blkid wiping.
|
|
Enable blkid_wiping by default if the blkid library is present.
|
|
Add configure --disable-blkid_wiping to disable libblkid signature detection.
|
|
Add -W/--wipesignatures lvcreate option to support wiping on new LVs.
|
|
Add allocation/wipe_signatures_when_zeroing_new_lvs to lvm.conf.
|
|
Do not fail the whole autoactivation if the VG refresh done before fails.
|
|
Do not connect to lvmetad on vg/lvchange --sysinit -aay and socket absent.
|
|
Use lv_check_not_in_use() when testing device in use before merging.
|
|
Move test for target present from init_snapshot_merge() to lvconvert.
|
|
Check for failure of lvmcache_add_mda() when writing pv.
|
|
Check for failure of dev_get_size() when reporting device size.
|
|
Drop extra unneeded '/' when scanning sysfs directory.
|
|
Fix undef value if skipped clustered VG ignored for toollib PV seg. (2.02.103)
|
|
Support validation of VG/LV names in liblvm/python.
|
|
Allow creation of PVs with arguments to liblvm/python.
|
|
Ensure sufficient metadata copies retained in liblvm/python vgreduce.
|
|
Fix installation of profiles from conf subdir when not building in srcdir.
|
|
Show UUIDs for missing PVs in reports.
|
|
Change dev_size/name, pv_fmt/mda_free/mda_size/uuid fields from pv to label.
|
|
Add struct device *dev to struct label.
|
|
Introduce process_each_label.
|
|
Change void *private to struct format_type *fmt in struct labeller.
|
|
Remove pv_read.
|
|
Add reporting of thin_id device id for thin volumes.
|
|
Fix reporting of empty numerical values for recently-added fields.
|
|
Use _field_set_percent/value in reporting code.
|
|
|
|
Version 2.02.104 - 13th November 2013
|
|
=====================================
|
|
Workaround VG refresh race during autoactivation by retrying the refresh.
|
|
Handle failures in temporary mirror used when adding images to mirrors.
|
|
Fix and improve logic for implicitely exclusive activations.
|
|
Return success when LV cannot be activated because of volume_list filter.
|
|
Return proper error state for remote exclusive activation.
|
|
Fix missing lvmetad scan for PVs found on MD partitions.
|
|
Respect DM_UDEV_DISABLE_OTHER_RULES_FLAG in lvmetad udev rules.
|
|
Fix clvmd message verification to not reject REMOTE flag. (2.02.100)
|
|
Compare equality of double values with DBL_EPSILON predefined constant.
|
|
Use additional gcc warning flags by default.
|
|
Add ignore_lvm_mirrors to config file to read/ignore labels on mirrors.
|
|
Add internal flag for temporary LVs to properly direct udev to not interfere.
|
|
Fix endless loop in blkdeactivate <device>... if unable to umount/deactivate.
|
|
Add dev-block-<major>:<minor>.device systemd alias for complete PV tracking.
|
|
Use major:minor as short form of --major and --minor arg for pvscan --cache.
|
|
Remove 2>/dev/null from three lvm commands executed by vgimportclone.
|
|
Add configure --enable-udev-systemd-background-jobs.
|
|
Add lvm2-pvscan@.service to run pvscan as a service for lvmetad/autoactivation.
|
|
Use #ifdef __linux__ instead of linux throughout.
|
|
Fix lvconvert swap of poolmetadata volume for active thin pool.
|
|
Check for open count with a timeout before removal/deactivation of an LV.
|
|
Report RAID images split with tracking as out-of-sync ("I").
|
|
Improve parsing of snapshot lv segment.
|
|
Add workaround for deactivation problem of opened virtual snapshot.
|
|
Disable unsupported merge for virtual snapshot.
|
|
Move code to remove virtual snapshot from tools to lib for lvm2app.
|
|
Fix possible race during daemon worker thread creation (lvmetad).
|
|
Fix possible deadlock while clearing lvmetad cache for full rescan.
|
|
Recognise NVM Express devices in filter.
|
|
Fix failing metadata repair when lvmetad is used.
|
|
Fix incorrect memory handling when reading messages from lvmetad.
|
|
Fix locking in lvmetad when handling the PV which is gone.
|
|
Recognize new flag to skip udev scanning in udev rules and act appropriately.
|
|
Add support for flagging an LV to skip udev scanning during activation.
|
|
Improve message when unable to change discards setting on active thin pool.
|
|
Run full scan before vgrename operation to avoid any cache name collision.
|
|
Fix lvconvert when converting to a thin pool and thin LV at once. (2.02.99)
|
|
|
|
Version 2.02.103 - 4th October 2013
|
|
===================================
|
|
Ensure vgid matches before removing vgname entry from lvmetad cache.
|
|
Add --ignoreskippedcluster for exit status success when clustered VGs skipped.
|
|
Fix 3 minute udev timeout so that it is applied for all LVM volumes.
|
|
Fix thin/raid & activation config defaults with configure --disable-devmapper.
|
|
Fix RAID calculation for sufficient allocatable space.
|
|
lvconvert from linear to mirror or RAID1 now honors mirror_segtype_default.
|
|
Add thin-performance configuration profile.
|
|
Add lvm.conf allocation/thin_pool_chunk_size_policy option.
|
|
Fix contiguous & cling allocation policies for parity RAID. (2.02.100)
|
|
Have lvmconf --enable/disable-cluster reset/set use_lvmetad.
|
|
Don't install separate command symlink for 'lvm devtypes'. (2.02.101)
|
|
Add seg_size_pe field to reports.
|
|
Support start+length notation with command line PE ranges.
|
|
Exit cleanly with message when pvmove cannot restart because LV is inactive.
|
|
|
|
Version 2.02.102 - 23rd September 2013
|
|
======================================
|
|
Fix missing build dependency for scripts subdir in Makefile.
|
|
Extend lv_info() for more efficient lv_is_active_locally() check.
|
|
Fix node up/down handling in clvmd corosync module.
|
|
|
|
Version 2.02.101 - 20th September 2013
|
|
======================================
|
|
Fix 3-thread clvmd deadlock triggered by cleanup on EOF from client.
|
|
Remove VG from lvmetad before restoring it with vgcfgrestore.
|
|
Use strtoull instead of strtol in _get_int_arg.
|
|
Add devtypes report command to display built-in recognised block device types.
|
|
Fix CC Makefile override which had reverted to using built-in value. (2.02.75)
|
|
Recognise bcache block devices in filter (experimental).
|
|
Run lvm2-activation-net after lvm2-activation service to prevent parallel run.
|
|
Add man page entries for lvmdump's -u and -l options.
|
|
Fix lvm2app segfault while using lvm_list_pvs_free fn if there are no PVs.
|
|
Improve of clvmd singlenode locking simulation.
|
|
lvconvert no longer converts LVs of "mirror" segment type to thinpool.
|
|
lvconvert no longer converts thinpool sub-LVs to "mirror" segment type.
|
|
Direct udev to use 3min timeout for LVM devices. Recent udev has default 30s.
|
|
Do not scan multipath or RAID components and avoid incorrect autoactivation.
|
|
Fix MD/loop udev handling to fire autoactivation after setup or coldplug only.
|
|
Make RAID capable of single-machine exclusive operations in a cluster.
|
|
Drop calculation of read ahead for deactivated volume.
|
|
Check for exactly one lv segment in validation of thin pools and volumes.
|
|
Fix dmeventd unmonitoring of thin pools.
|
|
Fix lvresize for stacked thin pool volumes (i.e. mirrors).
|
|
Write Completed debug message before reinstating log defaults after command.
|
|
Refresh existing VG before autoactivation (event retrigger/device reappeared).
|
|
Use pvscan -b in udev rules to avoid a deadlock on udev process count limit.
|
|
Add pvscan -b/--background for the command to be processed in the background.
|
|
Don't assume stdin file descriptor is readable.
|
|
Avoid unlimited recursion when creating dtree containing inactive pvmove LV.
|
|
Require exactly 3 arguments for lvm2-activation-generator. Remove defaults.
|
|
Inform lvmetad about any lost PV label to make it in sync with system state.
|
|
Support most of lvchange operations on stacked thin pool meta/data LVs.
|
|
Enable non-clustered pvmove of snapshots and snapshot origins.
|
|
Add ability to pvmove non-clustered RAID, mirror, and thin volumes.
|
|
Make lvm2-activation-generator silent unless it's in error state.
|
|
Remove "mpath major is not dm major" msg for mpath component scan (2.02.94).
|
|
Prevent cluster mirror logs from being corrupted by redundant checkpoints.
|
|
Fix ignored lvmetad update on loop device configuration (2.02.99).
|
|
Use LVM_PATH instead of hardcoded value in lvm2 activation systemd generator.
|
|
Fix vgck to notice on-disk corruption even if lvmetad is used.
|
|
Move mpath device filter before partitioned filter (which opens devices).
|
|
Split partitioned filter out of lvm_type filter.
|
|
Merge filter*.h into a single filter.h.
|
|
Require confirmation for vgchange -c when no VGs listed explicitly.
|
|
Also skip /var and /var/log by default in blkdeactivate when unmounting.
|
|
Add support for bind mounts in blkdeactivate.
|
|
Add blkdeactivate -v/--verbose for debug output from external tools used.
|
|
Add blkdeactivate -e/--errors for error messages from external tools used.
|
|
Suppress messages from external tools called in blkdeactivate by default.
|
|
|
|
Version 2.02.100 - 13th August 2013
|
|
===================================
|
|
Fix inability to remove a VG's cluster flag if it contains a mirror.
|
|
Suppress arg: prefix in log_sys_error macro when arg is empty string.
|
|
Fix bug making lvchange unable to change recovery rate for RAID.
|
|
Prohibit conversion of thin pool to external origin.
|
|
Workaround gcc v4.8 -O2 bug causing failures if config/checks=1 (32bit arch).
|
|
Verify clvmd message validity before processing and log error if incorrect.
|
|
When creating PV on existing LV don't forbid reserved LV names on LVs below.
|
|
Split out device_is_suspended_or_blocking from device_is_usable.
|
|
When converting mirrors, default segtype should be the same unless specified.
|
|
Make "raid1" the default mirror segment type.
|
|
Fix clogd descriptor leak when daemonizing.
|
|
Fix clvmd descriptor leak on restart.
|
|
Add pipe_open/close() to use instead of less efficient/secure popen().
|
|
Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad.
|
|
Inherit and apply any profile attached to a VG if creating new thin pool.
|
|
Add initial support thin pool lvconvert --repair.
|
|
Add --with-thin-repair and --with-thin-dump configure options.
|
|
Add lvm.conf thin_repair/dump_executable and thin_repair_options.
|
|
Require 1.9 thin pool target version for online thin pool metadata resize.
|
|
Ignore previous LV seg with alloc contiguous & cling when num stripes varies.
|
|
Fix segfault if devices/global_filter is not specified correctly.
|
|
|
|
Version 2.02.99 - 24th July 2013
|
|
================================
|
|
Do not zero init 4KB of thin snapshot for non-zeroing thin pool (2.02.94).
|
|
Issue an error msg if lvconvert --type used incorrectly with other options.
|
|
Use LOG_DEBUG/ERR msg severity instead default for lvm2-activation-generator.
|
|
Support ARG_GROUPABLE with merge_synonym (for --raidwritemostly).
|
|
Fix segfault when reporting raid_syncaction for older kernels.
|
|
Add LV report fields: raid_mismatch_count/raid_sync_action/raid_write_behind.
|
|
Add LV reporting fields raid_min_recovery_rate, raid_max_recovery_rate.
|
|
Add sync_percent as alias for copy_percent LV reporting field.
|
|
Add lv_ prefix to modules reporting field.
|
|
Use units B or b (never E) with no decimal places when displaying sizes < 1k.
|
|
Add support for poolmetadataspare LV, that will be used for pool recovery.
|
|
Improve activation order when creating thin pools in non-clustered VG.
|
|
List thin-pool and thin modules for thin volumes.
|
|
Correct thin creation error paths.
|
|
Use local activation for clearing snapshot COW device.
|
|
Add lvm2-activation-net systemd unit to activate LVs on net-attached storage.
|
|
Release memory allocated with _cached_info().
|
|
Add whole log_lv and metadata_lv sub volumes when creating partial tree.
|
|
Properly use snapshot layer for origin which is also thin volume.
|
|
Avoid generating metadata backup when calling update_pool_lv().
|
|
Send thin messages also for active thin pool and inactive thin volume.
|
|
Add activation/auto_set_activation_skip to control activation skip flagging.
|
|
Add 's(k)ip activation' bit to lvs -o lv_attr to indicate skip flag attached.
|
|
Add --ignoreactivationskip to lvcreate/vgchange/lvchange to ignore skip flag.
|
|
Add --setactivationskip to lvcreate/lvchange to set activation skip flag.
|
|
Automatically flag thin snapshots to be skipped during activation.
|
|
Add support for persistent flagging of LVs to be skipped during activation.
|
|
Add --type profilable to lvm dumpconfig to show profilable config settings.
|
|
Add --mergedconfig to lvm dumpconfig for merged --config/--profile/lvm.conf.
|
|
Relase memory and unblock signals in lock_vol error path.
|
|
Define LVM2_* command errors in lvm2cmd.h and use in dmeventd plugins.
|
|
Move errors.h to tools dir.
|
|
Add man page entries for profile configuration and related options.
|
|
Improve error loging when user tries to interrupt commands.
|
|
Rename _swap_lv to _swap_lv_identifiers and move to allow an additional user.
|
|
Rename snapshot segment returning methods from find_*_cow to find_*_snapshot.
|
|
liblvm/python API: Additions: PV create/removal/resize/listing
|
|
liblvm/python API: Additions: LV attr/origin/Thin pool/Thin LV creation
|
|
Add vgs/lvs -o vg_profile/lv_profile to report profiles attached to VG/LV.
|
|
Add default.profile configuration profile and install it on make install.
|
|
Create a new 'conf' subdir for configuration files including profiles.
|
|
Make selected thinp settings customizable by a profile.
|
|
Support changing VG/LV profiles: vgchange/lvchange --profile/--detachprofile.
|
|
Support storing profile name in metadata for both VGs and LVs.
|
|
Add new --profile command line arg to select a configuration profile for use.
|
|
Add config/profile_dir to set working directory to load profiles from.
|
|
Add configure --with-default-profile-subdir to select dir to keep profiles in.
|
|
Add support for configuration profiles.
|
|
Introduce config_source wrapper for identification of configuration sources.
|
|
Avoid creation of multiple archives for one command.
|
|
Use mirror_segtype_default if type not specified for linear->mirror upconvert.
|
|
Fix use of too big chunks of memory when communication with lvmetad.
|
|
Fix vgcfgrestore crash when specified incorrect vg name.
|
|
Refine lvm.conf and man page documentation for autoactivation feature.
|
|
Add support for thin volumes in vgsplit.
|
|
Also filter partitions on mpath components if multipath_component_detection=1.
|
|
Add lvresize support for online thin pool metadata volume resize.
|
|
Add helper functions find_pool_lv() and pool_can_resize_metadata().
|
|
Add detection for thin pool metadata resize kernel support.
|
|
Report lvs volume type 'e' with higher priority.
|
|
Report lvs volume type 'o' also for external origin volumes.
|
|
Report lvs target type 't' only for thin pools and thin volumes.
|
|
Fix test for active snapshot in cluster before resizing it.
|
|
Allow local activation to receive a locally-supplied LV struct.
|
|
Add vg->vg_ondisk / lv_ondisk() holding committed metadata.
|
|
Report backtrace from dump filter error path.
|
|
Do not use persistent filter with lvmetad.
|
|
Composable persistent filter functionality for global filter.
|
|
Override system's global_filter settings for vgimportclone.
|
|
Detect maximum usable size for snapshot for lvresize.
|
|
Creation of snapshot takes at most 100% origin coverage.
|
|
Add cow_max_extents() to calc extents for 100% origin coverage.
|
|
For creation of snapshot require size for at least 3 chunks.
|
|
Fix lvresize --use-policies of VALID but 100% full snapshot.
|
|
Do not accept size parameters bigger then 16EiB.
|
|
Fix release of PV's fid in free_pv_fid().
|
|
Skip monitoring of snapshots that are already bigger then origin.
|
|
Add lv_is_cow_covering_origin() to check if cow covers origin size.
|
|
Use libdm dm_get_status_snapshot() to parse snapshot status.
|
|
Add detection of mounted fs also for vgchange deactivation.
|
|
Replace 'lv_is_active' with more correct/specific variants (e.g. *_locally).
|
|
Refuse to init a snapshot merge in lvconvert if there's no kernel support.
|
|
Fix exported symbols regex for non-GNU busybox sed.
|
|
Accept --yes in all commands so test scripts can be simpler.
|
|
Fix alignment of PV data area if detected alignment less than 1 MB (2.02.74).
|
|
Fix memory resource leak in memlocking error path.
|
|
Fix premature DM version checking which caused useless mapper/control access.
|
|
Add "active" LV reporting field to show activation state.
|
|
Add "monitor" segment reporting field to show dmevent monitoring status.
|
|
Document lvextend --use-policies option in man.
|
|
Fix creation and removal of clustered snapshot.
|
|
Fix clvmd caching of metadata when suspending inactive volumes.
|
|
Find newest timestamp of merged config files.
|
|
Fix assignment order for vg fid for lvm1 and pool format.
|
|
Fix memleak in dmeventd thin plugin in device list obtaining err path.
|
|
Add explicit message about unsupported pvmove for thin/thinpool volumes.
|
|
Fix lvmetad error path in lvmetad_vg_lookup() for null vgname.
|
|
Fix clvmd _cluster_request() return code in memory fail path.
|
|
Add lvcreate/lvchange --[raid]{min|max}recoveryrate for raid LVs.
|
|
Add lvchange --[raid]writemostly/writebehind support for RAID1
|
|
Add lv_change_activate() for common activation code in vg/lvchange.
|
|
Add lvchange --[raid]syncaction for scrubbing of RAID LVs.
|
|
Improve RAID kernel status retrieval to include sync_action/mismatch_cnt.
|
|
Add external origin support for lvcreate.
|
|
Improve lvcreate, lvconvert and lvm man pages.
|
|
Clean up format1 PV write to remove a need for an orphan VG for it to pass.
|
|
Fix vgextend to not allow a PV with 0 MDAs to be used while already in a VG.
|
|
Move update_pool_params() from /tools to /lib for better reuse.
|
|
Give precedence to EMC power2 devices with duplicate PVIDs.
|
|
Add --validate option to lvm dumpconfig to validate current config on demand.
|
|
Add --ignoreadvanced and --ignoreunsupported switch to lvm dumpconfig.
|
|
Add --withcomments and --withversions switch to lvm dumpconfig.
|
|
Add --type {current|default|missing|new} and --atversion to lvm dumpconfig.
|
|
Support automatic config validation and add 'config' section to lvm.conf.
|
|
Add pvs -o pv_ba_start,pv_ba_size to report bootloader area start and size.
|
|
Add --bootloaderareasize to pvcreate and vgconvert to create bootloader area.
|
|
Add PV header extension: extension version, flags and bootloader areas.
|
|
Initial support for lvconvert of thin external origin.
|
|
Add _lv_remove_segs_using_this_lv() for removal of dependent lvs.
|
|
Improve activation code for better support of stacked devices.
|
|
Add _add_layer_target_to_dtree() for adding linear layer into dtree.
|
|
Extend _cached_info() to accept layer string.
|
|
vgimport '--force' now allows import of VGs with missing PVs.
|
|
Fix PV alignment to incorporate alignment offset if the PV has zero MDAs.
|
|
Add global/raid10_segtype_default to lvm.conf.
|
|
Allow removal or replacement of RAID LV components that are error segments.
|
|
Make 'vgreduce --removemissing' able to handle RAID LVs with missing PVs.
|
|
Accept activation/raid_region_size in preference to mirror_region_size config.
|
|
Fix pvs -o pv_free reporting for PVs with zero PE count.
|
|
Fix missing cleanup of flags when the LV is detached from pool.
|
|
Fix check for some forbidden discards conversion of thin pools.
|
|
Add pool_is_active() to check for any pool related active LV.
|
|
Report blank origin_size field if the LV doesn't have an origin instead of 0.
|
|
Do not take a free lv name argument for lvconvert --thinpool option.
|
|
Avoid flushing thin pool when just requesting transaction_id.
|
|
Add internal function lv_layer() to obtain layer name for LV.
|
|
Report partial and in-sync RAID attribute based on kernel status
|
|
Fix blkdeactivate to handle nested mountpoints and mangled mount paths.
|
|
Use LC_ALL to set locale in daemons and fsadm instead of lower priority LANG.
|
|
Avoid crash-inducing race in lvmetad when VG disappears during rename.
|
|
Add log/debug_classes to lvm.conf to control debug log messages.
|
|
Synchronize with udev in pvscan --cache and fix dangling udev_sync cookies.
|
|
Fix autoactivation to not autoactivate VG/LV on each change of the PVs used.
|
|
Limit RAID device replacement to repair only if LV is not in-sync.
|
|
Disallow RAID device replacement or repair on inactive LVs.
|
|
Fix possible race while removing metadata from lvmetad.
|
|
Fix possible deadlock when querying and updating lvmetad at the same time.
|
|
Check lvmcache_info_from_pvid and recall only when needed in _pv_read.
|
|
Check for memory failure of dm_config_write_node() in lvmetad.
|
|
Fix socket leak on error path in lvmetad's handle_connect.
|
|
Check for failing id_read_format() in _pv_populate_lvmcache.
|
|
Fix memleak on error path for lvmetad's pv_found.
|
|
Unlock vg mutex in error path when lvmetad tries to lock_vg.
|
|
Detect key string duplication failure in config_make_nodes_v in libdaemon.
|
|
Detect fid creation failure in _scan_file in format_text.
|
|
Log output also to syslog when abort_on_internal_error is set.
|
|
Add LV snapshot support to liblvm and python-lvm.
|
|
Avoid a global lock in pvs when lvmetad is in use.
|
|
Fix crash in pvscan --cache -aay triggered by non-mda PV.
|
|
Allow lvconvert --stripes/stripesize only with --mirrors/--repair/--thinpool.
|
|
Fix memleak in device_is_usable mirror testing function.
|
|
Do not ignore -f in lvconvert --repair -y -f for mirror and raid volumes.
|
|
Disallow pvmove on RAID LVs until they are addressed properly
|
|
Allow empty activation/{auto_activation|read_only|}_volume_list config option.
|
|
Add lvm.conf option global/thin_disabled_features.
|
|
Add lvconvert support to swap thin pool metadata volume.
|
|
Implement internal function detach_pool_metadata_lv().
|
|
Fix lvm2app to return all property sizes in bytes (not sectors).
|
|
Recognize DM_DISABLE_UDEV environment variable for a complete fallback.
|
|
Do not verify udev operations if --noudevsync command option is used.
|
|
Fix lvm2app and return lvseg discards property as string.
|
|
Allow vgcfgrestore of lvm2 metadata with thin volumes if --force is used.
|
|
Recognise Storage Class Memory (IBM S/390) devices in filter.
|
|
Recognise STEC skd devices in filter.
|
|
Recognise Violin Memory vtms devices in filter.
|
|
Add lvm.conf thin pool allocation settings thin_pool_{chunk_size|discards|zero}.
|
|
Support discards for non-power-of-2 thin pool chunks.
|
|
Automatically restore MISSING PVs with no MDAs.
|
|
When no --stripes argument is given when creating a RAID10 volume, default to 2 stripes.
|
|
Do not allow lvconvert --splitmirrors on RAID10 logical volumes.
|
|
Skip mlocking [vectors] on arm architecture.
|
|
Support allocation of pool metadata with lvconvert command.
|
|
Move common functionality for thin lvcreate and lvconvert to toollib.
|
|
Repair a mirrored log before the mirror itself when both fail.
|
|
Add python-lvm unit test case
|
|
Exit pvscan --cache immediately if cluster locking used or lvmetad not used.
|
|
Don't use lvmetad in lvm2-monitor.service ExecStop to avoid a systemd issue.
|
|
Remove dependency on fedora-storage-init.service in lvm2 systemd units.
|
|
Depend on lvm2-lvmetad.socket in lvm2-monitor.service systemd unit.
|
|
Hardcode use_lvmetad=0 if cluster locking used and issue a warning msg.
|
|
Avoid trying to read a mirror that has a failed device in its mirrored log.
|
|
Relax ignore_suspended_devices to read from mirrors that don't have a device marked failed.
|
|
Change lvs heading Copy% to Cpy%Sync and print RAID4/5/6 sync% there too.
|
|
Fix clvmd support for option -d and properly use its argument.
|
|
Support use of option --yes for lvchange --persistent.
|
|
Fix memory leak on error path for pvcreate with invalid uuid.
|
|
Implement ref-counting for parents in python lib.
|
|
Add lv_is_active_locally and use instead of most local lv_info calls.
|
|
Reduce some log_error messages to log_warn where we don't fail.
|
|
Remove python liblvm object. systemdir can only be changed using env var now.
|
|
|
|
Version 2.02.98 - 15th October 2012
|
|
===================================
|
|
Switch from DEBUG() to DEBUGLOG() in lvmetad as -DDEBUG is already used.
|
|
Prohibit not yet supported change of thin-pool to read-only.
|
|
Support creation of read-only thin volumes (lvcreate -p r).
|
|
Using autoextend percent 0 for thin pool fails 'lvextend --use-policies'.
|
|
Introduce blkdeactivate script to deactivate block devs with dependencies.
|
|
Implement devices/global_filter to hide devices from lvmetad.
|
|
Make vgscan --cache an alias for pvscan --cache.
|
|
Clear lvmetad metadata/PV cache before a rescan.
|
|
Fix a segmentation fault upon receiving a corrupt lvmetad response.
|
|
Give inconsistent metadata warnings in pvscan --cache.
|
|
Make lvremove ask before discarding data areas.
|
|
Avoid overlapping locks that could cause a deadlock in lvmetad.
|
|
Fix memory leaks in libdaemon and lvmetad.
|
|
Optimize libdaemon logging for a fast no-output path.
|
|
Only create lvmetad pidfile when running as a daemon (no -f).
|
|
Warn if lvmetad is running but disabled.
|
|
Warn about running lvmetad with use_lvmetad = 0 in example.conf.
|
|
Update lvmetad help output (flags and their meaning).
|
|
Make pvscan --cache read metadata from LVM1 PVs.
|
|
Make libdaemon buffer handling asymptotically more efficient.
|
|
Add lvmdump -l, to collect a state dump from lvmetad.
|
|
Make --sysinit suppress lvmetad connection failure warnings.
|
|
Prohibit usage of lvcreate --thinpool with --mirrors.
|
|
Fix lvm2api origin reporting for thin snapshot volume.
|
|
Add configure --enable-python_bindings for liblvm2app to new python subdir.
|
|
Add implementation of lvm2api function lvm_percent_to_float.
|
|
Allow non power of 2 thin chunk sizes if thin pool driver supports that.
|
|
Allow limited metadata changes when PVs are missing via [vg|lv]change.
|
|
Do not start dmeventd for lvchange --resync when monitoring is off.
|
|
Remove pvscan --cache from lvm2-lvmetad init script.
|
|
Remove ExecStartPost with pvscan --cache from lvm2-lvmetad.service.
|
|
Report invalid percentage for property snap_percent of non-snaphot LVs.
|
|
Disallow conversion of thin LVs to mirrors.
|
|
Fix lvm2api data_percent reporting for thin volumes.
|
|
Do not allow RAID LVs in a clustered volume group.
|
|
Add --discards to lvconvert.
|
|
Add --poolmetadata to lvconvert and support thin meta/data dev stacking.
|
|
Support changes of permissions for thin snapshot volumes.
|
|
Enhance insert_layer_for_lv() with recursive rename for _tdata LVs.
|
|
Skip building dm tree for thin pool when called with origin_only flag.
|
|
Add internal lv_rename_update() to rename LV without updating mda.
|
|
Ensure descriptors 0,1,2 are always available, using /dev/null if necessary.
|
|
Use /proc/self/fd when available for closing opened descriptors efficiently.
|
|
Add missing pkg init with --enable-testing in configure.in (2.02.71).
|
|
Fix inability to create, extend or convert to a large (> 1TiB) RAID LV.
|
|
Split out daemon-io from daemon-shared and always build libdaemonclient.
|
|
Update lvmetad communications to cope with clients using different filters.
|
|
Add (p)artial attribute to lvs.
|
|
Don't try to issue discards to a missing PV to avoid segfault.
|
|
Clear LV_NOSYNCED flag when a RAID1 LV is converted to a linear LV.
|
|
Disallow RAID1 upconvert if the LV was created with --nosync.
|
|
Depend on systemd-udev-settle in units generated by activation generator.
|
|
Fix vgchange -aay not to activate non-matching LVs that follow a matching LV.
|
|
Fix lvchange --resync for RAID LVs which had no effect.
|
|
Restructure mirror resync code.
|
|
Disallow addition of RAID images until the array is in-sync.
|
|
Fix RAID LV creation with '--test' so valid commands do not fail.
|
|
Add lvm_lv_rename() to lvm2api.
|
|
Fix setvbuf code by closing and reopening stream before changing buffer.
|
|
Disable private buffering when using liblvm.
|
|
When private stdin/stdout buffering is not used always use silent mode.
|
|
Add log/silent to lvm.conf equivalent to -qq.
|
|
Suppress non-essential stdout with -qq.
|
|
Switch non-essential log_print messages to log_print_unless_silent.
|
|
Use -q as short form of --quiet.
|
|
Add RAID10 support (--type raid10).
|
|
Reuse _reload_lv() in more lvconvert functions.
|
|
Fix 32-bit device size arithmetic needing 64-bit casting throughout tree.
|
|
Remove numerous unnecessary #includes and the empty util.c.
|
|
Fix dereference of NULL in lvmetad error path logging.
|
|
Fix buffer memory leak in lvmetad logging.
|
|
Add support for lvcreate --discards.
|
|
Correct the discards field in the lvs manpage (2.02.97).
|
|
Use proper condition to check for discards settings unsupported by kernel.
|
|
Reinstate correct default to ignore discards for thin metadata from old tools.
|
|
Issue error message when -i and -m args do not match specified RAID type.
|
|
Change lvmetad logging syntax from -ddd to -l {all|wire|debug}.
|
|
Add new libdaemon logging infrastructure.
|
|
|
|
Version 2.02.97 - 7th August 2012
|
|
=================================
|
|
Improve documention of allocation policies in lvm.8.
|
|
Increase limit for major:minor to 4095:1048575 when using -My option.
|
|
Add make install_systemd_generators.
|
|
Add generator for lvm2 activation systemd units.
|
|
Add lvm_config_find_bool lvm2app fn to retrieve bool value from config tree.
|
|
Respect --test when using lvmetad.
|
|
No longer capitalise first LV attribute char for invalid snapshots.
|
|
Allow vgextend to add PVs to a VG that is missing PVs.
|
|
Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
|
|
Fix dumpconfig <node> to print only <node> without its siblings. (2.02.89)
|
|
Do not issue "Failed to handle a client connection" error if lvmetad killed.
|
|
Support lvchange --discards and -Z with thin pools.
|
|
Add discard LV segment field to reports.
|
|
Add --discards to lvcreate --thin.
|
|
Set discard and external snapshot features if thin pool target is vsn 1.1+.
|
|
Count percentage of completeness upwards not downwards when merging snapshot.
|
|
Skip activation when using vg/lvchange --sysinit -a ay and lvmetad is active.
|
|
Fix extending RAID 4/5/6 logical volumes
|
|
Fix test for PV with unknown VG in process_each_pv to ignore ignored mdas.
|
|
Update man pages with --activate ay option and auto_activation_volume_list.
|
|
Fix _alloc_parallel_area to avoid picking already-full areas for raid devices.
|
|
Use vgchange -aay instead of vgchange -ay in clmvd init script.
|
|
Add activation/auto_activation_volume_list to lvm.conf.
|
|
Add --activate ay to lvcreate, lvchange, pvscan and vgchange.
|
|
Add support for volume autoactivation using lvmetad.
|
|
Add --activate synonym for --available arg and prefer --activate.
|
|
Never issue discards when LV extents are being reconfigured, not deleted.
|
|
Allow release_lv_segment_area to fail as functions it calls can fail.
|
|
Open device read-only instead of read-write when obtaining readahead value.
|
|
Fix lvconvert thin pool error path NULL pointer dereference.
|
|
Detect create_instance() failure in pvscan_lvmetad_single().
|
|
Use 64-bit calculations for reserved memory and stack.
|
|
Fix missing sync of filesystem when creating thin volume snapshot.
|
|
|
|
Version 2.02.96 - 8th June 2012
|
|
===============================
|
|
Upstream source repo now fedorahosted.org git not sources.redhat.com CVS.
|
|
Fix error paths for regex filter initialization.
|
|
Re-enable partial activation of non-thin LVs until it can be fixed. (2.02.90)
|
|
Fix alloc cling to cling to PVs already found with contiguous policy.
|
|
Fix cling policy not to behave like normal policy if no previous LV seg.
|
|
Fix allocation loop not to use later policies when --alloc cling without tags.
|
|
Append _TO_LVSEG to names of internal A_CONTIGUOUS and A_CLING flags.
|
|
Add missing pkg init --with-systemdsystemunitdir in configure.in (2.02.92).
|
|
Fix division by zero if PV with zero PE count is used during vgcfgrestore.
|
|
Add initial support for thin pool lvconvert.
|
|
Fix lvrename for thin volumes (regression in for_each_sub_lv). (2.02.89)
|
|
Fix up-convert when mirror activation is controlled by volume_list and tags.
|
|
Warn of deadlock risk when using snapshots of mirror segment type.
|
|
Fix bug in cmirror that caused incorrect status info to print on some nodes.
|
|
Remove statement that snapshots cannot be tagged from lvm man page.
|
|
Disallow changing cluster attribute of VG while RAID LVs are active.
|
|
Fix lvconvert error message for non-mergeable volumes.
|
|
Allow subset of failed devices to be replaced in RAID LVs.
|
|
Prevent resume from creating error devices that already exist from suspend.
|
|
Improve clmvd singlenode locking for better testing.
|
|
Update and correct lvs man page with supported column names.
|
|
Handle replacement of an active device that goes missing with an error device.
|
|
Change change raid1 segtype always to request a flush when suspending.
|
|
Add udev info and context to lvmdump.
|
|
Add lvmetad man page.
|
|
Fix RAID device replacement code so that it works under snapshot.
|
|
Fix inability to split RAID1 image while specifying a particular PV.
|
|
Update man pages to give them all the same look&feel.
|
|
Fix lvresize of thin pool for striped devices.
|
|
For lvresize round upward when specifying number of extents.
|
|
For lvcreate with %FREE support rounding downward stripe alignment.
|
|
Change message severity to log_very_verbose for missing dev info in udev db.
|
|
Fix lvconvert when specifying removal of a RAID device other than last one.
|
|
Fix ability to handle failures in mirrored log in dmeventd plugin. (2.02.89)
|
|
Fix unlocking volume group in vgreduce in error path.
|
|
Cope when VG name is part of the supplied name in lvconvert --splitmirrors -n.
|
|
Fix exclusive lvchange running from other node. (2.02.89)
|
|
Add 'vgscan --cache' functionality for consistency with 'pvscan --cache'.
|
|
Keep exclusive activation in pvmove if LV is already active.
|
|
Disallow exclusive pvmove if some affected LVs are not exclusively activated.
|
|
Remove unused and wrongly set cluster VG flag from clvmd lock query command.
|
|
Fix pvmove for exclusively activated LV pvmove in clustered VG. (2.02.86)
|
|
Always free hash table on update_pvid_to_vgid() in lvmetad.
|
|
Update and fix monitoring of thin pool devices.
|
|
Check hash insert success in lock_vg in clvmd.
|
|
Check for buffer overwrite in get_cluster_type() in clvmd.
|
|
Fix global/detect_internal_vg_cache_corruption config check.
|
|
Update lcov Makefile target to support all dmeventd plugins.
|
|
Fix initializiation of thin monitoring. (2.02.92)
|
|
Cope with improperly formatted device numbers in /proc/devices. (2.02.91)
|
|
Exit if LISTEN_PID environment variable incorrect in lvmetad systemd handover.
|
|
Use pvscan --cache instead of vgscan in lvmetad scripts.
|
|
Fix fsadm propagation of -e option.
|
|
Fix fsadm parsing of /proc/mounts files (don't check for substrings).
|
|
Fix fsadm usage of arguments with space.
|
|
Fix arg_int_value alongside ARG_GROUPABLE --major/--minor for lvcreate/change.
|
|
Fix name conflicts that prevent down-converting RAID1 when specifying a device
|
|
Improve thin_check option passing and use configured path.
|
|
Add --with-thin-check configure option for path to thin_check.
|
|
Fix error message when pvmove LV activation fails with name already in use.
|
|
Better structure layout for device_info in dev_subsystem_name().
|
|
Change message severity for creation of VG over uninitialised devices.
|
|
Fix error path for failed toolcontext creation.
|
|
Detect lvm binary path in lvmetad udev rules.
|
|
Don't unlink socket on lvmetad shutdown if instantiated from systemd.
|
|
Restart lvmetad automatically from systemd if it exits from uncaught signal.
|
|
Fix warn msg for thin pool chunk size and update man for chunksize. (2.02.89)
|
|
|
|
Version 2.02.95 - 6th March 2012
|
|
================================
|
|
If unspecified, adjust thin pool metadata and chunk size to fit into 128MB.
|
|
Print just warning on thin pool check callback path for failing check.
|
|
Always use 64bit arithmetic with VG extent_size expression.
|
|
Validate udev structures in _insert_udev_dir().
|
|
Take repeatable --major --minor with pvscan --cache instead of major:minor.
|
|
Scan all devices for lvmetad if 'pvscan --cache' used without device list.
|
|
Populate lvmcache from lvmetad before displaying PVs in pvscan. (2.02.94)
|
|
Suppress incorrect -n pvscan warning now always displayed. (2.02.94)
|
|
|
|
Version 2.02.94 - 3rd March 2012
|
|
================================
|
|
Add support to execute thin_check with each de/active of thin pool.
|
|
Fix automatic estimation of metadata device size for thin pool.
|
|
Test for alloc fail from _alloc_pv_segment() in _extend_pv().
|
|
Check for alloc fail from get_segtype_from_string() in _lvcreate_params().
|
|
Add _rimage as reserved suffix to lvm.8 man page.
|
|
Improve error logging from mpath filter.
|
|
Check for allocation failure in hold_lock() in clvmd.
|
|
Use set_lv() (wipe initial 4KiB) for non zeroed thin volume.
|
|
Allow cluster mirrors to handle the absence of the checkpoint lib (libSaCkpt).
|
|
Revert free of allocated segtype in init segment error path (2.02.89).
|
|
Test dm_hash_insert() failures in filter-persistent.c and fid_add_mda().
|
|
Ensure clvmd message is always NUL-terminated after read.
|
|
Add some close() and dev_close() error path backtraces.
|
|
Set stdin/stdout/stderr to /dev/null for polldaemon.
|
|
Limit the max size of processed clvmd message to ~8KB.
|
|
Do not send uninitialised bytes in cluster error reply messages.
|
|
Use unsigned type for bitmask instead of enum type for lvm properties.
|
|
Add missing cleanup of excl_uuid hash on some exit paths of clvmd.
|
|
Check for existence of vg_name in _format1/_pool_vg_read().
|
|
Fix missing break in _format_pvsegs (2.02.92).
|
|
Test seg pointer for non-null it in raid_target_percent error path.
|
|
Check for errors in _init_tags() during config loading.
|
|
Always check result of _set_vg_name() in lvcreate.
|
|
Drop unused call to uname() during clvmd initialization.
|
|
Test allocation result in sysfs filter creation.
|
|
Limit sscanf parameters with buffer size in clvmd get_initial_state().
|
|
Use const lv pointer for lv_is_active...() functions.
|
|
Use same signed numbers in _mirrored_transient_status().
|
|
Support 'pvscan --cache' to update lvmetad state from specific PVs.
|
|
Provide new metadata daemon for testing with configure --enable-lvmetad .
|
|
Integrate client-side lvmetad into build.
|
|
|
|
Version 2.02.93 - 23rd February 2012
|
|
====================================
|
|
Require number of stripes to be greater than parity devices in higher RAID.
|
|
Fix allocation code to allow replacement of single RAID 4/5/6 device.
|
|
Check all tags and LV names are in a valid form in vg_validate.
|
|
Add tmpfiles.d style configuration for lvm2 lock and run directory.
|
|
Add configure --with-tmpfilesdir for dir holding volatile-file configuration.
|
|
Allow 'lvconvert --repair' to operate on RAID 4/5/6.
|
|
Fix build_parallel_areas_from_lv to account correctly for raid parity devices.
|
|
Print message when faulty raid devices have been replaced.
|
|
|
|
Version 2.02.92 - 20th February 2012
|
|
====================================
|
|
Read dmeventd monitoring config settings for every lvm command.
|
|
For thin devices, initialize monitoring only for thin pools not thin volumes.
|
|
Make conversion from a synced 'mirror' to 'raid1' not cause a full resync.
|
|
Properly test buffer for unit check in units_to_bytes().
|
|
Add configure --with-systemdsystemunitdir.
|
|
Add check for allocation failure in _build_matcher().
|
|
Add check for rimage name allocation failure in _raid_add_images().
|
|
Add check for mda_copy failure in _text_pv_setup().
|
|
Add check for _mirrored_init_target failure.
|
|
Add free_orphan_vg.
|
|
Skip pv/vg_set_fid processing if the fid is same.
|
|
Check for foreach loop errors in _vg_read_orphans() (2.02.91).
|
|
Clean error paths for format instance creation (2.02.91).
|
|
Release vg in error path of _format1_vg_read() instead of just free().
|
|
Report allocation failure for allocation of PV structure.
|
|
Add clvmd init dependency on dlm service when running with new corosync.
|
|
|
|
Version 2.02.91 - 12th February 2012
|
|
====================================
|
|
Remove PV-based format instances (which are no longer needed).
|
|
Link all orphan PVs directly to a per-format global orphan VG.
|
|
Refactor lvmcache around an internal API.
|
|
Stop processing lvextend if trying to extend a mirror that is being recovered.
|
|
Add pool_below_threshold() function to check thin pool percent status.
|
|
Fix test for snap percent for failing merge when removing LV.
|
|
Switch int to void return for str_list_del().
|
|
Fix error path handling in _build_desc().
|
|
Add range test for device number in _scan_proc_dev().
|
|
Use signed long for sysconf() call in cmirrord.
|
|
Do not write in front of log buffer in print_log().
|
|
Add boundary test for number of mirror devs and logs.
|
|
Check that whole locking_dir fits _lock_dir buffer in init_file_locking().
|
|
Use list functions for label_exit().
|
|
Ensure strncpy() function always ends with '\0'.
|
|
Set status in _fsadm_cmd() for error path.
|
|
Add missing deps for lvm2api for rebuild when lvm-internal is changed.
|
|
Fix resource leaks for failing allocation of formats (lvm1/2,pool).
|
|
Release allocated resources in error path for composite_filter_create().
|
|
Do not use lstat() results when failed in _rm_link().
|
|
Remove a "waiting for another thread" log message from dmeventd plugins.
|
|
|
|
Version 2.02.90 - 1st February 2012
|
|
===================================
|
|
sync_local_dev_names before (re)activating mirror log for initialisation.
|
|
Disable partial activation for thin LVs and LVs with all missing segments.
|
|
Do not print warning for pv_min_size between 512KB and 2MB.
|
|
Clean up systemd unit ordering and requirements.
|
|
Fix lcov reports when srcdir != builddir.
|
|
Allow ALLOC_NORMAL to track reserved extents for log and data on same PV.
|
|
Automatically detect whether corosync clvmd needs to use confdb or cmap.
|
|
Fix data% report for thin volume used as origin for non-thin snapshot.
|
|
|
|
Version 2.02.89 - 26th January 2012
|
|
===================================
|
|
Add missing check for uname result in clvmd TEST processing.
|
|
Fix memleak in target_version() error path (unsupported LIST_VERSIONS).
|
|
Limit data_alignment and data_alignment_offset to 32bit values.
|
|
Check for correctness of uint64 dev_size value in format_text.
|
|
Thin pools have segment fields thin_count, zero, transaction_id.
|
|
Add data_percent and metadata_percent for thin pools to lvs -v.
|
|
Add data_lv & metadata_lv fields to lvs for thin pools.
|
|
Add data_percent & pool_lv fields to lvs for thin volumes.
|
|
Rename origin_only parm to use_layer for lv_info and use with thin LVs.
|
|
Add lv_thin_pool_transaction_id to read the transaction_id value.
|
|
Use {suspend,resume}_origin_only when up-converting RAID, as mirrors do.
|
|
Always add RAID metadata LVs to deptree (even when origin_only is set).
|
|
Change exclusive LV activation logic to try local node before remote nodes.
|
|
Add CLVMD_FLAG_REMOTE to skip processing on local node.
|
|
Prompt if request is made to remove a snapshot whose "Merge failed".
|
|
Allow removal of an invalid snapshot that was to be merged on next activation.
|
|
Don't allow a user to merge an invalid snapshot.
|
|
Use m and M lv_attr to indicate that a snapshot merge failed in lvs.
|
|
Differentiate between snapshot status of "Invalid" and "Merge failed".
|
|
Report snapshot usage percent of origin volume when a snapshot is merging.
|
|
Require global/lvdisplay_shows_full_device_path for (bogus) lvm1-style paths.
|
|
Do not report linear segtype for non-striped targets.
|
|
Record creation host & time for each LV and report as lv_time & lv_host.
|
|
Make error message hit when preallocated memlock memory exceeded clearer.
|
|
Use R lv_attr to indicate read-only activation of non-read-only device in lvs.
|
|
Show read-only activation override in lvdisplay & add 4 to perms in -c.
|
|
Add activation/read_only_volume_list to override LV permission in metadata.
|
|
Give priority to emcpower devices with duplicate PVIDs.
|
|
Add check for error in _adjust_policy_params() (lvextend --use-policies).
|
|
Round specified percentages upwards (%LV, %VG...) when resizing LVs.
|
|
Use dmeventd_lvm2_command in dmeventd plugins snapshot, raid, mirror.
|
|
Add helper dmeventd_lvm2_command() to libdevmapper-event-lvm2 library.
|
|
Update documentation for dmeventd.
|
|
Remove unnecessary stat before opening device in dev_open_flags.
|
|
Reduce number of lstat calls when selecting device alias.
|
|
Add _dev_init to initialize common struct device members.
|
|
Always zalloc struct device during initialization.
|
|
Fix missing thread list manipulation protection in dmeventd.
|
|
Do not derefence lv pointer in _percent_run() function before NULL check.
|
|
Allow empty strings for description and creation_host config fields.
|
|
Issue deprecation warning when removing last lvm1-format snapshot.
|
|
Reinstate support for snapshot removal with lvm1 format. (2.02.86)
|
|
Add policy-based automated repair of RAID logical volumes.
|
|
Don't allow two images to be split and tracked from a RAID LV at one time.
|
|
Don't allow size change of RAID LV that is tracking changes for a split image.
|
|
Don't allow size change of RAID sub-LVs independently.
|
|
Don't allow name change of RAID LV that is tracking changes for a split image.
|
|
Do not allow users to change the name of RAID sub-LVs independently.
|
|
Do not allow users to change permissions on RAID sub-LVs.
|
|
Allow lvconvert to replace specified devices in a RAID array.
|
|
Add activation/use_linear_target enabled by default.
|
|
Use gcc warning options only with .c to .o compilation.
|
|
Move y/n prompts to stderr and repeat if response has both 'n' and 'y'.
|
|
Replace the unit testing framework with CUnit (--enable-testing).
|
|
Fix dmeventd snapshot monitoring when multiple extensions were involved.
|
|
Don't ignore configure --mandir and --infodir.
|
|
Drop pool memory allocated within lv_has_target_type().
|
|
Reduce stack allocation of some PATH_MAX sized char buffers.
|
|
Unlock memory before writing metadata.
|
|
Add query before removing snapshots when inactive snapshot origin is removed.
|
|
Allow changing availability state of snapshots.
|
|
Skip non-virtual snapshots for availability change for lvchange with vg name.
|
|
Skip adjusting mirror region size unless mirror or raid.
|
|
Reorder prompt conditions for removal of active volumes.
|
|
Avoid 'mda inconsistency' by properly registering UNLABELLED_PV flag.(2.02.86)
|
|
Fix --enable-static_link unless using --enable-dmeventd / --enable-udev_sync.
|
|
Move gentoo MAKEDEV to /sbin in lvm2create_initrd.
|
|
Add filter to avoid scan of device if it is part of active multipath.
|
|
Add missing default $LVM_VG_NAME usage for snapshots.
|
|
Avoid extent_count overflow with lvextend.
|
|
Add missing lvrename mirrored log recursion in for_each_sub_lv.
|
|
Improve lv_extend stack reporting.
|
|
Increase virtual segment size instead of creating multiple segment list.
|
|
Add last_seg(lv) internal function.
|
|
Support empty string for log/prefix.
|
|
Disallow mirrored logs for cluster mirrors. (2.02.72)
|
|
Don't print char type[8] as a plain string in pvck PV type.
|
|
Use vg memory pool implicitly for vg read.
|
|
Always use vg memory pool for allocated lv segment.
|
|
Remove extra 4kB buffer allocated on stack in print_log().
|
|
Make move_lv_segment non-static function and use dm_list function.
|
|
Pass exclusive LV locks to all nodes in the cluster.
|
|
Improve lvcreate chunksize man page description.
|
|
Improve man page style for lvcreate & lvs.
|
|
Avoid recursive calls to dmeventd in its LVM plugins.
|
|
Log dev name now returned to kernel for registering during cmirror CTR.
|
|
Fix lv_info open_count test for disabled verify_udev_operations. (2.02.86)
|
|
Simplify code for lvm worker thread in clvmd.
|
|
Use pthread_barrier to synchronize clvmd threads at startup.
|
|
Limit clvmd's thread size to 128KiB and ignore activation/reserved_stack.
|
|
Reduce default preallocated stack size to 64KiB.
|
|
Add check for access through NULL pointer when refresh_filter() fails.
|
|
Use pthread condition for SINGLENODE lock implementation.
|
|
Improve backtrace reporting for some dev_manager_ functions.
|
|
Change message severity to log_warn when symlink creation fails.
|
|
Add ability to convert mirror segtype to RAID1 segtype.
|
|
Add ability to convert from linear to RAID1.
|
|
Add ability to extend mirrors with '--nosync' option.
|
|
Fix splitmirror LV names to maintain consistent state in a cluster.
|
|
Apply appropriate udev flags when suspending/resuming mirror sub-LVs.
|
|
Fix vgsplit to handle mirrored logs.
|
|
Clarify multi-name device filter pattern matching explanation in lvm.conf.
|
|
Introduce revert_lv for better pvmove cleanup.
|
|
Replace incomplete pvmove activation failure recovery code with a message.
|
|
Abort if _finish_pvmove suspend_lvs fails instead of cleaning up incompletely.
|
|
Change suspend_lvs to call vg_revert internally.
|
|
Change vg_revert to void and remove superfluous calls after failed vg_commit.
|
|
Use execvp for CLVMD restart to preserve environment settings.
|
|
Restart CLVMD with same cluster manager.
|
|
Fix log_error() usage in raid and unknown segtype initialisation.
|
|
Improve testing Makefile.
|
|
Fix install_ocf make target when srcdir != builddir. (2.02.80)
|
|
Support env vars LVM_CLVMD_BINARY and LVM_BINARY in clvmd.
|
|
Fix restart of clvmd (preserve exlusive locks). (2.02.64)
|
|
Add 'Volume Type' lv_attr characters for RAID and RAID_IMAGE.
|
|
Add activation/retry_deactivation to lvm.conf to retry deactivation of an LV.
|
|
Replace open_count check with holders/mounted_fs check on lvremove path.
|
|
Disallow the creation of mirrors (mirror or raid1 segtype) with only one leg.
|
|
Cleanup restart clvmd code (no memory allocation, debug print passed args).
|
|
Add all exclusive locks to clvmd restart option args.
|
|
Always send the whole clvmd packet header in refresh commands.
|
|
Add missing error checks for some system calls in cmirrord.
|
|
Add missing log_error() to lvresize command when fsadm tool fails.
|
|
Add support for DM_DEV_DIR device path into fsadm script.
|
|
Support different PATH setting for fsadm script testing.
|
|
Surround all executed commands with quotes in fsadm script.
|
|
Fix missing '$' in test for content of "$LVM" in fsadm script.
|
|
Move debug message in exec_cmd after sync_local_dev_names.
|
|
Fix clvmd processing of invalid request on local socket.
|
|
Fix command line option decoding.
|
|
Reset LV status when unlinking LV from VG.
|
|
Fix overly-strict extent-count divisibility requirements for striped mirrors.
|
|
Fix rounding direction in lvresize when reducing volume size.
|
|
Fix possible overflow of size if %FREE or %VG is used.
|
|
Fix vgchange activation of snapshot with virtual origin.
|
|
Activate virtual snapshot origin exclusively (only on local node in cluster).
|
|
Fix lv_mirror_count to handle mirrored stripes properly.
|
|
Fix failure to down-convert a mirror to linear due to udev "dev open" conflict
|
|
Fix mirrored log creation when PE size is small: use log_size >= region_size.
|
|
Fix log size calculation when only a log is being added to a mirror.
|
|
Add 7th lv_attr char to show the related kernel target.
|
|
Terminate pv_attr field correctly. (2.02.86)
|
|
Fix 'not not' typo in pvcreate man page.
|
|
Improve man page style for fsadm, lvreduce, lvremove, lvrename & lvresize.
|
|
Support break for vgchange and vgrefresh operation.
|
|
Switch int to unsigned type for pvmetadatacopies for pv_create().
|
|
Replace :space: with [\t ] for awk in vgimportclone (not widely supported).
|
|
Begin using 64-bit status field flags.
|
|
Detect sscanf recovering_region input error in cmirrord pull_state().
|
|
Fix error path bitmap leak in cmirrord import_checkpoint().
|
|
Log unlink() error in cmirrord remove_lockfile().
|
|
Remove incorrect requirement for -j or -m from lvchange error message.
|
|
Fix unsafe table load when splitting off smaller mirror from a larger one.
|
|
Use size_t return type for text_vg_export_raw() and export_vg_to_buffer().
|
|
Add configure --enable-lvmetad for building the (experimental) LVMetaD.
|
|
Fix resource leak when strdup fails in _get_device_status() (2.02.85).
|
|
Directly allocate buffer memory in a pvck scan instead of using a mempool.
|
|
Add configure --with-thin for segtypes "thin" and "thin_pool".
|
|
Fix raid shared lib segtype registration (2.02.87).
|
|
|
|
Version 2.02.88 - 19th August 2011
|
|
==================================
|
|
Remove incorrect 'Breaking' error message from allocation code. (2.02.87)
|
|
Add lvconvert --merge support for raid1 devices split with --trackchanges.
|
|
Support lvconvert of -m1 raid1 devices to a higher number.
|
|
Add --trackchanges support to lvconvert --splitmirrors option for raid1.
|
|
Support splitting off a single raid1 rimage in lvconvert --splitmirrors.
|
|
Use sync_local_dev_names when reducing number of raid rimages in lvconvert.
|
|
Add -V as short form of --virtualsize in lvcreate.
|
|
Fix make clean not to remove Makefile. (2.02.87)
|
|
|
|
Version 2.02.87 - 12th August 2011
|
|
==================================
|
|
Fix make distclean to remove stray dmeventd and exported symbols files.
|
|
Add global/detect_internal_vg_cache_corruption to lvm.conf.
|
|
Use memory pool locking to check for corruption of internal VG structs.
|
|
Cache and share generated VG structs.
|
|
Fix possible format instance memory leaks and premature releases in _vg_read.
|
|
Suppress locking error messages in monitoring init scripts.
|
|
If pipe in clvmd fails return busy instead of using uninitialised descriptors.
|
|
Add ability to reduce the number of mirrors in raid1 arrays to lvconvert.
|
|
Add dmeventd plugin for raid.
|
|
Replace free_vg with release_vg and move it to vg.c.
|
|
Remove INCONSISTENT_VG flag from the code.
|
|
Remove lock from cache in _lock_vol even if unlock fails.
|
|
Initialise clvmd locks before lvm context to avoid open descriptor leaks.
|
|
Remove obsolete gulm clvmd cluster locking support.
|
|
Suppress low-level locking errors and warnings while using --sysinit.
|
|
Remove unused inconsistent_seqno variable in _vg_read().
|
|
Remove meaningless const type qualifiers on cast type.
|
|
Add test for fcntl error in singlenode client code.
|
|
Remove --force option from lvrename manpage.
|
|
Add global/mirror_segtype_default to pick md raid or dm mirror as default.
|
|
Add configure --with-raid for new segtype 'raid' for MD RAID 1/4/5/6 support.
|
|
Change DEFAULT_UDEV_SYNC to 1 so udev_sync is used if there is no config file.
|
|
Add systemd unit file to provide lvm2 monitoring.
|
|
Compare file size (as well as timestamp) to detect changed config file.
|
|
|
|
Version 2.02.86 - 8th July 2011
|
|
===============================
|
|
Remove unnecessary warning in pvcreate for MD linear devices.
|
|
Move snapshot removal activation logic into lib/activate.
|
|
Cope with a PV only discovered missing when creating deptree.
|
|
Abort operation if dm_tree_node_add_target_area fails.
|
|
Add activation/checks to lvm.conf to perform additional ioctl validation.
|
|
Always preload on suspend, even if no metadata changed (lvchange --refresh).
|
|
When suspending, automatically preload newly-visible existing LVs.
|
|
Teardown any stray devices with $COMMON_PREFIX during test runs.
|
|
Reinstate correct permissions when creating mirrors. [2.02.85]
|
|
Append 'm' attribute to pv_attr for missing PVs.
|
|
Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd.
|
|
Remove enforcement of udev verification when using non-standard /dev location.
|
|
Keep an exclusive mirror non-clustered if reloaded e.g. during conversion.
|
|
Reject allocation if number of extents is not divisible by area count.
|
|
Fix cluster mirror creation to work with new mirror allocation algorithm.
|
|
Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18.
|
|
Add activation/verify_udev_operations to lvm.conf, disabled by default.
|
|
Call vg_mark_partial_lvs() before VG structure is returned from the cache.
|
|
Remove unused internal flag ACTIVATE_EXCL from the code.
|
|
Remove useless test of ACTIVATE_EXCL in lv_add_mirrors() clustered code path.
|
|
Add lv_activate_opts structure for activation (replacing activation flags).
|
|
Ignore inconsistent pre-commit metadata on MISSING_PV devs while activating.
|
|
Add proper udev library context initialization and finalization to liblvm.
|
|
Fix last snapshot removal to avoid table reload while a device is suspended.
|
|
Use dm_get_suspended_counter in replacement critical_section logic.
|
|
Downgrade critical_section errors to debug level until it is moved to libdm.
|
|
Fix ignored background polling default in vgchange -ay.
|
|
Fix pvmove activation sequences to avoid trapped I/O with multiple LVs.
|
|
Annotate critical section debug messages.
|
|
Fix reduction of mirrors with striped segments to always align to stripe size.
|
|
Validate mirror segments size.
|
|
Include lvmetad development code in tree.
|
|
Fix extent rounding for striped volumes never to reduce more than requested.
|
|
Fix create_temp_name to replace any '/' found in the hostname with '?'.
|
|
Always use append to file in lvmdump. selinux policy may ban file truncation.
|
|
Propagate test mode to clvmd to skip activation and changes to held locks.
|
|
Defer writing PV labels until vg_write.
|
|
Store label_sector only in struct physical_volume.
|
|
Permit --available with lvcreate so non-snapshot LVs need not be activated.
|
|
Report sector containing label in verbose message.
|
|
Clarify error message when unable to convert an LV into a snapshot of an LV.
|
|
Add and use dev_open_readonly and variations.
|
|
Do not log a superfluous stack message when the lv is properly processed.
|
|
Do not issue an error message when unable to remove .cache on read-only fs.
|
|
Avoid memlock size mismatch by preallocating stdio line buffers.
|
|
Rewrite vgreduce --removemissing --force to share lvconvert code.
|
|
Reorganize lvconvert --repair code to allow reuse.
|
|
|
|
Version 2.02.85 - 29th April 2011
|
|
=================================
|
|
Add new obtain_device_list_from_udev setting to lvm.conf.
|
|
Obtain device list from udev by default if LVM2 is compiled with udev support.
|
|
Add test for vgimportclone and querying of vgnames with duplicate pvs.
|
|
Avoid use of released memory when duplicate PV is found.
|
|
Add "devices/issue_discards" to lvm.conf.
|
|
Issue discards on lvremove and lvreduce etc. if enabled and supported.
|
|
Add seg_pe_ranges and devices fields to liblvm.
|
|
Fix incorrect tests for dm_snprintf() failure.
|
|
Fix some unmatching sign comparation gcc warnings in the code.
|
|
Support lv_extend() on empty LVs.
|
|
Avoid regenerating cache content when exported VG buffer is unchanged.
|
|
Extend the set of memory regions that are not locked to memory.
|
|
Workaround some problems when compiled for valgrind memcheck.
|
|
Support controlled quit of the lvm_thread_fn function in clvmd.
|
|
Fix reading of unallocated memory in lvm1 format import function.
|
|
Replace several strncmp() calls with id_equal().
|
|
Fix lvmcache_info transfer to orphan_vginfo in _lvmcache_update_vgname().
|
|
Fix -Wold-style-definition gcc warnings.
|
|
Rename MIRROR_NOTSYNCED to LV_NOTSYNCED.
|
|
Fix _move_lv_segments to handle empty LVs.
|
|
Fixes for lvconvert (including --repair) of temporary mirror stacks.
|
|
Avoid potential loop when removing mirror images.
|
|
Fix mirror removal always to take account of preferences as to which.
|
|
Fix MIRRORED flag usage.
|
|
Remove error messages issued by device_is_usable when run as non-root.
|
|
Add missing \0 for grown debug object in _bitset_with_random_bits().
|
|
Fix allocation of system_id buffer in volume_group structure.
|
|
Fix readlink usage inside get_primary_dev().
|
|
Use format instance mempool where possible and adequate.
|
|
Call destroy_instance for any PVs found in VG structure during vg_free call.
|
|
Add new free_pv_fid fn and use it throughout to free all attached fids.
|
|
Use only vg_set_fid and new pv_set_fid fn to assign the format instance.
|
|
Make create_text_context fn static and move it inside create_instance fn.
|
|
Add mem and ref_count fields to struct format_instance for own mempool use.
|
|
Use new alloc_fid fn for common format instance initialisation.
|
|
Optimise _get_token() and _eat_space().
|
|
Add _lv_postorder_vg() to improve efficiency for all LVs in VG.
|
|
Add gdbinit script for debugging.
|
|
Use hash tables to speedup string search in vg_validate().
|
|
Refactor allocation of VG structure adding alloc_vg().
|
|
Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name.
|
|
Use empty string instead of /dev// for LV path when there's no VG.
|
|
Don't allocate unused VG mempool in _pvsegs_sub_single.
|
|
Do not send uninitialised bytes in local clvmd messages.
|
|
Support --help option for clvmd and return error for unknown option.
|
|
Avoid reading freed memory when printing LV segment type.
|
|
Fix syslog initialisation in clvmd to respect lvm.conf setting.
|
|
Fix possible overflow in maximum stripe size and physical extent size.
|
|
Improve pvremove error message when PV belongs to a VG.
|
|
Extend normal policy to allow mirror logs on same PVs as images if necessary.
|
|
Improve cling policy to recognise PVs already used during the transaction.
|
|
Improve normal allocation algorithm to include clinging to existing areas.
|
|
Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf.
|
|
Adapt metadata balancing code to work with metadata handling changes.
|
|
Add old_id field to physical_volume and fix pvchange -u for recent changes.
|
|
Allow pvresize on a PV with two metadata areas.
|
|
Change pvcreate to use new metadata handling interface.
|
|
Restructure existing pv_setup and pv_write and add pv_initialise.
|
|
Add internal interface to support adding and removing metadata areas.
|
|
Allow internal indexing of metadata areas (PV id + mda order).
|
|
Generalise internal format_instance infrastrusture for PV and VG use.
|
|
Handle decimal digits with --units instead of ignoring them silently.
|
|
Fix remaining warnings and compile with -Wpointer-arith.
|
|
Fix gcc warnings for unused variables and const casts.
|
|
Add stack backtraces for error paths in process_each_lv().
|
|
Temporarily suppress error from calling yes_no_prompt while locks are held.
|
|
Replace void* with char* arithmetic in _text_write, _text_read & send_message.
|
|
Fix compilation without DEVMAPPER_SUPPORT.
|
|
Remove fs_unlock() from lv_suspend error path.
|
|
Allow memory to stay locked between leaving and re-entering critical sections.
|
|
Rename memlock to critical_section throughout.
|
|
Make pv_min_size configurable and increase to 2048KB to exclude floppy drives.
|
|
Add find_config_tree_int64 to read 64-bit ints from config.
|
|
Ensure resuming exclusive cluster mirror continues to use local mirror target.
|
|
Clear temporary postorder LV status flags to allow re-use with same LV struct.
|
|
Remove invalid snapshot umount mesg which floods syslog from dmeventd plugin.
|
|
Add extended examples to pvmove man page.
|
|
Support LVM_TEST_DEVDIR env var for private /dev during testing.
|
|
|
|
Version 2.02.84 - 9th February 2011
|
|
===================================
|
|
Fix CRC32 calculation on big endian CPU (2.02.75).
|
|
|
|
Version 2.02.83 - 4th February 2011
|
|
===================================
|
|
Allow exclusive activation of snapshots in a cluster.
|
|
Leave EX lock unchanged when suspending a device in clvmd.
|
|
Use sync_dev_names in unlock_vg macro for cluster-wide dev name sync.
|
|
Fix fs operation stack handling when multiple operations on same device.
|
|
Increase hash table size to 1024 lv names and 64 pv uuids.
|
|
Remove fs_unlock() from lv_resume path.
|
|
Fix wipe size when setting up mda.
|
|
Remove unneeded checks for open_count in lv_info().
|
|
Synchronize with udev before checking open_count in lv_info().
|
|
Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested.
|
|
Add "dmsetup ls --tree" output to lvmdump.
|
|
Fix udev synchronization with no-locking --sysinit (2.02.80).
|
|
Improve man page style consistency for pvcreate, pvremove, pvresize, pvscan.
|
|
Avoid rebuilding of uuid validation table.
|
|
Improve lvcreate error text from insufficient "extents" to "free space".
|
|
Always use O_DIRECT when opening block devices to check for partitioning.
|
|
|
|
Version 2.02.82 - 24th January 2011
|
|
===================================
|
|
Bring lvscan man page up-to-date.
|
|
Fix lvchange --test to exit cleanly.
|
|
Add change_tag to toollib.
|
|
Allow multiple pvchange command line options to be specified together.
|
|
Do not fail pvmove polling if another process cleaned up first.
|
|
Avoid clvmd incrementing dlm lockspace reference count more than once.
|
|
Add -f (don't fork) option to clvmd and fix clvmd -d<num> description.
|
|
|
|
Version 2.02.81 - 17th January 2011
|
|
===================================
|
|
Do not scan devices in dev_reset_error_count().
|
|
Skip unnecessary LOCK_NULL unlock call during volume deactivation.
|
|
Skip fs_unlock when calling exec_cmd within activation code (for modprobe).
|
|
Extend exec_cmd params to specify when device sync (fs_unlock) is needed.
|
|
Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80)
|
|
Introduce sync_local_dev_names and CLVMD_CMD_SYNC_NAMES to issue fs_unlock.
|
|
Accept fusion fio in device type filter.
|
|
Add ability to convert mirror log type from disk to mirrored.
|
|
|
|
Version 2.02.80 - 10th January 2011
|
|
===================================
|
|
Use same dm cookie for consecutive dm ops in same VG to reduce udev waits.
|
|
Speed up command processing by caching resolved config tree.
|
|
Pass config_tree to renamed function import_vg_from_config_tree().
|
|
Detect NULL handle in get_property().
|
|
Fix superfluous /usr in ocf_scriptdir instalation path.
|
|
Add --with-ocfdir configurable option.
|
|
Add aclocal.m4 (for pkgconfig).
|
|
Fix memory leak in persistent filter creation error path.
|
|
Check for errors setting up dm_task struct in _setup_task().
|
|
Fail polldaemon creation when lvmcache_init() fails.
|
|
Return PERCENT_INVALID for errors in _copy_percent() and _snap_percent().
|
|
Remove some unused variables.
|
|
Improve general lvconvert man page description.
|
|
Return 0 from cmirrord initscript 'start' if daemon is already running.
|
|
Fix wrongly paired unlocking of VG_GLOBAL in pvchange. (2.02.66)
|
|
Add backtraces for backup and backup_remove fail paths.
|
|
Detect errors from dm_task_set calls in _get_device_info (dmeventd).
|
|
Add backtraces for archive and backup_locally in check_current_backup().
|
|
Fix memory leak in debug mode of restart_clvmd() error path.
|
|
Log error message for pthread_join() failure in clvmd.
|
|
|
|
Version 2.02.79 - 20th December 2010
|
|
====================================
|
|
Remove some unused variables.
|
|
Add missing test for reallocation error in _find_parallel_space().
|
|
Add checks for allocation errors in config node cloning.
|
|
Fix error path if regex engine cannot be created in _build_matcher().
|
|
Use char* arithmetic in target_version(), _process_all() & _targets().
|
|
Fixing const cast gcc warnings in the code.
|
|
Check read() and close() results in _get_cmdline().
|
|
Add const for struct config_node usage.
|
|
Fix NULL pointer check in error path in clvmd do_command(). (2.02.78)
|
|
Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51)
|
|
Add copy_percent and snap_percent to liblvm.
|
|
Enhance vg_validate to ensure integrity of LV and PV structs referenced.
|
|
Enhance vg_validate to check composition of pvmove LVs.
|
|
Create /var/run/lvm directory during clvmd initialisation if missing.
|
|
Use new dm_prepare_selinux_context instead of dm_set_selinux_context.
|
|
Avoid revalidating the label cache immediately after scanning.
|
|
Support scanning for a single VG in independent mdas.
|
|
Don't skip full scan when independent mdas are present even if memlock is set.
|
|
Set cmd->independent_metadata_areas if metadata/dirs or disk_areas in use.
|
|
Cope better with an undefined target_percent operation in _percent_run.
|
|
Avoid writing to freed memory in vg_release and rename to free_vg. (2.02.78)
|
|
|
|
Version 2.02.78 - 6th December 2010
|
|
===================================
|
|
Abort if segment tag allocation fails in pool format _add_stripe_seg.
|
|
Abort in _mirrored_transient_status if referenced log/image LV is not active.
|
|
Add backtraces for dev_set() and dev_close_immediate() errors in set_lv().
|
|
Log any unlink() error in clvmd remove_lockfile().
|
|
Log any pipe write() or close() errors in clvmd child_init_signal().
|
|
Detect if orphan vginfo was lost from cache before _lvmcache_update_vgname().
|
|
Do a full rescan if some device is missing in lvm1 format read_pvs_in_vg.
|
|
Add missing check that dm_pool_create succeeded in write_config_node().
|
|
Use dm_snprintf in clvmd-command.c to ensure an overlong buffer is truncated.
|
|
Don't write to buffer if its reallocation failed in clvmd do_command().
|
|
Switch from float to fixed point percentage handling.
|
|
Avoid misleading missing PV warnings in vgextend --restoremissing.
|
|
Fix memory leak when VG allocation policy in metadata is invalid.
|
|
Ignore unrecognised allocation policy found in metadata instead of aborting.
|
|
Factor out tag printing into _out_tags and avoid leaking string buffer.
|
|
Remove some unused variables & assignments.
|
|
Add missing vg_release calls in _vg_read_by_vgid.
|
|
Fix debug logging of derived flag LCK_CACHE in clvmd.
|
|
Fix test for no system_dir in _init_backup().
|
|
Disallow lvconvert ops that both allocate & free supplied PEs in a single cmd.
|
|
Fix liblvm seg_size to give bytes not sectors.
|
|
Add functions to look up LV/PV by name/uuid to liblvm.
|
|
Free cmd_context if fallback to LVM1 fails in lvm2_main().
|
|
Free device name buffer in dmsetup parse_loop_device_name() error paths.
|
|
Close format lib if init_format_fn fails in _init_formats().
|
|
Don't leave /proc/mounts open after dmeventd snapshot event processing.
|
|
Fix out-of-scope arg_vgnames use in process_each_lv().
|
|
Remove incorrect dm_task_destroy(NULL) from _node_clear_table() error path.
|
|
Add missing closedir in _rm_blks after removing stray LVM1 VG files.
|
|
Suppress 'No PV label' message when removing several PVs without mdas.
|
|
Fix default /etc/lvm permissions to be 0755. (2.02.66)
|
|
|
|
Version 2.02.77 - 22nd November 2010
|
|
====================================
|
|
Allocate a pool for dummy VG in _pvsegs_sub_single.
|
|
Add PV and LV segment types and functions to liblvm.
|
|
Add set_property functions to liblvm.
|
|
Remove tag length restriction and allow / = ! : # & characters.
|
|
Support repetition of --addtag and --deltag arguments.
|
|
Add infrastructure for specific cmdline arguments to be repeated in groups.
|
|
Split the_args cmdline arguments and values into arg_props and arg_values.
|
|
Fix fsadm no longer to require '-f' to resize an unmounted filesystem.
|
|
Fix fsadm to detect mounted filesystems on older systems. (2.0.75)
|
|
Extend cling allocation policy to recognise PV tags (cling_by_tags).
|
|
Add allocation/cling_tag_list to lvm.conf.
|
|
Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76)
|
|
|
|
Version 2.02.76 - 8th November 2010
|
|
===================================
|
|
Clarify error messages when activation fails due to activation filter use.
|
|
Add pacemaker script VolumeGroup.ocf with configure --enable-ocf.
|
|
Import make.tmpl into include/ Makefile.
|
|
Fix handling of online filesystem resize (using new fsadm return code).
|
|
Add DIAGNOSTICS section to fsadm man page.
|
|
Modify fsadm to return different status code for check of mounted filesystem.
|
|
Update VG metadata only once in vgchange when making multiple changes.
|
|
Allow independent vgchange arguments to be used together.
|
|
Automatically unmount invalidated snapshots in dmeventd.
|
|
Suppress some superfluous messages from clang static analysis.
|
|
Fix a deadlock caused by double close in clvmd.
|
|
Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area.
|
|
Use static for internal _align_chunk() and _new_chunk() from pool-fast.c.
|
|
Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange.
|
|
Add lvm2app functions to query any pv, vg, or lv property / report field.
|
|
|
|
Version 2.02.75 - 25th October 2010
|
|
===================================
|
|
Annotate more variables and parameters as const.
|
|
Fix missing variable initialization in cluster_send() function from cmirrord.
|
|
Fix pointer for VG name in _pv_resize_single error code path.
|
|
Fix warning for changed alignment requirements for dmeventd read/write func.
|
|
Add global/metadata_read_only to use unrepaired metadata in read-only cmds.
|
|
Don't take write lock in vgchange --refresh, --poll or --monitor.
|
|
Skip dm devices in scan if they contain only error targets or are empty.
|
|
Fix strict-aliasing compile warning in partition table scanning.
|
|
Fix pthread mutex usage deadlock in clvmd.
|
|
Automatically extend snapshots with dmeventd according to policy in lvm.conf.
|
|
Add activation/snapshot_autoextend_threshold/percent to lvm.conf.
|
|
Fix liblvm2cmd link order to support --as-needed.
|
|
Remove dependency on libm by replacing floor() by an integer-based algorithm.
|
|
Fix hang when repairing a mirrored-log that had both devs fail.
|
|
Convey need for snapshot-merge target in lvconvert error message and man page.
|
|
Add devices/disable_after_error_count config to limit access to failing devs.
|
|
Give correct error message when creating a too-small snapshot.
|
|
Implement vgextend --restoremissing to reinstate missing devs that return.
|
|
Make lvconvert respect --yes and --force when converting an inactive log.
|
|
Refactor and add 'get' functions for lv properties/fields.
|
|
Update script for fsadm testing.
|
|
Better support of noninteractive shell execution of fsadm.
|
|
Fix usage of --yes flag for ReiserFS resize in fsadm.
|
|
Fix detection of mounted filesystems for fsadm when udev is used.
|
|
Fix assignment of default value to LVM variable in fsadm.
|
|
Fix support for --yes flag for fsadm.
|
|
Do not execute lvresize from fsadm --dry-run.
|
|
Fix fsadm return error code from user's break action.
|
|
Allow CC to be overridden at build time (for 'scan-build make').
|
|
Rename 'flags' to 'status' in struct metadata_area.
|
|
Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74)
|
|
Use dm_zalloc and dm_pool_zalloc throughout.
|
|
Add pv_get_property and create generic internal _get_property function.
|
|
Add 'get' functions for pv and vg properties/fields.
|
|
Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv.
|
|
Add tags_format_and_copy() common function and call from _tags_disp.
|
|
Add id_format_and_copy() common function and call from _uuid_disp.
|
|
Refactor report.c '*_disp' functions to call supporting functions.
|
|
Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files.
|
|
Fix vg_read memory leak with directory-based metadata.
|
|
Fix memory leak of config_tree in reinitialization code path.
|
|
Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg.
|
|
Read whole /proc/self/maps file before working with maps entries.
|
|
Speed up unquoting of quoted double quotes and backslashes.
|
|
Speed up CRC32 calculations by using a larger lookup table.
|
|
|
|
Version 2.02.74 - 24th September 2010
|
|
=====================================
|
|
Allow : and @ to be escaped with \ in device names of PVs.
|
|
Replace alloca with dm_malloc in _aligned_io to avoid stack corruption.
|
|
Fix partial mode operations for lvm1 metadata format.
|
|
Track recursive filter iteration to avoid refreshing while in use. (2.02.56)
|
|
Revert to old glibc vsnprintf behaviour in emit_to_buffer() to catch overflow.
|
|
Allocate buffer for metadata tags dynamically to remove 4k limit.
|
|
Add random suffix to archive file names to prevent races when being created.
|
|
Reinitialize archive and backup handling on toolcontext refresh.
|
|
Make poll_mirror_progress report PROGRESS_CHECK_FAILED if LV is not a mirror.
|
|
Like mirrors, don't scan origins if ignore_suspended_devices() is set.
|
|
Fix return type qualifier to avoid compiler warning. (2.02.69)
|
|
Automatically generate LSB Requires-Start for clvmd init script.
|
|
Fix return code of pvmove --abort PV.
|
|
Fix pvmove --abort to remove even for empty pvmove LV.
|
|
Add configure --with-default-data-alignment.
|
|
Update heuristic used for default and detected data alignment.
|
|
Add "devices/default_data_alignment" to lvm.conf.
|
|
Add implementation for simple numeric 'get' property functions.
|
|
Define GET_NUM_PROPERTY_FN macro to simplify numeric property 'get' function
|
|
Add properties.[ch] to lib/report using columns.h.
|
|
Add macro definitions to report infrastructure for character array length.
|
|
Remove explicit double quotes from columns.h 'id' entries.
|
|
Add 'flags' field to columns.h and define FIELD_MODIFIABLE.
|
|
Add vg_mda_size and vg_mda_free functions.
|
|
Simplify MD/swap signature detection in pvcreate and allow aborting.
|
|
Allow --yes to be used without --force mode.
|
|
Fix file descriptor leak in swap signature detection error path.
|
|
Detect and allow abort in pvcreate if LUKS signature is detected.
|
|
Always mask lock flags correctly when checking for LCK_WRITE.
|
|
|
|
Version 2.02.73 - 18th August 2010
|
|
==================================
|
|
Fix potential for corruption during cluster mirror device failure.
|
|
Use 'SINGLENODE' instead of 'dead' in clvmd singlenode messages.
|
|
Ignore snapshots when performing mirror recovery beneath an origin.
|
|
Pass LCK_ORIGIN_ONLY flag around cluster.
|
|
Add suspend_lv_origin and resume_lv_origin using LCK_ORIGIN_ONLY.
|
|
Allow internal suspend and resume of origin without its snapshots.
|
|
Fix dev_manager_transient to access -real device not snapshot-origin.
|
|
Monitor origin -real device below snapshot instead of overlay device.
|
|
Don't really change monitoring status when in test mode.
|
|
Fix some exit statuses when starting/stopping monitoring fails.
|
|
Enable snapshot monitoring by default when dmeventd is enabled.
|
|
Move cloned libdevmapper-event client code from segments into lib/activate.
|
|
Fix 'lvconvert --splitmirrors' in cluster operation.
|
|
Fix clvmd init script exit code to return 4 when executed as non-root user.
|
|
Change default alignment of pe_start to 1MB.
|
|
Add --norestorefile option to pvcreate.
|
|
Require --restorefile when using pvcreate --uuid.
|
|
Recognise and give preference to md device partitions (blkext major).
|
|
Never scan internal LVM devices.
|
|
Don't ignore user-specified PVs in split-mirror operations. (2.02.71)
|
|
Fix data corruption bug in cluster mirrors.
|
|
Require logical volume(s) to be explicitly named for lvconvert --merge.
|
|
Avoid changing aligned pe_start as a side-effect of very verbose logging.
|
|
Use built-in rule for device aliases: block/ < dm- < disk/ < mapper/ < other.
|
|
Fix const warning in dev_manager_info() and _dev_manager_lv_rmnodes().
|
|
Fix const warning in archive_file structure from archive.c.
|
|
Clean generated files .exported_symbols_generated, example.conf for distclean.
|
|
Handle failure of all mirrored log devices and all but one mirror leg.
|
|
Disallow 'mirrored' log type for cluster mirrors.
|
|
Do not use VPATH in include/Makefile.
|
|
Fix exported_symbols generation to use standard compiler arguments.
|
|
Use #include <> not "" in lvm2app.h which gets installed on the system.
|
|
Make lib and liblvm.device-mapper wait for include file generation.
|
|
Fix configure to supply DEFAULT_RUN_DIR to Makefiles.
|
|
Fix allocation of wrong number of mirror logs with 'remove' fault policy.
|
|
|
|
Version 2.02.72 - 28th July 2010 [CVE-2010-2526]
|
|
=================================================
|
|
Change clvmd to communicate with lvm2 via a socket in /var/run/lvm.
|
|
Return controlled error if clvmd is run by non-root user.
|
|
Add configure --default-run-dir for /var/run/lvm.
|
|
Never use clvmd singlenode unless explicitly requested with -Isinglenode.
|
|
|
|
Version 2.02.71 - 28th July 2010
|
|
================================
|
|
Document LVM fault handling in doc/lvm_fault_handling.txt.
|
|
Make vgck warn about missing PVs.
|
|
Clarify help text for vg_mda_count.
|
|
Check if cluster log daemon is running before allowing cmirror create.
|
|
Add unit-tests dir.
|
|
Add configure --enable-testing and reports and report-generators dirs.
|
|
Correct LV list order used by lvconvert when splitting a mirror.
|
|
Check if LV with specified name already exists when splitting a mirror.
|
|
Fix suspend/resume logic for LVs resulting from splitting a mirror.
|
|
Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore.
|
|
Switch cmirrord and clvmd to use dm_create_lockfile.
|
|
Allow clvmd pidfile to be configurable.
|
|
Update comments about memory handling in lvm2app.h.
|
|
Add more verbose messages while checking volume_list and hosttags settings.
|
|
Add log_error when strdup fails in {vg|lv}_change_tag().
|
|
Remove unnecessary includes in liblvm files.
|
|
Use __attribute__ consistently throughout.
|
|
Fix redundant declarations and always compile with -Wredundant-decls.
|
|
Fix possible hang when all mirror images of a mirrored log fail.
|
|
Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda.
|
|
Init mda->list in mda_copy.
|
|
Do not log backtrace in valid _lv_resume() code path.
|
|
Cleanup help strings in configure.in.
|
|
Prompt if metadataignore with vgextend or pvchange would adjust vg_mda_copies.
|
|
Adjust vg_mda_copies if metadataignore given with vgextend or pvchange.
|
|
Adjust auto-metadata repair and caching logic to try to cope with empty mdas.
|
|
|
|
Version 2.02.70 - 6th July 2010
|
|
===============================
|
|
Remove log directly if all mirror images of a mirrored log fail.
|
|
Randomly select which mdas to use or ignore.
|
|
Add some missing standard configure.in checks.
|
|
Add printf format attributes to yes_no_prompt and fix a caller.
|
|
Always pass unsuspended dm devices through persistent filter to other filters.
|
|
Move test for suspended dm devices ahead of other filters.
|
|
Fix another segfault in clvmd -R if no response from daemon. (2.02.68)
|
|
Remove superfluous suspended device counter from clvmd.
|
|
Fix lvm shell crash when input is entirely whitespace.
|
|
Update partial mode warning message.
|
|
Preserve memlock balance in clvmd when activation triggers a resume.
|
|
Restore the removemissing behaviour of lvconvert --repair --use-policies.
|
|
|
|
Version 2.02.69 - 30th June 2010
|
|
================================
|
|
Fix vgremove to allow removal of VG with missing PVs. (2.02.52)
|
|
Add metadata/vgmetadatacopies to lvm.conf.
|
|
Add --metadataignore to pvcreate and vgextend.
|
|
Add vg_mda_copies, pv_mda_used_count and vg_mda_used_count to reports.
|
|
Describe --vgmetadatacopies in lvm.conf and other man pages.
|
|
Add --[vg]metadatacopies to select number of mdas to use in a VG.
|
|
Make the metadata ignore bit control read/write metadata areas in a PV.
|
|
Add pvchange --metadataignore to set or clear a metadata ignore bit.
|
|
Refactor metadata code to prepare for --metadataignore / --vgmetadatacopies.
|
|
Ensure region_size of mirrored log does not exceed its full size.
|
|
Generate liblvm2app exported symbols from header file.
|
|
Preload libc locale messages to prevent reading it in memory locked state.
|
|
Fix handling of simultaneous mirror image and mirrored log image failure.
|
|
|
|
Version 2.02.68 - 23rd June 2010
|
|
================================
|
|
Fix clvmd initscript status to print only active clustered LVs.
|
|
Add lv_path to reports to offer full /dev pathname.
|
|
Fix typo in warning message about missing device with allocated data areas.
|
|
Add device name and offset to raw_read_mda_header error messages.
|
|
Honour log argument when down-converting stacked mirror.
|
|
Sleep to workaround clvmd -S race: socket closed early and server drops cmd.
|
|
Use early udev synchronization and update of dev nodes for clustered mirrors.
|
|
Remove incorrect inclusion of kdev_t.h from cmirrord/functions.h.
|
|
Add man pages for lvmconf and non-existent lvmsadc and lvmsar tools.
|
|
Exit successfully when using -o help (but not -o +help) with LVM reports.
|
|
Do not use internal DLM lock definitions in generic LVM2 clvmd code.
|
|
Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages.
|
|
Fix lvm2cmd example in documentation.
|
|
Allow use of lvm2app and lvm2cmd headers in C++ code.
|
|
Remove unused #includes from clvmd files and introduce clvmd-common.h.
|
|
Move common inclusions to clvmd-common.h.
|
|
Use #include "" for libdevmapper.h and configure.h throughout tree.
|
|
Fix LVM_PATH expansion when exec_prefix=NONE. (2.02.67)
|
|
Fix segfault in clvmd -R if no response from daemon received.
|
|
|
|
Version 2.02.67 - 4th June 2010
|
|
===============================
|
|
Handle failed restart of clvmd using -S switch properly.
|
|
Fix clvmd initscript restart command to start clvmd if not yet running.
|
|
Use built-in absolute paths in clvmd (clvmd restart and PV and LV queries).
|
|
Require partial option in lvchange --refresh for partial LVs.
|
|
Do not fail lvm_init() if init_logging() or _init_rand() generates an errno.
|
|
Don't merge unchanged persistent cache file before dumping if tool scanned.
|
|
Fix incorrect memory pool deallocation while using vg_read for files.
|
|
Add --type parameter description to the lvcreate man page.
|
|
Replace strncmp kernel version number checks with proper ones.
|
|
Avoid selecting names under /dev/block if there is an alternative.
|
|
Update clustered log kernel module name to log-userspace for 2.6.31 onwards.
|
|
Add replicators' LVs to dtree for activation.
|
|
Supress activation message if there is a missing replicator VG.
|
|
Fix scripts/relpath.awk to work in mawk
|
|
Extend lock_vol to check for missing replicator VGs first.
|
|
Update _process_one_vg and process_each_lv_in_vg to populate cmd_vg.
|
|
Add cmd_vg structure and associated functions for replicator.
|
|
Extend _lv_each_dependency() to handle replicator dependencies.
|
|
Add check_replicator_segment() to catch internal replicator errors.
|
|
Initial support for replicator metadata.
|
|
Extend process_each_lv_in_vg() to provide list of failed lvnames.
|
|
Consistently return ECMD_FAILED if process_each_*lv() is interrupted.
|
|
|
|
Version 2.02.66 - 20th May 2010
|
|
===============================
|
|
If unable to obtain snapshot percentage leave value blank on reports.
|
|
Add install_system_dirs and install_initscripts makefile targets.
|
|
Add configure options for system and locking directories.
|
|
Generate example.conf so default lvm.conf contents can be configured.
|
|
Install lvmconf script by default.
|
|
Remove unnecessary versioned dmeventd plugin symlinks.
|
|
Add tests for lvm_vgname_from_{pvid|device}.
|
|
Add lvm2app interfaces to lookup a vgname from a pvid and pvname.
|
|
Update pvchange to always obtain a vg handle for each pv to process.
|
|
Add find_vgname_from_{pvname|pvid} functions.
|
|
Add pvid_from_devname and lvmcache_vgname_from_pvid lvmcache functions.
|
|
Validate orphan and VG_GLOBAL lock order too.
|
|
Accept orphan VG names as parameters to lock_vol() and related functions.
|
|
Use is_orphan_vg in place of hard-coded prefix tests and add is_global_vg.
|
|
|
|
Version 2.02.65 - 17th May 2010
|
|
===============================
|
|
Fix clvmd init script never to deactivate non-clustered volume groups.
|
|
Disallow vgchange --clustered if there are active mirrors or snapshots.
|
|
Introduce lv_is_mirrored.
|
|
Use /bin/bash for scripts with bashisms.
|
|
Skip internal lvm devices in scan if ignore_suspended_devices is set.
|
|
Do not merge old device cache after we run full scan. (2.02.56)
|
|
Add pkgconfigdir Makefile variable for make install override.
|
|
Configure pkgconfig udev and selinux dependencies.
|
|
Switch Libs.private to Requires.private in devmapper.pc and lvm2app.pc.
|
|
Use pkgconfig Requires.private for devmapper-event.pc.
|
|
Add libdevmapper to linked libdevmapper-event.so.
|
|
Link liblvm2cmd.so with libdevmapper-event and libdevmapper.
|
|
Fix truncated total size displayed by pvscan.
|
|
Add new --sysinit compound option to vgchange and lvchange.
|
|
Drop duplicate errors for read failures and missing devices to verbose level.
|
|
Use $(libdir)/lvm2 with make install_lvm2_plugin.
|
|
Use $(libdir)/device-mapper with make install_dm_plugin.
|
|
Add dm_list_splice() function to join two lists together.
|
|
|
|
Version 2.02.64 - 30th April 2010
|
|
=================================
|
|
Avoid pointless initialisation when the 'version' command is run directly.
|
|
Fix memory leak for invalid regex pattern input.
|
|
Display invalid regex pattern for filter configuration in case of error.
|
|
Remove no-longer-used arg_ptr_value.
|
|
Fix -M and --type to use strings, not pointers that change on config refresh.
|
|
Fix lvconvert error message when existing mirrored LV is not found.
|
|
Set appropriate udev flags for reserved LVs.
|
|
Disallow the direct removal of a merging snapshot.
|
|
Don't preload the origin when removing a snapshot whose merge is pending.
|
|
Disallow the addition of mirror images while a conversion is happening.
|
|
Disallow primary mirror image removal when mirror is not in-sync.
|
|
Remove obsolete --name parameter from vgcfgrestore.
|
|
Add -S command to clvmd to restart the daemon preserving exclusive locks.
|
|
Increment lvm2app version from 1 to 2 (memory allocation changes).
|
|
Change lvm2app memory alloc/free for pv/vg/lv properties.
|
|
Change daemon lock filename from lvm2_monitor to lvm2-monitor for consistency.
|
|
Install symbolic .so links with relative paths between usrlibdir and libdir.
|
|
Add awk script relpath.awk to calculate paths for relative symlinks.
|
|
Use @AWK@ in makefiles.
|
|
Fix double DESTDIR usage for infodir and mandir.
|
|
|
|
Version 2.02.63 - 14th April 2010
|
|
=================================
|
|
Rename lvm_dump.sh to lvmdump.sh.
|
|
Allow incomplete mirror restore in lvconvert --repair upon insufficient space.
|
|
Do not reset position in metadata ring buffer on vgrename and vgcfgrestore.
|
|
Allow VGs with active LVs to be renamed.
|
|
Use UUIDs instead of names while processing event handlers.
|
|
Only pass visible LVs to tools in cmdline VG name/tag expansions without -a.
|
|
Use typedefs for toollib process_each functions.
|
|
Use C locales and use_mlockall for clvmd.
|
|
Refactor code related to vg->pvs list and add pv->vg link.
|
|
Mask LCK_HOLD flag in cluster VG locks for backwards compatibility.
|
|
Add activation/polling_interval to lvm.conf as --interval default.
|
|
Don't ignore error if resuming any LV fails in resume_lvs.
|
|
Skip closing persistent filter cache file if open failed.
|
|
Install .a and .so links into $(usrlibdir).
|
|
Add --enable-write_install options to install user-writable files.
|
|
Use INSTALL_PROGRAM/DATA/WDATA target.
|
|
Switch from using VPATH to vpath in Makefiles.
|
|
Permit mimage LVs to be striped in lvcreate, lvresize and lvconvert.
|
|
Fix pvmove allocation to take existing parallel stripes into account.
|
|
Add pvmove_source_seg to struct lv_segment.
|
|
Fix incorrect removal of symlinks after LV deactivation fails.
|
|
Fix is_partitioned_dev not to attempt to reopen device.
|
|
Fix another thread race in clvmd.
|
|
Refactor management of vg->pvs list.
|
|
Fix lcov rules and generate better coverage report.
|
|
Improve vg_validate to detect some loops in lists.
|
|
Change most remaining log_error WARNING messages to log_warn.
|
|
Always use blocking lock for VGs and orphan locks.
|
|
Allocate all memory for segments from private VG mempool.
|
|
Return newly allocated PV segment after segment split.
|
|
Optimise searching PV segments for seeking the most recently-added.
|
|
Remove vg_validate call when parsing cached metadata.
|
|
Use hash table of LVs to speed up parsing of text metadata with many LVs.
|
|
Fix two vg_validate messages, adding whitespace and parentheses.
|
|
When dmeventd is not forking because of -d flag, don't kill parent process.
|
|
Fix 'make install' when $(builddir) is different from $(srcdir).
|
|
Fix dso resource leak in error path of dmeventd.
|
|
Use C locales and use_mlockall for dmeventd.
|
|
Fix --alloc contiguous policy only to allocate one set of parallel areas.
|
|
Do not allow {vg|lv}change --ignoremonitoring if on clustered VG.
|
|
Improved dependency tracking for dmeventd and liblvm2cmd sources.
|
|
Improved Makefile rules for distclean and cflow targets.
|
|
Add ability to create mirrored logs for mirror LVs.
|
|
Fix clvmd cluster propagation of dmeventd monitoring mode.
|
|
Allow ALLOC_ANYWHERE to split contiguous areas.
|
|
Use INTERNAL_ERROR for internal errors throughout tree.
|
|
Add some assertions to allocation code.
|
|
Introduce pv_area_used into allocation algorithm and add debug messages.
|
|
Add activation/monitoring to lvm.conf.
|
|
Add --monitor and --ignoremonitoring to lvcreate.
|
|
Allow dynamic extension of array of areas selected as allocation candidates.
|
|
Export and use only valid cookie value in test suite.
|
|
Remove const modifier for struct volume_group* from process_each_lv_in_vg().
|
|
Don't allow resizing of internal logical volumes.
|
|
Fix libdevmapper-event pkgconfig version string to match libdevmapper.
|
|
Avoid scanning all pvs in the system if operating on a device with mdas.
|
|
Add configure --with-clvmd=singlenode to use clvmd w/o cluster infrastructure.
|
|
Get stacktrace if testsuite test drops core and lvm was built with debugging.
|
|
Disable long living process flag in lvm2app.
|
|
Fix pvcreate device md filter check.
|
|
Suppress repeated errors about the same missing PV uuids.
|
|
Bypass full device scans when using internally-cached VG metadata.
|
|
Only do one full device scan during each read of text format metadata.
|
|
Remove unnecessary full_scan parameter from get_vgids and get_vgnames calls.
|
|
Look up missing PVs by uuid not dev_name in _pvs_single to avoid invalid stat.
|
|
Make find_pv_in_vg_by_uuid() return same type as related functions.
|
|
Introduce is_missing_pv().
|
|
Fix clvmd Makefile to not overwrite LIBS from template definition.
|
|
|
|
Version 2.02.62 - 9th March 2010
|
|
================================
|
|
Add use_mlockall and mlock_filter to activation section of lvm.conf.
|
|
Add default alternative to mlockall using mlock to reduce pinned memory size.
|
|
Remove -rdynamic from static builds.
|
|
Update checks for pthread, readline & selinux libs and link only when needed.
|
|
Introduce makefile vars UDEV_LIBS, DL_LIBS, SELINUX_LIBS, STATIC_LIBS.
|
|
Introduce makefile vars LVMINTERNAL_LIBS, READLINE_LIBS, PTHREAD_LIBS.
|
|
Toggle configure help to print --disable-fsadm.
|
|
Use $() instead of ${} consistently for all Makefile variables.
|
|
Replace CFLOW_CMD only in make.tmpl and use it as variable elsewhere.
|
|
Use $(top_builddir) for inclusion of make.tmpl in Makefiles.
|
|
Fix autoconf warning about ignored datarootdir.
|
|
Increase AC_PREREQ version to 2.61 (for AC_PROC_SED, AC_PROG_MKDIR_P).
|
|
Handle misaligned devices that report alignment_offset of -1.
|
|
Extend core allocation code in preparation for mirrored log areas.
|
|
Rewrite clvmd init script.
|
|
Remove lvs_in_vg_activated_by_uuid_only call.
|
|
No longer fall back to looking up active devices by name if uuid not found.
|
|
Don't touch /dev in vgmknodes if activation is disabled.
|
|
Update lvm2app.h Doxygen comments and add lvm2app Doxygen config file.
|
|
Update nightly tests and lvm2app unit tests to cover tags.
|
|
Add lvm2app functions lvm_{vg|lv}_{get|add|remove}_tag() functions.
|
|
Add dm_pool_strdup to allocate and copy memory in tag library function.
|
|
Refactor vgcreate, vgchange, and lvchange for tag library function.
|
|
Refactor snapshot-merge deptree and device removal to support info-by-uuid.
|
|
|
|
Version 2.02.61 - 15th February 2010
|
|
====================================
|
|
Fix some consts and floating point gcc warnings.
|
|
Fix dm_report_field_uint64 function to accept 64-bit ints.
|
|
Change readhead display to use 32-bit -1 const instead of 64-bit.
|
|
Add LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES environment variable.
|
|
Remove hard-coding that skipped _mimage devices from 11-dm-lvm.rules.
|
|
Use udev transactions in test suite.
|
|
Set udev state automatically instead of using LVM_UDEV_DISABLE_CHECKING.
|
|
Add lvm_pv_get_size, lvm_pv_get_free and lvm_pv_get_dev_size to lvm2app.
|
|
Change lvm2app to return all sizes in bytes as documented (not sectors).
|
|
Add 'fail_if_percent_unsupported' arg to _percent and _percent_run.
|
|
Remove false "failed to find tree node" error when activating merging origin.
|
|
Exit with success when lvconvert --repair --use-policies performs no action.
|
|
Accept a list of LVs with 'lvconvert --merge @tag' using process_each_lv.
|
|
Avoid unnecessary second resync when adding mimage to core-logged mirror.
|
|
Exclude internal VG names and uuids from lists returned through lvm2app.
|
|
Add %ORIGIN support to lv{create,extend,reduce,resize} --extents.
|
|
Add _mda_copy to clone a struct metadata_area.
|
|
Remove pointless versioned symlinks to dmeventd plugin libraries.
|
|
Fix dmeventd snapshot plugin build dependency.
|
|
Make clvmd -V return status zero.
|
|
Remove unnecessary 'dmsetup resume' following 'dmsetup create' in tests.
|
|
Fix cmirrord segfault in clog_cpg list processing when converting mirror log.
|
|
Deactivate temporary pvmove mirror cluster-wide when activating it fails.
|
|
Always query device by uuid and not name in clvmd.
|
|
Add missing metadata vg_reverts in pvmove error paths.
|
|
Unlock shared lock in clvmd if activation calls fail.
|
|
Return success from dev_manager_info with non-existent uuid if ioctl succeeds.
|
|
|
|
Version 2.02.60 - 23rd January 2010
|
|
===================================
|
|
Extend cmirrord man page.
|
|
Sleep before first progress check if pvmove/lvconvert interval has prefix '+'.
|
|
Default to checking progress before waiting in _wait_for_single_lv.
|
|
Fix cmirror initscript (including syntax error).
|
|
Eliminate avoidable ioctls for checking open_count in _add_new_lv_to_dtree.
|
|
Disable memory debugging if dmeventd is configured. (Not thread-safe.)
|
|
Fix first log message prefix in syslog for dmeventd plugins.
|
|
Fix exported symbols names for dmeventd lvm2 wrapper plugin.
|
|
Make failed locking initialisation messages more descriptive.
|
|
|
|
Version 2.02.59 - 21st January 2010
|
|
===================================
|
|
Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use.
|
|
Cleanup memory initialization and freeing in pv_read() and pv_create().
|
|
Clear pointer and counters after their release in _fin_commands().
|
|
Stop dmeventd trying to access already-removed snapshots.
|
|
Remove (fallback) /dev mknod from cmirrord.
|
|
Add t-topology-support.sh and t-snapshot-merge.sh tests.
|
|
Fix clvmd to never scan suspended devices.
|
|
Fix dmeventd build outside source tree.
|
|
Assorted cmirror code changes to remove various compiler warnings.
|
|
Fix detection of completed snapshot merge.
|
|
Add Red Hat cmirror initscript (unfinished).
|
|
Add cmirrord man page (incomplete).
|
|
Make cluster log communication structures architecture independant.
|
|
Fix cluster log in-memory bitmap handling.
|
|
Improve snapshot merge metadata import validation.
|
|
Improve target type compatibility checking in _percent_run().
|
|
Add 'target_status_compatible' method to 'struct segtype_handler'.
|
|
Change underscore to hyphen in table line for clustered log type.
|
|
|
|
Version 2.02.58 - 14th January 2010
|
|
===================================
|
|
Cleanup some minor gcc warnings.
|
|
Add --merge to lvconvert to merge a snapshot into its origin.
|
|
Fix clvmd automatic target module loading crash (no reset_locking fn).
|
|
Fix allocation code not to stop at the first area of a PV that fits.
|
|
|
|
Version 2.02.57 - 12th January 2010
|
|
===================================
|
|
Ensure exactly one process returns from poll_daemon(), never two.
|
|
Reset _vgs_locked in lvmcache_init() in child after forking.
|
|
Define {DM, LVM}_UDEV_DISABLE_CHECKING=1 environment variables during tests.
|
|
Enable udev_sync and udev_rules in lvm.conf by default while running tests.
|
|
If LVM_UDEV_DISABLE_CHECKING in set in environment, disable udev warnings.
|
|
Add --splitmirrors to lvconvert to split off part of a mirror.
|
|
Change background polldaemon's process name to "(lvm2)".
|
|
Allow vgremove to remove a VG with PVs missing after a prompt.
|
|
Return success in lvconvert --repair --use-policies on failed allocation.
|
|
Keep log type consistent when changing mirror image count.
|
|
Always set environment variables for an LVM2 device in 11-dm-lvm.rules.
|
|
Add activation/udev_rules config option in lvm.conf.
|
|
Add consts to text metadata flag structs.
|
|
Add macros outfc, outsize, outhint and function out_text_with_comment.
|
|
Reimplement report FIELD macro using offsetof instead of static structs.
|
|
Fix fsadm man page typo (fsdam).
|
|
Rename mirror_device_fault_policy to mirror_image_fault policy.
|
|
Remove empty PV devices if lvconvert --repair is using defined policies.
|
|
Use fixed buffer to prevent stack overflow in persistent filter dump.
|
|
Use extended status of new kernel snapshot target 1.8.0 to detect when empty.
|
|
Insert stack macros in suspend_lv, resume_lv & (de)activate_lv callers.
|
|
Add --poll flag to vgchange and lvchange to control background daemon launch.
|
|
Propagate metadata commit and revert notifications to other cluster nodes.
|
|
Use proper mask for VG lock mode in clvmd.
|
|
Allow precommitted metadata to be dropped from lvmcache.
|
|
Move processing of VG locks to separate function in clvmd.
|
|
Properly decode all flags in clvmd messages including VG locks.
|
|
Properly handle precommitted cache flag when only committed metadata present.
|
|
Resume renamed volumes in reverse order to preserve memlock pairing.
|
|
Drop cached metadata after device was auto-repaired and removed from VG.
|
|
Clear MISSING_PV flag if PV reappeared and is empty.
|
|
Fix removal of multiple devices from a mirror.
|
|
Also clean up PVs flagged as missing in vgreduce --removemissing --force.
|
|
Introduce INTERNAL_ERROR macro for error messages and use throughout.
|
|
Remove superfluous returns from void functions.
|
|
Destroy allocated mempool in _vg_read_orphans() error path.
|
|
Fix some pvresize and toollib error paths with missing VG releases/unlocks.
|
|
Explicitly call suspend for temporary mirror layer.
|
|
Allow use of precommitted metadata when a PV is missing.
|
|
Add memlock information to do_lock_lv debug output.
|
|
Always bypass calls to remote cluster nodes for non-clustered VGs.
|
|
Permit implicit cluster lock conversion in pre/post callbacks on local node.
|
|
Permit implicit cluster lock conversion to the lock mode already held.
|
|
Fix lock flag masking in clvmd so intended code paths get invoked.
|
|
Replace magic masks in cluster locking code by defined masks.
|
|
Remove newly-created mirror log from metadata if initial deactivation fails.
|
|
Correct activated or deactivated text in vgchange summary message.
|
|
Improve pvmove error message when all source LVs are skipped.
|
|
Fix memlock imbalance in lv_suspend if already suspended.
|
|
Fix pvmove test mode not to poll (and fail).
|
|
Fix vgcreate error message if VG already exists.
|
|
Fix tools to use log_error when aborted due to user response to prompt.
|
|
Fix ignored readahead setting in lvcreate --readahead.
|
|
Fix clvmd memory leak in lv_info_by_lvid by calling release_vg.
|
|
If aborting due to internal error, always send that message to stderr.
|
|
Add global/abort_on_internal_errors to lvm.conf to assist testing.
|
|
Fix test Makefiles when builddir and srcdir differ.
|
|
Impose limit of 8 mirror images to match the in-kernel kcopyd restriction.
|
|
Use locking_type 3 (compiled in) for lvmconf --enable-cluster.
|
|
Remove list.c and list.h with no-longer-used dm_list macros and functions.
|
|
Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin.
|
|
Extend internal PV/VG/LV/segment status variables from 32-bit to 64-bit.
|
|
|
|
Version 2.02.56 - 24th November 2009
|
|
====================================
|
|
Add missing vg_release to pvs and pvdisplay to fix memory leak.
|
|
Do not try to unlock VG which is not locked in _process_one_vg.
|
|
Move is_long_lived persistent_filter_dump to happen after every full scan.
|
|
Refresh device filters before full device rescan in lvmcache.
|
|
Return error status if vgchange fails to activate some volume.
|
|
Fix suspend/resume lock type test causing unbalanced memory locking.
|
|
Revert vg_read_internal change as clvmd was not ready for vg_read. (2.02.55)
|
|
|
|
Version 2.02.55 - 19th November 2009
|
|
====================================
|
|
Fix deadlock when changing mirrors due to unpaired memlock refcount changes.
|
|
Use separate memlock counter for dmeventd handlers to permit device scanning.
|
|
Directly restrict vgchange to activating visible LVs.
|
|
Fix pvmove region_size overflow for very large PVs.
|
|
Fix lvcreate and lvresize %PVS argument always to use sensible total size.
|
|
Tidy some uses of arg_count and introduce arg_is_set.
|
|
Export outnl and indent functions for modules.
|
|
Flush stdout after yes/no prompt.
|
|
Update vgsplit and vgcreate to use vg_set_clustered.
|
|
Add vg_mda_count and vg_set_clustered library functions.
|
|
Add more vgcreate and vgsplit nightly tests.
|
|
Insert some missing stack macros into activation code.
|
|
Recognise DRBD devices and handle them like md devices.
|
|
|
|
Version 2.02.54 - 26th October 2009
|
|
===================================
|
|
Update lvcreate/lvconvert man pages to explain PhysicalVolume parameter.
|
|
Document --all option in man pages, cleanup {pv|vg|lv}{s|display} man pages.
|
|
Permit snapshots of mirrors.
|
|
Cleanup mimagetmp LV if allocation fails for new lvconvert mimage.
|
|
Fix clvmd segfault when refresh_toolcontext fails.
|
|
Remember to clear 'global lock held during cache refresh' state after use.
|
|
Use udev flags support in LVM and apply various fixes to udev rules.
|
|
Delay announcing mirror monitoring to syslog until initialisation succeeded.
|
|
Handle metadata with unknown segment types more gracefully.
|
|
Set default owner and group to null.
|
|
Add dmeventd.static to the build.
|
|
Disable realtime support code by default.
|
|
Make clvmd return 0 on success rather than 1.
|
|
Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, vgconvert.
|
|
Add implict pvcreate support to vgcreate and vgextend.
|
|
Correct example.conf to indicate that lvm2 not lvm1 is the default format.
|
|
Remove an unused stray LVM1_SUPPORT ifdef.
|
|
Only include selinux libs in libdevmapper.pc when selinux build enabled.
|
|
Allow for a build directory separate from the source.
|
|
Update distclean target for rename clogd to cmirrord. (2.02.52)
|
|
Only do lock conversions in clvmd if we are explicitly asked for one.
|
|
Introduce percent_range_t and centralise snapshot full/mirror in-sync checks.
|
|
Factor out poll_mirror_progress and introduce progress_t.
|
|
Distinguish between powers of 1000 and powers of 1024 in unit suffixes.
|
|
Restart lvconverts in vgchange by sharing lv_spawn_background_polling.
|
|
Generalise polldaemon code by changing mirror-specific variable names.
|
|
Don't attempt to deactivate an LV if any of its snapshots are in use.
|
|
Return error if lv_deactivate fails to remove device from kernel.
|
|
Provide alternative implementation of obsolete siginterrupt().
|
|
Consolidate LV allocation into alloc_lv().
|
|
Treat input units of both 's' and 'S' as 512-byte sectors. (2.02.49)
|
|
Use standard output units for 'PE Size' and 'Stripe size' in pv/lvdisplay.
|
|
Add configure --enable-units-compat to set si_unit_consistency off by default.
|
|
Add global/si_unit_consistency to enable cleaned-up use of units in output.
|
|
|
|
Version 2.02.53 - 25th September 2009
|
|
=====================================
|
|
Create any directories in /dev with DM_DEV_DIR_UMASK (022).
|
|
Enable dmeventd monitoring section of config file by default.
|
|
Update lvm2 monitoring script to lvm2_monitoring_init_red_hat.in.
|
|
Fix lvm2app test to run under test/api subdirectory only when configured.
|
|
Add vg_is_resizeable() and cleanup reference to VG_RESIZEABLE.
|
|
|
|
Version 2.02.52 - 15th September 2009
|
|
=====================================
|
|
Update _process_one_vg to cleanup properly after vg_read_error.
|
|
Add lots of missing stack debug messages to tools.
|
|
Make readonly locking available as locking type 4.
|
|
Fix readonly locking to permit writeable global locks (for vgscan). (2.02.49)
|
|
Add DM_UDEV_RULES_VSN environment variable to udev rules.
|
|
Update vgsplit, vgmerge, and vgrename to obey new vgname ordering rules.
|
|
Make lvm2app pv_t, lv_t, vg_t handle definitions consistent with lvm_t.
|
|
Enforce an alphabetical lock ordering on vgname locking.
|
|
Prioritise write locks over read locks by default for file locking.
|
|
Add local lock files with suffix ':aux' to serialise locking requests.
|
|
Fix global locking in PV reporting commands (2.02.49).
|
|
Fix pvcreate string termination in duplicate uuid warning message.
|
|
Don't loop reading sysfs with pvcreate on a non-blkext partition (2.02.51).
|
|
Fix vgcfgrestore error paths when locking fails (2.02.49).
|
|
Update Makefile distclean target.
|
|
Add libudev configuration check.
|
|
Make clvmd check corosync to see what cluster interface it should use.
|
|
Add clvmd autodetection check and cleanup related configure messages.
|
|
Rewrite clvmd configuration code to cope with all combinations of libs.
|
|
Added configure --enable-cmirrord to build the cluster mirror log daemon.
|
|
Rename clogd to cmirrord.
|
|
Make lvchange --refresh only take a read lock on volume group.
|
|
Fix race where non-blocking file locks could be granted in error.
|
|
Fix vgextend error path - if ORPHAN lock fails, unlock / release vg (2.02.49).
|
|
Fix compile warning in clvmd.
|
|
Clarify use of PE ranges in lv{convert|create|extend|resize} man pages.
|
|
Remove useless _pv_write wrapper.
|
|
Add lvm2app.sh to tests conditional upon configure --enable-applib.
|
|
Add lvm_vg_is_clustered, lvm_vg_is_exported, and lvm_vg_is_partial.
|
|
Update lvm_vg_remove to require lvm_vg_write to commit remove to disk.
|
|
Update test/api/test.c to call lvm_vg_create and lvm_vg_remove.
|
|
|
|
Version 2.02.51 - 6th August 2009
|
|
=================================
|
|
Fix locking in clvmd (2.02.50).
|
|
Add --noudevsync option for relevant LVM tools.
|
|
Add activation/udev_sync to lvm.conf.
|
|
Only change LV symlinks on ACTIVATE not PRELOAD.
|
|
Make lvconvert honour log mirror options combined with downconversion.
|
|
Allow LV suspend while --ignorelockingfailure is in force.
|
|
Update synopsis in lvconvert manpage to mention --repair.
|
|
Set cookies in activation code and wait for udev to complete processing.
|
|
Added configure --enable-udev_rules --enable-udev_sync.
|
|
Added configure --with-udev-prefix --with-udevdir.
|
|
Added udev dir to hold udev rules.
|
|
Add devices/data_alignment_detection to lvm.conf.
|
|
Add devices/data_alignment_offset_detection to lvm.conf.
|
|
Add --dataalignmentoffset to pvcreate to shift start of aligned data area.
|
|
Fix _mda_setup() to not check first mda's size before pe_align rounding.
|
|
Document -I option of clvmd in the man page.
|
|
Fix configure script to handle multiple clvmd selections.
|
|
Fix lvm2app.pc installation filename.
|
|
Remove pv_t, vg_t & lv_t handles from lib. Only liblvm uses them.
|
|
Rename lvm.h to lvm2app.h for now.
|
|
|
|
Version 2.02.50 - 28th July 2009
|
|
================================
|
|
Change test/api/test.c prompt so it's not confused with the main lvm prompt.
|
|
Update liblvm unit tests in test/api to cover latest liblvm changes.
|
|
Add unimplemented lvm_lv_resize and lvm_pv_resize skeletons to liblvm.
|
|
Add lvm_library_get_version to liblvm.
|
|
Add lvm_config_override to liblvm to allow caller to override LVM config.
|
|
Add lvm_lv_is_active and lvm_lv_is_suspended to liblvm.
|
|
Add lvm_lv_activate and lvm_lv_deactivate to liblvm.
|
|
Add lvm_scan, lvm_vg_reduce and lvm_vg_remove_lv to liblvm.
|
|
Add functions to get numeric properties to liblvm.
|
|
Add lvm_{pv|vg|lv}_get_{name|uuid} to liblvm.
|
|
Add lvm_vg_list_pvs and lvm_vg_list_lvs to liblvm.
|
|
Add lvm_vg_open and lvm_vg_create_lv_linear to liblvm.
|
|
Add lvm_list_vg_names/uuids to liblvm.
|
|
Add lvm_errno and lvm_errmsg to liblvm to obtain failure information.
|
|
Rename lvm_create/destroy to lvm_init/quit.
|
|
Rename lvm_reload_config to lvm_config_reload.
|
|
Refactor _override_settings to use new override_config_tree_from_string.
|
|
Add vg_reduce to metadata.c and metadata-exported.h.
|
|
Update lvm.h to clarify API behavior and return codes.
|
|
Update lvm_vg_extend to do an implicit pvcreate on the device.
|
|
Update display.c to use vg_free(vg) instead of duplicating the calculation.
|
|
Refactor vg_size, vg_free, and pv_mda_count field calculations for liblvm.
|
|
Refactor pvcreate and lvcreate for liblvm.
|
|
Add global/wait_for_locks to lvm.conf so blocking for locks can be disabled.
|
|
All LV locks are non-blocking so remove LCK_NONBLOCK from separate macros.
|
|
Fix race condition with vgcreate and vgextend on same device (2.02.49).
|
|
Remove redundant validate_name call from vgreduce.
|
|
Remove unused handles lvseg, pvseg inside liblvm/lvm.h.
|
|
Add liblvm2app Makefile installation targets.
|
|
Add liblvm pkgconfig file.
|
|
Use newly-independent LVM_LIBAPI in liblvm soname. E.g. liblvm2app.so.2.1.
|
|
Add an API version number, LVM_LIBAPI, to the VERSION string for liblvm.
|
|
Pass a pointer to struct cmd_context to init_multiple_segtypes
|
|
Return EINVALID_CMD_LINE not success when invalid VG name format is used.
|
|
Remove unnecessary messages after vgcreate/vgsplit refactor (2.02.49).
|
|
Add log_errno to set a specific errno and replace log_error in due course.
|
|
Change create_toolcontext to still return an object if it fails part-way.
|
|
Add EUNCLASSIFIED (-1) as the default LVM errno code.
|
|
Store any errno and error messages issued while processing each command.
|
|
Use log_error macro consistently throughout in place of log_err.
|
|
|
|
Version 2.02.49 - 15th July 2009
|
|
================================
|
|
Add readonly locking type to replace implementation of --ignorelockingfailure.
|
|
Exclude VG_GLOBAL from vg_write_lock_held so scans open devs read-only again.
|
|
Add unit test case for liblvm VG create/delete APIs.
|
|
Add liblvm APIs to implement creation and deletion of VGs.
|
|
Initialize cmd->cmd_line to "liblvm" in new liblvm library.
|
|
Place handles to liblvm objects for pv, vg, lv, lvseg, pvseg inside lvm.h.
|
|
Refactor vgsplit and vgextend to remove READ_REQUIRE_RESIZEABLE flag.
|
|
Use _exit() not exit() after forking to avoid flushing libc buffers twice.
|
|
Add cast to log_info arg in _find_labeller to avoid Sparc64 warning.
|
|
Make cmd->cmd_line const.
|
|
Fix dev name mismatch in vgcreate man page example.
|
|
Refactor vg_remove_single for use in liblvm.
|
|
Make all tools use consistent lock ordering obtaining VG_ORPHAN lock second.
|
|
Check md devices for a partition table during device scan.
|
|
Add extended device (blkext) and md partition (mdp) types to filters.
|
|
Make text metadata read errors for segment areas more precise.
|
|
Fix text segment metadata read errors to mention correct segment name.
|
|
Include segment and LV names in text segment import error messages.
|
|
Add parent node to config_node structure.
|
|
Update vgsplit and vgcreate to call new vg_create and 'set' functions.
|
|
Change vg_create to take minimal parameters, obtain a lock, and return vg_t.
|
|
Refactor vgchange extent_size, max_lv, max_pv, and alloc_policy for liblvm.
|
|
Update t-vgcreate-usage.sh to test for default vg properties.
|
|
Fix memory leak in vgsplit when re-reading the vg.
|
|
Make various exit/cleanup paths more robust after lvm init failures.
|
|
Use LCK_NONBLOCK implicitly instead of explicit vg_read() flag.
|
|
Remove unnecessary locking and existence tests from new vg_read() interface.
|
|
Permit several segment types to be registered by a single shared object.
|
|
Update the man pages to document size units uniformly.
|
|
Allow commandline sizes to be specified in terms of bytes and sectors.
|
|
Update 'md_chunk_alignment' to use stripe-width to align PV data area.
|
|
Update test/t-inconsistent-metadata.sh to match new vg_read interface.
|
|
Add lvmcache_init() to polldaemon initialization.
|
|
Convert tools to use new vg_read / vg_read_for_update.
|
|
Fix segfault in vg_release when vg->cmd is NULL.
|
|
|
|
Version 2.02.48 - 30th June 2009
|
|
================================
|
|
Abort if automatic metadata correction fails when reading VG to update it.
|
|
Explicitly request fallback to default major number in device mapper.
|
|
Ignore suspended devices during repair.
|
|
Call vgreduce --removemissing automatically to fix missing PVs in dmeventd.
|
|
Suggest using lvchange --resync when adding leg to not-yet-synced mirror.
|
|
Destroy toolcontext on clvmd exit to avoid memory pool leaks.
|
|
Fix lvconvert not to poll mirror if no conversion in progress.
|
|
Fix memory leaks in toolcontext error path.
|
|
Reinstate partial activation support in clustered mode. (2.02.40)
|
|
Allow metadata correction even when PVs are missing.
|
|
Use 'lvm lvresize' instead of 'lvresize' in fsadm.
|
|
Do not use '-n' realine option in fsadm for busybox compatiblity.
|
|
Add vg_lock_newname() library function for vgrename, vgsplit and vgcreate.
|
|
Round up requested readahead to at least one page and print warning.
|
|
Try to repair vg before actual vgremove when force flag provided.
|
|
Fix possible double release of VG after recovery.
|
|
Add parameter to process_each_vg specifying what to do with inconsistent VG.
|
|
Unify error messages when processing inconsistent volume group.
|
|
Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO.
|
|
Introduce lvconvert --use_policies (repair policy according to lvm.conf).
|
|
Update clvmd-corosync to match new corosync API.
|
|
Fix lib Makefile to include any shared libraries in default target.
|
|
Fix rename of active snapshot with virtual origin.
|
|
Fix convert polling to ignore LV with different UUID.
|
|
Cache underlying device readahead only before activation calls.
|
|
Fix segfault when calculating readahead on missing device in vgreduce.
|
|
Remove verbose 'visited' messages.
|
|
Handle multi-extent mirror log allocation when smallest PV has only 1 extent.
|
|
Add LSB standard headers and functions (incl. reload) to clvmd initscript.
|
|
When creating new LV, double-check that name is not already in use.
|
|
Remove /dev/vgname/lvname symlink automatically if LV is no longer visible.
|
|
Rename internal vorigin LV to match visible LV.
|
|
Suppress 'removed' messages displayed when internal LVs are removed.
|
|
Fix lvchange -a and -p for sparse LVs.
|
|
Fix lvcreate --virtualsize to activate the new device immediately.
|
|
Make --snapshot optional with lvcreate --virtualsize.
|
|
Generalise --virtualoriginsize to --virtualsize.
|
|
Skip virtual origins in process_each_lv_in_vg() without --all.
|
|
Fix counting of virtual origin LVs in vg_validate.
|
|
Attempt to load dm-zero module if zero target needed but not present.
|
|
|
|
Version 2.02.47 - 22nd May 2009
|
|
===============================
|
|
Rename liblvm.so to liblvm2app.so and use configure --enable-applib.
|
|
Reinstate version in liblvm2cmd.so soname. (2.02.44)
|
|
|
|
Version 2.02.46 - 21st May 2009
|
|
===============================
|
|
Inherit readahead setting from underlying devices during activation.
|
|
Detect LVs active on remote nodes by querying locks if supported.
|
|
Enable online resizing of mirrors.
|
|
Use suspend with flush when device size was changed during table preload.
|
|
Implement query_resource_fn for cluster_locking.
|
|
Support query_resource_fn in locking modules.
|
|
Introduce CLVMD_CMD_LOCK_QUERY command for clvmd.
|
|
Fix pvmove to revert operation if temporary mirror creation fails.
|
|
Fix metadata export for VG with missing PVs.
|
|
Add vgimportclone and install it and the man page by default.
|
|
Force max_lv restriction only for newly created LV.
|
|
Remove unneeded import parameter from lv_create_empty.
|
|
Merge lv_is_displayable and lv_is_visible functions.
|
|
Introduce lv_set_visible & lv_set_hidden functions.
|
|
Fix lv_is_visible to handle virtual origin.
|
|
Introduce link_lv_to_vg and unlink_lv_from_vg functions.
|
|
Remove lv_count from VG and use counter function instead.
|
|
Fix snapshot segment import to not use duplicate segments & replace.
|
|
Do not query nonexistent devices for readahead.
|
|
Remove NON_BLOCKING lock flag from tools and set a policy to auto-set.
|
|
Remove snapshot_count from VG and use function instead.
|
|
Fix first_seg() call for empty segment list.
|
|
Add install_lvm2 makefile target to install only the LVM2 components.
|
|
Reject missing PVs from allocation in toollib.
|
|
Fix PV datalignment for values starting prior to MDA area. (2.02.45)
|
|
Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin).
|
|
Fix minimum width of devices column in reports.
|
|
Add lvs origin_size field.
|
|
Fix linux configure --enable-debug to exclude -O2.
|
|
Implement lvconvert --repair for repairing partially-failed mirrors.
|
|
Fix vgreduce --removemissing failure exit code.
|
|
Fix remote metadata backup for clvmd.
|
|
Introduce unlock_and_release_vg macro.
|
|
Introduce vg_release() to be called to free every struct volume_group.
|
|
Alloc PV internal structure from VG mempool if possible.
|
|
Fix metadata backup to run after vg_commit always.
|
|
Tidy clvmd volume lock cache functions.
|
|
Fix pvs report for orphan PVs when segment attributes are requested.
|
|
Fix pvs -a output to not read volume groups from non-PV devices.
|
|
Add MMC (mmcblk) device type to filters.
|
|
Introduce memory pools per volume group (to reduce memory for large VGs).
|
|
Use copy of PV structure when manipulating global PV lists.
|
|
Always return exit error status when locking of volume group fails.
|
|
Fix mirror log convert validation question.
|
|
Avoid referencing files from DESTDIR during build process.
|
|
Avoid creating some static libraries unless configured --enable-static_link.
|
|
Enable use of cached metadata for pvs and pvdisplay commands.
|
|
Add missing 'device-mapper' internal subdir build dependency.
|
|
Fix memory leak in mirror allocation code.
|
|
Save and restore the previous logging level when log level is changed.
|
|
Fix error message when archive initialization fails.
|
|
Make sure clvmd-corosync releases the lockspace when it exits.
|
|
Fix segfault for vgcfgrestore on VG with missing PVs.
|
|
Block SIGTERM & SIGINT in clvmd subthreads.
|
|
Detect and conditionally wipe swapspace signatures in pvcreate.
|
|
Fix maximal volume count check for snapshots if max_lv set for volume group.
|
|
Fix lvcreate to remove unused cow volume if the snapshot creation fails.
|
|
Fix error messages when PV uuid or pe_start reading fails.
|
|
Build new liblvm application-level library.
|
|
Rename liblvm.a to liblvm-internal.a.
|
|
Flush memory pool and fix locking in clvmd refresh and backup command.
|
|
Fix unlocks in clvmd-corosync. (2.02.45)
|
|
Fix error message when adding metadata directory to internal list fails.
|
|
Fix size and error message of memory allocation at backup initialization.
|
|
Remove old metadata backup file after renaming VG.
|
|
Restore log_suppress state when metadata backup file is up-to-date.
|
|
|
|
Version 2.02.45 - 3rd March 2009
|
|
================================
|
|
Avoid scanning empty metadata areas for VG names.
|
|
Attempt proper clean up in child before executing new binary in exec_cmd().
|
|
Do not scan devices if reporting only attributes from PV label.
|
|
Use pkgconfig to obtain corosync library details during configuration.
|
|
Fix error returns in clvmd-corosync interface to DLM.
|
|
Add --refresh to vgchange and vgmknodes man pages.
|
|
Pass --test from lvresize to fsadm as --dry-run.
|
|
Supply argv[] list to exec_cmd() to allow for variable number of parameters.
|
|
Prevent fsadm from checking mounted filesystems.
|
|
No longer treats any other key as 'no' when prompting in fsadm.
|
|
Tidy fsadm command line processing.
|
|
Add lib/lvm.h and lib/lvm_base.c for the new library interface.
|
|
Move tools/version.h to lib/misc/lvm-version.h.
|
|
Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE.
|
|
Add system_dir parameter to create_toolcontext().
|
|
Add --dataalignment to pvcreate to specify alignment of data area.
|
|
Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking.
|
|
Provide da and mda locations in debug message when writing text format label.
|
|
Mention the restriction on file descriptors at invocation on the lvm man page.
|
|
Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames.
|
|
No longer require kernel and metadata major numbers to match.
|
|
Add a fully-functional get_cluster_name() to clvmd corosync interface.
|
|
Remove duplicate cpg_initialize from clvmd startup.
|
|
Add option to /etc/sysconfig/cluster to select cluster type for clvmd.
|
|
Allow clvmd to start up if its lockspace already exists.
|
|
Separate PV label attributes which do not need parse metadata when reporting.
|
|
Remove external dependency on the 'cut' command from fsadm.
|
|
Fix pvs segfault when pv mda attributes requested for not available PV.
|
|
Add fsadm support for reszing ext4 filesysystems.
|
|
Move locking_type reading inside init_locking().
|
|
Rename get_vgs() to get_vgnames() and clarify related error messages.
|
|
Allow clvmd to be built with all cluster managers & select one on cmdline.
|
|
Mention --with-clvmd=corosync in ./configure.
|
|
Replace internal vg_check_status() implementation.
|
|
Rename vg_read() to vg_read_internal().
|
|
|
|
Version 2.02.44 - 26th January 2009
|
|
===================================
|
|
Fix --enable-static_link after the recent repository changes.
|
|
Add corosync/DLM cluster interface to clvmd.
|
|
Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages.
|
|
Fix lvresize size conversion for fsadm when block size is not 1K.
|
|
Fix pvs segfault when run with orphan PV and some VG fields.
|
|
Display a 'dev_size' of zero for missing devices in reports.
|
|
Add pv_mda_size to pvs and vg_mda_size to vgs.
|
|
Fix lvmdump /sys listing to include virtual devices directory.
|
|
Add "--refresh" functionality to vgchange and vgmknodes.
|
|
Avoid exceeding LV size when wiping device.
|
|
Calculate mirror log size instead of using 1 extent.
|
|
Ensure requested device number is available before activating with it.
|
|
Fix incorrect exit status from 'help <command>'.
|
|
Fix vgrename using UUID if there are VGs with identical names.
|
|
Fix segfault when invalid field given in reporting commands.
|
|
Move is_static from cmd to global is_static().
|
|
Refactor init_lvm() for lvmcmdline and clvmd.
|
|
Add liblvm interactive test infrastructure to build.
|
|
Add skeleton lvm2.h file in preparation for a shared library interface.
|
|
Use better random seed value in temp file creation.
|
|
Add read_urandom to read /dev/urandom. Use in uuid calculation.
|
|
Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout.
|
|
Fix race in vgcreate that would result in second caller overwriting first.
|
|
Fix uninitialised lv_count in vgdisplay -c.
|
|
Don't skip updating pvid hash when lvmcache_info struct got swapped.
|
|
Add tinfo to termcap search path for pld-linux.
|
|
Fix startup race in clvmd.
|
|
Generate Red Hat clvmd startup script at config time with correct paths.
|
|
Fix clvmd & dmeventd builds after tree restructuring.
|
|
Cope with snapshot dependencies when removing a whole VG with lvremove.
|
|
Make man pages and tool help text consistent using | for alternative options.
|
|
|
|
Version 2.02.43 - 10th November 2008
|
|
====================================
|
|
Merge device-mapper into the lvm2 tree.
|
|
Correct prototype for --permission on lvchange and lvcreate man pages.
|
|
Exit with non-zero status from vgdisplay if couldn't show any requested VG.
|
|
Move list.c into libdevmapper and rename functions.
|
|
Rename a couple of variables that matched function names.
|
|
Use simplified x.y.z version number in libdevmapper.pc.
|
|
Remove ancient debian directory.
|
|
Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch].
|
|
|
|
Version 2.02.42 - 26th October 2008
|
|
===================================
|
|
Accept locking fallback_to_* options in the global section as documented.
|
|
Fix temp table activation in mirror conversions not to happen in other cmds.
|
|
Fix temp table in mirror conversions to use always-present error not zero.
|
|
|
|
Version 2.02.41 - 17th October 2008
|
|
===================================
|
|
Use temp table to set device size when converting mirrors.
|
|
In resume_mirror_images replace activate_lv with resume_lv as workaround.
|
|
Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE.
|
|
Fix snapshot monitoring library to not cancel monitoring invalid snapshot.
|
|
Generate man pages from templates and include version.
|
|
Add usrlibdir and usrsbindir to configure.
|
|
Fix conversion of md chunk size into sectors.
|
|
Free text metadata buffer after a failure writing it.
|
|
Fix misleading error message when there are no allocatable extents in VG.
|
|
Fix handling of PVs which reappeared with old metadata version.
|
|
Fix mirror DSO to call vgreduce with proper parameters.
|
|
Fix validation of --minor and --major in lvcreate to require -My always.
|
|
Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning.
|
|
|
|
Version 2.02.40 - 19th September 2008
|
|
=====================================
|
|
Allow lvremove to remove LVs from VGs with missing PVs.
|
|
In VG with PVs missing, by default allow activation of LVs that are complete.
|
|
Track PARTIAL_LV and MISSING_PV flags internally.
|
|
Require --force with --removemissing in vgreduce to remove partial LVs.
|
|
No longer write out PARTIAL flag into metadata backups.
|
|
Treat new default activation/missing_stripe_filler "error" as an error target.
|
|
Remove internal partial_mode.
|
|
Add devices/md_chunk_alignment to lvm.conf.
|
|
Pass struct physical_volume to pe_align and adjust for md chunk size.
|
|
Store sysfs location in struct cmd_context.
|
|
Avoid shuffling remaining mirror images when removing one, retaining primary.
|
|
Add missing LV error target activation in _remove_mirror_images.
|
|
Prevent resizing an LV while lvconvert is using it.
|
|
Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan.
|
|
Fix pvresize to not allow resize if PV has two metadata areas.
|
|
Fix setting of volume limit count if converting to lvm1 format.
|
|
Fix vgconvert logical volume id metadata validation.
|
|
Fix lvmdump metadata gather option (-m) to work correctly.
|
|
Fix allocation bug in text metadata format write error path.
|
|
Fix vgcfgbackup to properly check filename if template is used.
|
|
configure aborts if lcov or genhtml are missing with --enable-profiling
|
|
vgremove tries to remove lv snapshot first.
|
|
Added function lv_remove_with_dependencies().
|
|
Improve file descriptor leak detection to display likely culprit and filename.
|
|
Change clustered mirror kernel module name from cmirror to dm-log-clustered.
|
|
Avoid looping forever in _pv_analyze_mda_raw used by pvck.
|
|
Change lvchange exit status to indicate if any part of the operation failed.
|
|
Fix pvchange and pvremove to handle PVs without mdas.
|
|
Refactor _text_pv_read and always return mda list if requested.
|
|
Fix configure to work w/o readline unless --enable-readline used. (2.02.39)
|
|
Remove is_lvm_partition template which has not yet been coded.
|
|
Refactor pvcreate to separate parameter parsing from validation logic.
|
|
Check for label_write() failure in _text_pv_write().
|
|
Add pvcreate tests and update vgsplit tests to handle lvm1 and lvm2 metadata.
|
|
Fix pvchange -M1 -u to preserve existing extent locations when there's a VG.
|
|
Cease recognising snapshot-in-use percentages returned by early devt kernels.
|
|
Add backward-compatible flags field to on-disk format_text metadata.
|
|
Fix dmeventd monitoring libraries to link against liblvm2cmd again. (2.02.39)
|
|
|
|
Version 2.02.39 - 27th June 2008
|
|
================================
|
|
Enable readline by default if available.
|
|
Update autoconf to 2008-01-16.
|
|
Add $DISTCLEAN_DIRS to make.tmpl.in.
|
|
Create coverage reports with --enable-profiling and make lcov or lcov-dated.
|
|
Fix up cache for PVs without mdas after consistent VG metadata is processed.
|
|
Update validation of safe mirror log type conversions in lvconvert.
|
|
Fix lvconvert to disallow snapshot and mirror combinations.
|
|
Fix reporting of LV fields alongside unallocated PV segments.
|
|
Add --unquoted and --rows to reporting tools.
|
|
Add and use uninitialized_var() macro to suppress invalid compiler warnings.
|
|
Introduce enum for md minor sb version to suppress compiler warning.
|
|
Avoid undefined return value after _memlock manipulation in lvm2_run.
|
|
Avoid link failure if configured without --enable-cmdlib or --enable-readline.
|
|
Make clvmd return at once if other nodes down in a gulm or openais cluster.
|
|
Fix and improve readahead 'auto' calculation for stripe_size.
|
|
Fix lvchange output for -r auto setting if auto is already set.
|
|
Add test case for readahead.
|
|
Avoid ambiguous use of identifier error_message_produced.
|
|
Begin syncing configure.in for merge/unification with device-mapper.
|
|
Fix add_mirror_images not to dereference uninitialized log_lv upon failure.
|
|
Don't call openlog for every debug line output by clvmd.
|
|
Add --force to lvextend and lvresize.
|
|
Fix vgchange not to activate component mirror volumes directly.
|
|
Fix test directory clean up in make distclean.
|
|
|
|
Version 2.02.38 - 11th June 2008
|
|
================================
|
|
Fix tracking of validity of PVs with no mdas in lvmcache.
|
|
Fix return values for reporting commands when run with no PVs, LVs, or VGs.
|
|
Add omitted unlock_vg() call when sigint_caught() during vg processing.
|
|
Fix free_count when reading pool metadata.
|
|
Fix segfault when using pvcreate on a device containing pool metadata.
|
|
Fix segfault after _free_vginfo by remembering to remove vginfo from list.
|
|
Tweak detection of invalid fid after changes to PVs in VG in _vg_read.
|
|
Revert assuming precommitted metadata is live when activating (unnecessary).
|
|
Drop cached metadata for disappearing VG in vgmerge.
|
|
In script-processing mode, stop if any command fails.
|
|
Warn if command exits with non-zero status code without a prior log_error.
|
|
Check lv_count in vg_validate.
|
|
Add --nameprefixes to reporting tools for field name prefix output format.
|
|
|
|
Version 2.02.37 - 6th June 2008
|
|
===============================
|
|
Make clvmd-cman use a hash rather than an array for node updown info.
|
|
Correct config file line numbers in messages when parsing comments.
|
|
Drop cached metadata when renaming a VG.
|
|
Allow for vginfo changing during _vg_read.
|
|
Decode numbers in clvmd debugging output.
|
|
Add missing deactivation after activation failure in lvcreate -Zy.
|
|
When activating, if precommitted metadata is still cached, assume it's live.
|
|
When removing LV symlinks, skip any where the VG name is not determined.
|
|
Drop metadata cache if update fails in vg_revert or vg_commit.
|
|
Avoid spurious duplicate VG messages referring to VGs that are gone.
|
|
Drop dev_name_confirmed error message to debug level.
|
|
Fix setpriority error message to signed int.
|
|
Temporarily disable dmeventd mirror monitoring during lvchange --resync.
|
|
Refactor some vginfo manipulation code.
|
|
Add assertions to trap deprecated P_ and V_ lock usage.
|
|
Add missing mutex around clvmd lvmcache_drop_metadata library call.
|
|
Fix uninitialised mutex in clvmd if all daemons are not running at startup.
|
|
Avoid using DLM locks with LCK_CACHE type P_ lock requests.
|
|
When asked to drop cached committed VG metadata, invalidate cached PV labels.
|
|
Drop metadata cache before writing precommitted metadata instead of after.
|
|
Don't touch /dev in vgrename if activation is disabled.
|
|
|
|
Version 2.02.36 - 29th April 2008
|
|
=================================
|
|
Fix fsadm.sh to work with older blockdev, blkid & readlink binaries.
|
|
Fix lvresize to pass new size to fsadm when extending device.
|
|
Remove unused struct in clvmd-openais, and use correct node count.
|
|
Fix nodes list in clvmd-openais, and allow for broadcast messages.
|
|
Exclude VG_GLOBAL from internal concurrent VG lock counter.
|
|
Fix vgsplit internal counting of snapshot LVs.
|
|
Fix vgmerge snapshot_count when source VG contains snapshots.
|
|
Simplify clvmd-openais by using non-async saLckResourceLock.
|
|
Fix internal LV counter when a snapshot is removed.
|
|
Fix metadata corruption writing lvm1-formatted metadata with snapshots.
|
|
Fix lvconvert -m0 allocatable space check.
|
|
|
|
Version 2.02.35 - 15th April 2008
|
|
=================================
|
|
Drop cached VG metadata before and after committing changes to it.
|
|
Rename P_global to P_#global.
|
|
Don't attempt remote metadata backups of non-clustered VGs. (2.02.29)
|
|
Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34)
|
|
Update vgsplit tests to verify loosening of active LV restriction.
|
|
Update vgsplit to only restrict split with active LVs involved in split.
|
|
Add lv_is_active() to determine whether an lv is active.
|
|
|
|
Version 2.02.34 - 10th April 2008
|
|
=================================
|
|
Improve preferred_names lvm.conf example.
|
|
Fix vgdisplay 'Cur LV' field to match lvdisplay output.
|
|
Fix lv_count report field to exclude hidden LVs.
|
|
Add vg_is_clustered() helper function.
|
|
Fix vgsplit to only move hidden 'snapshotN' LVs when necessary.
|
|
Update vgsplit tests for lvnames on the cmdline.
|
|
Update vgsplit man page to reflect lvnames on the cmdline.
|
|
Update vgsplit to take "-n LogicalVolumeName" on the cmdline.
|
|
Use clustered mirror log with pvmove in clustered VGs, if available.
|
|
Fix some pvmove error status codes.
|
|
Fix vgsplit error paths to release vg_to lock.
|
|
Indicate whether or not VG is clustered in vgcreate log message.
|
|
Mention default --clustered setting in vgcreate man page.
|
|
Add config file overrides to clvmd when it reads the active LVs list.
|
|
Fix vgreduce to use vg_split_mdas to check sufficient mdas remain.
|
|
Add (empty) orphan VGs to lvmcache during initialisation.
|
|
Fix orphan VG name used for format_pool.
|
|
Create a fid for internal orphan VGs.
|
|
Update lvmcache VG lock state for all locking types now.
|
|
Fix output if overriding command_names on cmdline.
|
|
Add detection of clustered mirror log capability.
|
|
Add check to vg_commit() ensuring VG lock held before writing new VG metadata.
|
|
Add validation of LV name to pvmove -n.
|
|
Make clvmd refresh the context correctly when lvm.conf is updated.
|
|
Add some basic internal VG lock validation.
|
|
Add per-command flags to control which commands use the VG metadata cache.
|
|
Fix vgsplit locking of new VG (2.02.30).
|
|
Avoid erroneous vgsplit error message for new VG. (2.02.29)
|
|
Suppress duplicate message when lvresize fails because of invalid vgname.
|
|
Cache VG metadata internally while VG lock is held.
|
|
Fix redundant lvresize message if vg doesn't exist.
|
|
Fix another allocation bug with clvmd and large node IDs.
|
|
Add find_lv_in_lv_list() and find_pv_in_pv_list().
|
|
Fix uninitialised variable in clvmd that could cause odd hangs.
|
|
Add vgmerge tests.
|
|
Add pvseg_is_allocated() for identifying a PV segment allocated to a LV.
|
|
Add list_move() for moving elements from one list to another.
|
|
Add 'is_reserved_lvname()' for identifying hidden LVs.
|
|
Correct command name in lvmdiskscan man page.
|
|
clvmd no longer crashes if it sees nodeids over 50.
|
|
Fix potential deadlock in clvmd thread handling.
|
|
Refactor text format initialisation into _init_text_import.
|
|
Escape double quotes and backslashes in external metadata and config data.
|
|
Add functions for escaping double quotes in strings.
|
|
Rename count_chars_len to count_chars.
|
|
Use return_0 in a couple more places.
|
|
Correct a function name typo in _line_append error message.
|
|
Include limits.h in clvmd so it compiles with newer headers.
|
|
Add VirtIO disks (virtblk) to filters.
|
|
Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV. (2.02.30)
|
|
Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30)
|
|
Add missing no-longer-used segs_using_this_lv test to check_lv_segments.
|
|
Remove redundant non-NULL tests before calling free in clvmd.c.
|
|
Avoid a compiler warning: make is_orphan's parameter const.
|
|
Fix lvconvert detection of mirror conversion in progress. (2.02.30)
|
|
Avoid automatic lvconvert polldaemon invocation when -R specified. (2.02.30)
|
|
Fix 'pvs -a' to detect VGs of PVs without metadata areas.
|
|
Divide up internal orphan volume group by format type.
|
|
Update usage message for clvmd.
|
|
Fix clvmd man page not to print <br> and clarified debug options.
|
|
Fix lvresize to support /dev/mapper prefix in the LV name.
|
|
Fix unfilled parameter passed to fsadm from lvresize.
|
|
Update fsadm to call lvresize if the partition size differs (with option -l).
|
|
Fix fsadm to support VG/LV names.
|
|
|
|
Version 2.02.33 - 31st January 2008
|
|
===================================
|
|
Fix mirror log name construction during lvconvert. (2.02.30)
|
|
Make monitor_dev_for_events recurse through the stack of LVs.
|
|
Clean up some more compiler warnings.
|
|
Some whitespace tidy-ups.
|
|
Use stack return macros throughout.
|
|
Rely upon internally-cached PV labels while corresponding VG lock is held.
|
|
|
|
Version 2.02.32 - 29th January 2008
|
|
===================================
|
|
Fix two check_lv_segments error messages to show whole segment.
|
|
Refactor mirror log attachment code.
|
|
Fix internal metadata corruption in lvchange --resync. (2.02.30)
|
|
Fix new parameter validation in vgsplit and test mode. (2.02.30)
|
|
Remove redundant cnxman-socket.h file from clvmd directory.
|
|
Fix pvs, vgs, lvs error exit status on some error paths.
|
|
|
|
Version 2.02.31 - 19th January 2008
|
|
===================================
|
|
Fix lvcreate --nosync not to wait for non-happening sync. (2.02.30)
|
|
Add very_verbose lvconvert messages.
|
|
Avoid readahead error message with default setting of lvcreate -M1. (2.02.29)
|
|
|
|
Version 2.02.30 - 17th January 2008
|
|
===================================
|
|
Set default readahead to twice maximium stripe size.
|
|
Reinstate VG extent size and stripe size defaults (halved). (2.02.29)
|
|
Add lists of stacked LV segments using each LV to the internal metadata.
|
|
Change vgsplit -l (for unimplemented --list) into --maxlogicalvolumes.
|
|
Fix process_all_pvs to detect non-orphans with no MDAs correctly.
|
|
Don't use block_on_error with mirror targets version 1.12 and above.
|
|
Update vgsplit to accept vgcreate options when new VG is destination.
|
|
Update vgsplit to accept existing VG as destination.
|
|
lvconvert waits for completion of initial sync by default.
|
|
Refactor vgcreate for parameter validation and add tests.
|
|
Add new convert_lv field to lvs output.
|
|
Print warning when lvm tools are running as non-root.
|
|
Add snapshot dmeventd library (enables dmeventd snapshot monitoring).
|
|
Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs.
|
|
Fix a segfault if using pvs with --all argument. (2.02.29)
|
|
Update --uuid argument description in man pages.
|
|
Fix vgreduce PV list processing not to process every PV in the VG. (2.02.29)
|
|
Extend lvconvert to use polldaemon.
|
|
Add support for stacked mirrors.
|
|
Major restructuring of pvmove and lvconvert layer manipulation code.
|
|
Replace tools/fsadm with scripts/fsadm.sh.
|
|
Append fields to report/pvsegs_cols_verbose.
|
|
Permit LV segment fields with PV segment reports.
|
|
Add seg_start_pe and seg_pe_ranges to reports.
|
|
|
|
Version 2.02.29 - 5th December 2007
|
|
===================================
|
|
Make clvmd backup vg metadata on remote nodes.
|
|
Refactor pvmove allocation code.
|
|
Decode cluster locking state in log message.
|
|
Change file locking state messages from debug to very verbose.
|
|
Fix --addtag to drop @ prefix from name.
|
|
Stop clvmd going haywire if a pre_function fails.
|
|
Convert some vg_reads into vg_lock_and_reads.
|
|
Avoid nested vg_reads when processing PVs in VGs and fix associated locking.
|
|
Accept sizes with --readahead argument.
|
|
Store size arguments as sectors internally.
|
|
Attempt to remove incomplete LVs with lvcreate zeroing/activation problems.
|
|
Add read_ahead activation code.
|
|
Add activation/readahead configuration option and FMT_RESTRICTED_READAHEAD.
|
|
Extend readahead arg to accept "auto" and "none".
|
|
Add lv_read_ahead and lv_kernel_read_ahead fields to reports and lvdisplay.
|
|
Prevent lvconvert -s from using same LV as origin and snapshot.
|
|
Fix human-readable output of odd numbers of sectors.
|
|
Add pv_mda_free and vg_mda_free fields to reports for raw text format.
|
|
Add LVM2 version to 'Generated by' comment in metadata.
|
|
Show 'not usable' space when PV is too large for device in pvdisplay.
|
|
Ignore and fix up any excessive device size found in metadata.
|
|
Fix error message when fixing up PV size in lvm2 metadata (2.02.11).
|
|
Fix orphan-related locking in pvdisplay and pvs.
|
|
Fix missing VG unlocks in some pvchange error paths.
|
|
Add some missing validation of VG names.
|
|
Rename validate_vg_name() to validate_new_vg_name().
|
|
Change orphan lock to VG_ORPHANS.
|
|
Change format1 to use ORPHAN as orphan VG name.
|
|
Convert pvchange, pvdisplay, pvscan to use is_orphan()
|
|
Add is_orphan_vg() and change all hard-coded checks to use it.
|
|
Detect md superblocks version 1.0, 1.1 and 1.2.
|
|
Add _alloc_pv() and _free_pv() from _pv_create() code and fix error paths.
|
|
Add pv_dev_name() to access PV device name.
|
|
Add const attributes to pv accessor functions.
|
|
Refactor vg_add_snapshot() and lv_create_empty().
|
|
Handle new sysfs subsystem/block/devices directory structure.
|
|
Run test with LVM_SYSTEM_DIR pointing to private root and /dev dirs.
|
|
Fix a bug in lvm_dump.sh checks for lvm/dmsetup binaries.
|
|
Fix underquotations in lvm_dump.sh.
|
|
Refactor lvcreate stripe and mirror parameter validation.
|
|
Print --help output to stdout, not stderr.
|
|
After a cmdline processing error, don't print help text but suggest --help.
|
|
Add %PVS extents option to lvresize, lvextend, and lvcreate.
|
|
Add 'make check' to run tests in new subdirectory 'test'.
|
|
Moved the obsolete test subdirectory to old-tests.
|
|
Cope with relative paths in configure --with-dmdir.
|
|
Remove no-longer-correct restrictions on PV arg count with stripes/mirrors.
|
|
Fix strdup memory leak in str_list_dup().
|
|
Link with -lpthread when static SELinux libraries require that.
|
|
Detect command line PE values that exceed their 32-bit range.
|
|
Include strerror string in dev_open_flags' stat failure message.
|
|
Move guts of pvresize into library.
|
|
Avoid error when --corelog is provided without --mirrorlog. (2.02.28)
|
|
Correct --mirrorlog argument name in man pages (not --log).
|
|
Clear MIRROR_NOTSYNCED LV flag when converting from mirror to linear.
|
|
Modify lvremove to prompt for removal if LV active on other cluster nodes.
|
|
Add '-f' to vgremove to force removal of VG even if LVs exist.
|
|
|
|
Version 2.02.28 - 24th August 2007
|
|
==================================
|
|
Fix clvmd logging so you can get lvm-level debugging out of it.
|
|
Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R.
|
|
Change locking_flags from int to uint32_t.
|
|
Fix clvmd -R, so it fully refreshes the caches.
|
|
Change lvconvert_mirrors to use mirror segtype not striped.
|
|
Fix lvconvert_mirrors detection of number of existing mirrors.
|
|
Clean up numerous compiler warnings that appeared in recent releases.
|
|
Remove several unused parameters from _allocate().
|
|
Only permit --force, --verbose and --debug arguments to be repeated.
|
|
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
|
|
Move guts of vgremove and lvremove into library, including yes_no_prompt.
|
|
Allow clvmd debug to be turned on in a running daemon using clvmd -d [-C].
|
|
Update to use autoconf 2.61, while still supporting 2.57.
|
|
Add more cluster info to lvmdump.
|
|
Add further const attributes throughout.
|
|
Add support for renaming mirrored LVs.
|
|
Factor out core of lvrename() to library function.
|
|
Add --mirrorlog argument to specify log type for mirrors.
|
|
Don't attempt to monitor devices if their creation failed in _lv_activate.
|
|
Don't leak a file descriptor in fcntl_lock_file() when fcntl fails.
|
|
Replace create_dir with dm_create_dir.
|
|
Detect stream write failure reliably with lvm_fclose using dm_fclose.
|
|
Fix clvmd if compiled with gulm support. (2.02.26)
|
|
Fix lvdisplay man page to say LV size is reported in sectors, not KB.
|
|
Add vg_lock_and_read() external library function.
|
|
Fix loading of persistent cache if cache_dir is used. (2.02.23)
|
|
Reduce _compare_paths lstat error message from log_error to log_very_verbose.
|
|
Create util.h with last_path_component replacing strdup + basename.
|
|
Use gcc's printf attribute wherever possible.
|
|
In _line_append, use "sizeof buf - 1" rather than equivalent "4095".
|
|
Introduce is_same_inode macro, now including a comparison of st_dev.
|
|
Don't leak a file descriptor in _lock_file() when flock fails.
|
|
Add SUN's LDOM virtual block device (vdisk) and ps3disk to filters.
|
|
Split metadata-external.h out from metadata.h for the tools to use.
|
|
|
|
Version 2.02.27 - 17th July 2007
|
|
================================
|
|
Fix snapshot cow area deactivation if origin is not active. (2.02.13)
|
|
Fix configure libdevmapper.h check when --with-dmdir is used.
|
|
Turn _add_pv_to_vg() into external library function add_pv_to_vg().
|
|
Add pv_by_path() external library function.
|
|
Tidy clvmd-openais of redundant bits, and improve an error report.
|
|
Cope with find_seg_by_le() failure in check_lv_segments().
|
|
Call dev_iter_destroy() if _process_all_devs() is interrupted by sigint.
|
|
Add vg_mda_count and pv_mda_count columns to reports.
|
|
Fix dumpconfig to use log_print instead of stdout directly.
|
|
Remove unused parameter 'fid' from _add_pv_to_vg.
|
|
Add kernel and device-mapper targets versions to lvmdump.
|
|
Replace BSD (r)index with C89 str(r)chr.
|
|
Handle vgsplit of an entire VG as a vgrename.
|
|
Reinitialise internal lvmdiskscan variables when called repeatedly.
|
|
Fix missing lvm_shell symbol in lvm2cmd library. (2.02.23)
|
|
Add vg_status function and clean up vg->status in tools directory.
|
|
Add --ignoremonitoring to disable all dmeventd interaction.
|
|
Remove get_ prefix from get_pv_* functions.
|
|
clvmd-openais now uses cpg_local_get() to get nodeid, rather than Clm.
|
|
Print warnings to stderr instead of stdout.
|
|
|
|
Version 2.02.26 - 15th June 2007
|
|
================================
|
|
Update vgcfgrestore man page.
|
|
Allow keyboard interrupt during user prompts when appropriate.
|
|
Remove unused clvmd system-lv code.
|
|
Replace many physical_volume struct dereferences with new get_pv_* functions.
|
|
Suppress a benign compile-time warning.
|
|
Convert find_pv_in_vg_by_uuid and pv_create to use PV handles.
|
|
Add wrappers to some functions in preparation for external LVM library.
|
|
Add -f to vgcfgrestore to list metadata backup files.
|
|
Add vg_check_status to consolidate vg status checks and error messages.
|
|
Add pvdisplay --maps implementation.
|
|
Remove unsupported LVM1 options from vgcfgrestore man page.
|
|
Update vgcfgrestore man page to show mandatory VG name.
|
|
Update vgrename man page to include UUID and be consistent with lvrename.
|
|
Add (experimental) OpenAIS support to clvmd.
|
|
Fix deactivation code to follow dependencies and remove symlinks.
|
|
Fix and clarify vgsplit error messages.
|
|
Fix a segfault in device_is_usable() if a device has no table.
|
|
Add some more debug messages to clvmd startup.
|
|
Misc clvmd cleanups.
|
|
|
|
Version 2.02.25 - 27th April 2007
|
|
=================================
|
|
Fix get_config_uint64() to read a 64-bit value not a 32-bit one.
|
|
Add -Wformat-security and change one fprintf() to fputs().
|
|
Move regex functions into libdevmapper.
|
|
Change some #include lines to search only standard system directories.
|
|
Add devices/preferred_names config regex list for displayed device names.
|
|
Free a temporary dir string in fcntl_lock_file() after use.
|
|
Fix a dm_pool_destroy() in matcher_create().
|
|
Introduce goto_bad macro.
|
|
Fix warnings on x86_64 involving ptrdiff_t in log_error messages.
|
|
Update pvck to include text metadata area and record detection.
|
|
Add support functions for token counting in config file extracts.
|
|
Update pvck to read labels on disk, with --labelsector parameter.
|
|
Add count_chars and count_chars_len functions.
|
|
Add /sys/block listings to lvm_dump.sh.
|
|
Make lvm_dump.sh list /dev recursively.
|
|
Fix thread race in clvmd.
|
|
Add scan_sector param to label_read and _find_labeller.
|
|
Make clvmd cope with quorum devices.
|
|
Add extra internal error checking to clvmd.
|
|
Add dev_read_circular.
|
|
Add pvck command stub.
|
|
Update lists of attribute characters in man pages.
|
|
Change cling alloc policy attribute character from 'C' to l'.
|
|
Fix creation and conversion of mirrors with tags.
|
|
Fix vgsplit for lvm1 format (set and validate VG name in PVs metadata).
|
|
Split metadata areas in vgsplit properly.
|
|
|
|
Version 2.02.24 - 19th March 2007
|
|
=================================
|
|
Fix processing of exit status in init scripts
|
|
Fix vgremove to require at least one vg argument.
|
|
Fix reading of striped LVs in LVM1 format.
|
|
Flag nolocking as clustered so clvmd startup sees clustered LVs. (2.02.10)
|
|
Add a few missing pieces of vgname command line validation.
|
|
Support the /dev/mapper prefix on most command lines.
|
|
|
|
Version 2.02.23 - 8th March 2007
|
|
================================
|
|
Fix vgrename active LV check to ignore differing vgids.
|
|
Remove no-longer-used uuid_out parameter from activation info functions.
|
|
Fix two more segfaults if an empty config file section encountered.
|
|
Move .cache file into a new /etc/lvm/cache directory by default.
|
|
Add devices/cache_dir & devices/cache_file_prefix, deprecating devices/cache.
|
|
Create directory in fcntl_lock_file() if required.
|
|
Exclude readline support from lvm.static.
|
|
Fix a leak in a reporting error path (2.02.19).
|
|
|
|
Version 2.02.22 - 13th February 2007
|
|
====================================
|
|
Correct -b and -P on a couple of man pages.
|
|
Add global/units to example.conf.
|
|
Fix loading of segment_libraries.
|
|
If a PV reappears after it was removed from its VG, make it an orphan.
|
|
Don't update metadata automatically if VGIDs don't match.
|
|
Fix some vgreduce --removemissing command line validation.
|
|
|
|
Version 2.02.21 - 30th January 2007
|
|
===================================
|
|
Add warning to lvm2_monitoring_init_rhel4 if attempting to stop monitoring.
|
|
Fix vgsplit to handle mirrors.
|
|
Reorder fields in reporting field definitions.
|
|
Fix vgs to treat args as VGs even when PV fields are displayed.
|
|
Fix md signature check to handle both endiannesses.
|
|
|
|
Version 2.02.20 - 25th January 2007
|
|
===================================
|
|
dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors.
|
|
Add devices/ignore_suspended_devices to ignore suspended dm devices.
|
|
Add some missing close() and fclose() return code checks.
|
|
Fix exit statuses of reporting tools (2.02.19).
|
|
Add init script for dmeventd monitoring.
|
|
lvm.static no longer interacts with dmeventd unless explicitly asked to.
|
|
Add field definitions to report help text.
|
|
Remove unnecessary cmd arg from target_*monitor_events().
|
|
Add private variable to dmeventd shared library interface.
|
|
Long-lived processes write out persistent dev cache in refresh_toolcontext().
|
|
Fix refresh_toolcontext() always to wipe persistent device filter cache.
|
|
Add is_long_lived to toolcontext.
|
|
Add --clustered to man pages.
|
|
Streamline dm_report_field_* interface.
|
|
Change remaining dmeventd terminology 'register' to 'monitor'.
|
|
Update reporting man pages.
|
|
No longer necessary to specify alignment type for report fields.
|
|
|
|
Version 2.02.19 - 17th January 2007
|
|
===================================
|
|
Fix a segfault if an empty config file section encountered.
|
|
Move basic reporting functions into libdevmapper.
|
|
Fix partition table processing after sparc changes (2.02.16).
|
|
Fix cmdline PE range processing segfault (2.02.13).
|
|
Some libdevmapper-event interface changes.
|
|
Report dmeventd mirror monitoring status.
|
|
Fix dmeventd mirror status line processing.
|
|
|
|
Version 2.02.18 - 11th January 2007
|
|
===================================
|
|
Revised libdevmapper-event interface for dmeventd.
|
|
Remove dmeventd mirror status line word limit.
|
|
Use CFLAGS when linking so mixed sparc builds can supply -m64.
|
|
Prevent permission changes on active mirrors.
|
|
Print warning instead of error message if lvconvert cannot zero volume.
|
|
Add snapshot options to lvconvert man page.
|
|
dumpconfig accepts a list of configuration variables to display.
|
|
Change dumpconfig to use --file to redirect output to a file.
|
|
Avoid vgreduce error when mirror code removes the log LV.
|
|
Remove 3 redundant AC_MSG_RESULTs from configure.in.
|
|
Free memory in _raw_read_mda_header() error paths.
|
|
Fix ambiguous vgsplit error message for split LV.
|
|
Fix lvextend man page typo.
|
|
Add configure --with-dmdir to compile against a device-mapper source tree.
|
|
Use no flush suspending for mirrors.
|
|
Add dmeventd_mirror register_mutex, tidy initialisation & add memlock.
|
|
Fix create mirror with name longer than 22 chars.
|
|
Fix some activate.c prototypes when compiled without devmapper.
|
|
Fix dmeventd mirror to cope if monitored device disappears.
|
|
|
|
Version 2.02.17 - 14th December 2006
|
|
====================================
|
|
Add missing pvremove error message when device doesn't exist.
|
|
When lvconvert allocates a mirror log, respect parallel area constraints.
|
|
Use loop to iterate through the now-ordered policy list in _allocate().
|
|
Check for failure to allocate just the mirror log.
|
|
Introduce calc_area_multiple().
|
|
Support mirror log allocation when there is only one PV: area_count now 0.
|
|
Fix detection of smallest area in _alloc_parallel_area() for cling policy.
|
|
Add manpage entry for clvmd -T
|
|
Fix gulm operation of clvmd, including a hang when doing lvchange -aey
|
|
Fix hang in clvmd if a pre-command failed.
|
|
|
|
Version 2.02.16 - 1st December 2006
|
|
===================================
|
|
Fix VG clustered read locks to use PR not CR.
|
|
Adjust some alignments for ia64/sparc.
|
|
Fix mirror segment removal to use temporary error segment.
|
|
Always compile debug logging into clvmd.
|
|
Add startup timeout to RHEL4 clvmd startup script.
|
|
Add -T (startup timeout) switch to clvmd.
|
|
Improve lvm_dump.sh robustness.
|
|
Update lvm2create_initrd to support gentoo.
|
|
|
|
Version 2.02.15 - 21st November 2006
|
|
====================================
|
|
Fix clvmd_init_rhel4 line truncation (2.02.14).
|
|
Install lvmdump by default.
|
|
Fix check for snapshot module when activating snapshot.
|
|
Fix pvremove error path for case when PV is in use.
|
|
Warn if certain duplicate config file entries are seen.
|
|
Enhance lvm_dump.sh for sysreport integration and add man page.
|
|
Fix --autobackup argument which could never disable backups.
|
|
Fix a label_verify error path.
|
|
|
|
Version 2.02.14 - 10th November 2006
|
|
====================================
|
|
Fix adjusted_mirror_region_size() to handle 64-bit size.
|
|
Add some missing bounds checks on 32-bit extent counters.
|
|
Add Petabyte and Exabyte support.
|
|
Fix lvcreate error message when 0 extents requested.
|
|
lvremove man page: volumes must be cluster inactive before being removed.
|
|
Protect .cache manipulations with fcntl locking.
|
|
Change .cache timestamp comparisons to use ctime.
|
|
Fix mirror log LV writing to set all bits in whole LV.
|
|
Fix clustered VG detection and default runlevels in clvmd_init_rhel4.
|
|
Fix high-level free space check for partial allocations.
|
|
|
|
Version 2.02.13 - 27th October 2006
|
|
===================================
|
|
Add couple of missing files to tools/Makefile CLEAN_TARGETS.
|
|
When adding snapshot leave cow LV mapped device active after zeroing.
|
|
Fix a clvmd debug message.
|
|
Add dev_flush() to set_lv().
|
|
Add lvchange --resync.
|
|
Perform high-level free space check before each allocation attempt.
|
|
Don't allow a node to remove an LV that's exclusively active on anther node.
|
|
Cope if same PV is included more than once in cmdline PE range list.
|
|
Set PV size to current device size if it is found to be zero.
|
|
Add segment parameter to target_present functions.
|
|
|
|
Version 2.02.12 - 16th October 2006
|
|
===================================
|
|
Fix pvdisplay to use vg_read() for non-orphans.
|
|
Fall back to internal locking if external locking lib is missing or fails.
|
|
Retain activation state after changing LV minor number with --force.
|
|
Propagate clustered flag in vgsplit and require resizeable flag.
|
|
|
|
Version 2.02.11 - 12th October 2006
|
|
===================================
|
|
Add clvmd function to return the cluster name. not used by LVM yet.
|
|
Add cling allocation policy.
|
|
Change _check_contiguous() to use _for_each_pv().
|
|
Extend _for_each_pv() to allow termination without error.
|
|
Abstract _is_contiguous().
|
|
Remove duplicated pv arg from _check_contiguous().
|
|
Accept regionsize with lvconvert.
|
|
Add report columns with underscore before field names ending 'size'.
|
|
Correct regionsize default on lvcreate man page (MB).
|
|
Fix clvmd bug that could cause it to die when a node with a long name crashed.
|
|
Add device size to text metadata.
|
|
Fix format_text mda_setup pv->size and pv_setup pe_count calculations.
|
|
Fix _for_each_pv() for mirror with core log.
|
|
Add lvm_dump.sh script to create a tarball of debugging info from a system.
|
|
Capture error messages in clvmd and pass them back to the user.
|
|
Remove unused #defines from filter-md.c.
|
|
Make clvmd restart init script wait until clvmd has died before starting it.
|
|
Add -R to clvmd which tells running clvmds to reload their device cache.
|
|
Add LV column to reports listing kernel modules needed for activation.
|
|
Show available fields if report given invalid field. (e.g. lvs -o list)
|
|
Add timestamp functions with --disable-realtime configure option.
|
|
Add %VG, %LV and %FREE suffices to lvcreate/lvresize --extents arg.
|
|
Fix two potential NULL pointer derefs in error cases in vg_read().
|
|
Separate --enable-cluster from locking lib options in lvmconf.sh.
|
|
Add a missing comma in lvcreate man page.
|
|
|
|
Version 2.02.10 - 19th September 2006
|
|
=====================================
|
|
Fix lvconvert mirror change case detection logic.
|
|
Fix mirror log detachment so it correctly becomes a standalone LV.
|
|
Extend _check_contiguous() to detect single-area LVs.
|
|
Include mirror log (untested) in _for_each_pv() processing.
|
|
Use MIRROR_LOG_SIZE constant.
|
|
Remove struct seg_pvs from _for_each_pv() to generalise.
|
|
Avoid adding duplicates to list of parallel PVs to avoid.
|
|
Fix several incorrect comparisons in parallel area avoidance code.
|
|
Fix segment lengths when flattening existing parallel areas.
|
|
Log existing parallel areas prior to allocation.
|
|
Fix mirror log creation when activation disabled.
|
|
Don't attempt automatic recovery without proper locking.
|
|
When using local file locking, skip clustered VGs.
|
|
Add fallback_to_clustered_locking and fallback_to_local_locking parameters.
|
|
lvm.static uses built-in cluster locking instead of external locking.
|
|
Don't attempt to load shared libraries if built statically.
|
|
Change default locking_lib to liblvm2clusterlock.so.
|
|
Add skip_dev_dir() to process command line VGs.
|
|
Stop clvmd complaining about nodes that have left the cluster.
|
|
Move lvm_snprintf(), split_words() and split_dm_name() into libdevmapper.
|
|
Add lvconvert man page.
|
|
Add mirror options to man pages.
|
|
Prevent mirror renames.
|
|
Move CMDLIB code into separate file and record whether static build.
|
|
|
|
Version 2.02.09 - 17th August 2006
|
|
==================================
|
|
Fix PE_ALIGN for pagesize over 32KB.
|
|
Separate out LVM1_PE_ALIGN and pe_align().
|
|
Add lvm_getpagesize wrapper.
|
|
Add --maxphysicalvolumes to vgchange.
|
|
|
|
Version 2.02.08 - 15th August 2006
|
|
==================================
|
|
Add checks for duplicate LV name, lvid and PV id before writing metadata.
|
|
Report all sanity check failures, not just the first.
|
|
Fix missing lockfs on first snapshot creation.
|
|
Add unreliable --trustcache option to reporting commands.
|
|
Fix locking for mimage removal.
|
|
Fix clvmd_init_rhel4 'status' exit code.
|
|
|
|
Version 2.02.07 - 17th July 2006
|
|
================================
|
|
Fix activation logic in lvchange --persistent.
|
|
Don't ignore persistent minor numbers when activating.
|
|
Use RTLD_GLOBAL when loading shared libraries.
|
|
Add some forgotten memlock checks to _vg_read to protect against full scans.
|
|
Add mutex to dmeventd_mirror to avoid concurrent execution.
|
|
Fix vgreduce --removemissing to return success if VG is already consistent.
|
|
Fix return code if VG specified on command line is not found.
|
|
Fix PV tools to include orphaned PVs in default output again.
|
|
Fixed unaligned access when using clvm.
|
|
Fix an extra dev_close in a label_read error path.
|
|
Append patches to commit emails.
|
|
Fix target_register_events args.
|
|
Prevent snapshots of mirrors.
|
|
Add DISTCLEAN_TARGETS to make template for configure.h.
|
|
More fixes to error paths.
|
|
Fix lvcreate corelog validation.
|
|
Add --config for overriding most config file settings from cmdline.
|
|
Quote arguments when printing command line.
|
|
Remove linefeed from 'initialising logging' message.
|
|
Add 'Completed' debug message.
|
|
Don't attempt library exit after reloading config files.
|
|
Always compile with libdevmapper, even if device-mapper is disabled.
|
|
|
|
Version 2.02.06 - 12th May 2006
|
|
===============================
|
|
Propagate --monitor around cluster.
|
|
Add --monitor to vgcreate and lvcreate to control dmeventd registration.
|
|
Filter LCK_NONBLOCK in clvmd lock_vg.
|
|
Add --nosync to lvcreate with LV flag NOTSYNCED.
|
|
Use mirror's uuid for a core log.
|
|
Add mirror log fault-handling policy.
|
|
Improve mirror warning messages and tidy dmeventd syslog output.
|
|
Propagate nosync flag around cluster.
|
|
Allow vgreduce to handle mirror log failures.
|
|
Add --corelog to lvcreate and lvconvert.
|
|
Create a log header for replacement in-sync mirror log.
|
|
Use set_lv() and dev_set() to wipe sections of devices.
|
|
Add mirror_in_sync() flag to avoid unnecessary resync on activation.
|
|
Add mirror_library description to example.conf.
|
|
Fix uuid_from_num() buffer overrun.
|
|
Make SIZE_SHORT the default for display_size().
|
|
Fix some memory leaks in error paths found by coverity.
|
|
Use C99 struct initialisers.
|
|
Move DEFS into configure.h.
|
|
Clean-ups to remove miscellaneous compiler warnings.
|
|
Improve stripe size validation.
|
|
Increase maximum stripe size limit to physical extent size for lvm2 metadata.
|
|
Fix activation code to check for pre-existing mirror logs.
|
|
Tighten region size validation.
|
|
Ignore empty strings in config files.
|
|
Require non-zero regionsize and document parameter on lvcreate man page.
|
|
Invalidate cache if composition of VG changed externally.
|
|
|
|
Version 2.02.05 - 21st April 2006
|
|
=================================
|
|
Fix vgid string termination in recent cache code.
|
|
|
|
Version 2.02.04 - 19th April 2006
|
|
=================================
|
|
Check for libsepol.
|
|
Add some cflow & scope support.
|
|
Separate out DEFS from CFLAGS.
|
|
Remove inlines and use unique function names.
|
|
|
|
Version 2.02.03 - 14th April 2006
|
|
=================================
|
|
vgrename accepts vgid and exported VG.
|
|
Add --partial to pvs.
|
|
When choosing between identically-named VGs, also consider creation_host.
|
|
Provide total log suppression with 2.
|
|
Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct.
|
|
Add vgid to struct physical_volume and pass with vg_name to some functions.
|
|
If two or more VGs are found with the same name, use one that is not exported.
|
|
Whenever vgname is captured, also capture vgid and whether exported.
|
|
Remove an incorrect unlock_vg() from process_each_lv().
|
|
Update extent size information in vgchange and vgcreate man pages.
|
|
Introduce origin_from_cow() and lv_is_visible().
|
|
pvremove without -f now fails if there's no PV label.
|
|
Support lvconvert -s.
|
|
Suppress locking library load failure message if --ignorelockingfailure.
|
|
Propagate partial mode around cluster.
|
|
Fix archive file expiration.
|
|
Fix dmeventd build.
|
|
clvmd now uses libcman rather than cman ioctls.
|
|
clvmd will allow new cman to shutdown on request.
|
|
|
|
Version 2.02.02 - 7th February 2006
|
|
===================================
|
|
Add %.so: %.a make template rule.
|
|
Switchover library building to use LIB_SUFFIX.
|
|
Only do lockfs filesystem sync when suspending snapshots.
|
|
Always print warning if activation is disabled.
|
|
vgreduce removes mirror images.
|
|
Add --mirrorsonly to vgreduce.
|
|
vgreduce replaces active LVs with error segment before removing them.
|
|
Set block_on_error parameter if available.
|
|
Add target_version.
|
|
Add details to format1 'Invalid LV in extent map' error message.
|
|
Fix lvscan snapshot full display.
|
|
Bring lvdisplay man page example into line.
|
|
Add mirror dmeventd library.
|
|
Add some activation logic to remove_mirror_images().
|
|
lvconvert can remove specified PVs from a mirror.
|
|
lvconvert turns an existing LV into a mirror.
|
|
Allow signed mirrors arguments.
|
|
Move create_mirror_log() into toollib.
|
|
Determine parallel PVs to avoid with ALLOC_NORMAL allocation.
|
|
Fix lv_empty.
|
|
|
|
Version 2.02.01 - 23rd November 2005
|
|
====================================
|
|
Fix lvdisplay cmdline to accept snapshots.
|
|
Fix open RO->RW promotion.
|
|
Fix missing vg_revert in lvcreate error path.
|
|
|
|
Version 2.02.00 - 10th November 2005
|
|
====================================
|
|
Extend allocation areas to avoid overflow with contiguous with other PVs.
|
|
Stop lvcreate attempting to wipe zero or error segments.
|
|
Added new lvs table attributes.
|
|
Separated out activation preload.
|
|
Moved activation functions into libdevmapper.
|
|
Fixed build_dm_name.
|
|
Add return macros.
|
|
Added xen xvd devices.
|
|
Clear up precommitted metadata better.
|
|
A pvresize implementation.
|
|
Fix contiguous allocation when there are no preceding segments.
|
|
Add mirror_seg pointer to lv_segment struct.
|
|
Only keep a device open if it's known to belong to a locked VG.
|
|
Fix lvdisplay to show all mirror destinations.
|
|
Replacement suspend code using libdevmapper dependency tree.
|
|
Add DEFS to make.tmpl.
|
|
Use dm_is_dm_major instead of local copy.
|
|
Allow mapped devices to be used as PVs.
|
|
Move set_selinux_context into libdevmapper.
|
|
Fix automatic text metadata buffer expansion (using macro).
|
|
Cache formatted text metadata buffer between metadata area writes.
|
|
Add pe_start field to pvs.
|
|
Add 'LVM-' prefix to uuids.
|
|
Split lv_segment_area from lv_segment to permit extension.
|
|
Replacement deactivation code using libdevmapper dependency tree.
|
|
Simplify dev_manager_info().
|
|
Attempt to load missing targets using modprobe.
|
|
Add -a to lvscan.
|
|
Move mknodes into libdevmapper.
|
|
Move bitset, hash, pool and dbg_malloc into libdevmapper.
|
|
|
|
Version 2.01.15 - 16th October 2005
|
|
===================================
|
|
Refuse to run pvcreate/pvremove on devices we can't open exclusively.
|
|
Use ORPHAN lock definition throughout.
|
|
Validate chunksize in lvcreate.
|
|
Reduce chunksize limit to 512k.
|
|
Fix chunksize field in reports.
|
|
Don't hide snapshots from default 'lvs' output.
|
|
Add is_dm_major() for use in duplicate device detection in lvmcache_add().
|
|
Really switch device number in lvmcache when it says it is doing so.
|
|
Option for bitset memory allocation using malloc as well as pool.
|
|
Don't assume exactly two mirrors when parsing mirror status.
|
|
Suppress fsync() error message on filesystems that don't support it.
|
|
Fix yes_no_prompt() error handling.
|
|
Add lvm.conf comment warning against multiple filter lines.
|
|
Tidy lvmconf.sh.
|
|
Add format1 dev_write debug messages.
|
|
Add clustered VG attribute to report.
|
|
Move lvconvert parameters into struct lvconvert_params.
|
|
Add clustered VG flag to LV lock requests.
|
|
Change LV locking macros to take lv instead of lvid.
|
|
Prepend 'cluster' activation parameter to mirror log when appropriate.
|
|
Pass exclusive flag to lv_activate and on to target activation code.
|
|
Prevent snapshot creation in a clustered VG for now.
|
|
Factor out adjusted_mirror_region_size() and generate_log_name_format().
|
|
Move compose_log_line() into mirror directory.
|
|
Factor out _get_library_path().
|
|
Don't kill idling clvmd threads.
|
|
clvmd no longer takes out locks for non-clustered LVs.
|
|
Recognise ATA over Ethernet (aoe) devices.
|
|
|
|
Version 2.01.14 - 4th August 2005
|
|
=================================
|
|
Fix lvconvert PV parameter in help string.
|
|
Prevent snapshots getting activated in a clustered VG.
|
|
Separate out _build_dev_string.
|
|
Move zero_lv to toollib.
|
|
Fix pool format handler to work with pv segment code.
|
|
|
|
Version 2.01.13 - 13th July 2005
|
|
================================
|
|
Fix pvmove segment splitting.
|
|
Abstract vg_validate.
|
|
Only make one attempt at contiguous allocation.
|
|
Fix lvm1 format metadata read.
|
|
Fix lvm1 format non-mirror lvcreate.
|
|
|
|
Version 2.01.12 - 14th June 2005
|
|
================================
|
|
Various allocation-related pvmove fixes.
|
|
Log an error if clvmd can't resolve a host name got from CCS.
|
|
Fix potential spin loop in clvmd.
|
|
|
|
Version 2.01.11 - 13th June 2005
|
|
================================
|
|
Added lvmconf.sh.
|
|
Use matchpathcon mode parameter.
|
|
Don't defer closing dead FDs in clvmd.
|
|
Remove hard-coded 64k text metadata writing restriction.
|
|
Make VG name restrictions consistent.
|
|
Introduce lvconvert. So far only removes mirror images.
|
|
Allow mirror images to be resized.
|
|
Allow mirror images to have more than one segment.
|
|
Centralise restrictions on LV names.
|
|
Always insert an intermediate layer for mirrors.
|
|
Suppress hidden LVs from reports unless --all is given.
|
|
Use square brackets for hidden LVs in reports.
|
|
Allow the creation of mirrors with contiguous extents.
|
|
Always perform sanity checks against metadata before committing it to disk.
|
|
Split lv_extend into two steps: choosing extents + allocation to LV(s).
|
|
Add mirror log region size to metadata.
|
|
Use list_iterate_items throughout and add list*back macros.
|
|
Introduce seg_ macros to access areas.
|
|
Add segtype_is_ macros.
|
|
Support tiny metadata areas for pool conversions.
|
|
Mirror activation handles disk log as well as core.
|
|
Activation code recognises mirror log dependency.
|
|
Add mirror_log and regionsize fields to report.
|
|
Fix non-orphan pvchange -u.
|
|
Fix vgmerge to handle duplicate LVIDs.
|
|
Move archiver code from tools into library.
|
|
vgscan/change/display/vgs automatically create metadata backups if needed.
|
|
Merge cloned allocation functions.
|
|
Fix contiguous allocation policy with linear.
|
|
Cope with missing format1 PVs again.
|
|
Remove lists of free PV segments.
|
|
Simplify pv_maps code and remove slow bitset algorithm.
|
|
Red-Hat-ify the clvmd rhel4 initscript.
|
|
%Zu->%zu
|
|
Fix loopfiles alias alloc & mem debugging.
|
|
Un-inline dbg_strdup.
|
|
lv_reduce tidying.
|
|
Remove some unnecessary parameters.
|
|
Introduce seg_is macros.
|
|
|
|
Version 2.01.10 - 3rd May 2005
|
|
==============================
|
|
Don't create backup and archive dirs till needed.
|
|
Reinstate full PV size when removing from VG.
|
|
Support loopfiles for testing.
|
|
Tidy lv_segment interface.
|
|
pv_segment support.
|
|
vgchange --physicalextentsize
|
|
Internal snapshot restructuring.
|
|
Remove unused internal non-persistent snapshot option.
|
|
Allow offline extension of snapshot volumes.
|
|
Move from 2-step to 3-step on-disk metadata commit.
|
|
Scan ramdisks too and allow non-O_DIRECT fallback.
|
|
Annotate, tidy and extend list.h.
|
|
Alignment tidying.
|
|
Make clvmd work around some "bugs" in gulm's node state notifications.
|
|
Tidy clvmd's SIGHUP handler
|
|
|
|
Version 2.01.09 - 4th April 2005
|
|
================================
|
|
Add --ignorelockingfailure to vgmknodes.
|
|
clvmd: Don't allow user operations to start until the lvm thread is fully up.
|
|
clvmd-gulm: set KEEPALIVE on sockets.
|
|
|
|
Version 2.01.08 - 22nd March 2005
|
|
=================================
|
|
Add clustered attribute so vgchange can identify clustered VGs w/o locking.
|
|
Improve detection of external changes affecting internal cache.
|
|
Add 'already in device cache' debug message.
|
|
Add -a to pvdisplay -C.
|
|
Avoid rmdir opendir error messsages when dir was already removed.
|
|
Tighten signal handlers.
|
|
Avoid some compiler warnings.
|
|
Additional rename failure error message.
|
|
read/write may be macros.
|
|
clvmd: don't take out lvm thread lock at startup, it only protects jobs list.
|
|
|
|
Version 2.01.07 - 8th March 2005
|
|
================================
|
|
Cope with new devices appearing by rescanning /dev if a uuid can't be found.
|
|
Remove DESTDIR from LVM_SHARED_PATH.
|
|
clvmd fixes: make FDs close-on-exec
|
|
gulm unlocks VG & orphan locks at startup in case they are stale
|
|
gulm now unlocks VG & orphan locks if client dies.
|
|
|
|
Version 2.01.06 - 1st March 2005
|
|
================================
|
|
Suppress 'open failed' error messages during scanning.
|
|
Option to suppress warnings of file descriptors left open.
|
|
Fix default value of metadatacopies in documentation (2->1).
|
|
Fix clvmd-gulm locking.
|
|
./configure --enable-debug now enables debugging code in clvmd.
|
|
Fix clvmd-gulm node up/down code so it actually works.
|
|
clvmd-gulm now releases locks when shut down.
|
|
|
|
Version 2.01.05 - 18th February 2005
|
|
====================================
|
|
Static binary invokes dynamic binary if appropriate.
|
|
Make clvmd config check a little more tolerant.
|
|
gulm clvmd can now cope with >1 message arriving in a TCP message.
|
|
|
|
Version 2.01.04 - 9th February 2005
|
|
===================================
|
|
Add fixed offset to imported pool minor numbers.
|
|
Update binary pathnames in clvmd_init_rhel4.
|
|
lvm2cmd.so should skip the check for open fds.
|
|
Remove unused -f from pvmove.
|
|
Gulm clvmd doesn't report "connection refused" errors.
|
|
clvmd does a basic config file sanity check at startup.
|
|
Fix potential thread shutdown race in clvmd.
|
|
|
|
Version 2.01.03 - 1st February 2005
|
|
===================================
|
|
More 64-bit display/report fixes.
|
|
More informative startup mesg if can't create /etc/lvm.
|
|
Fix snapshot device size bug (since 2.01.01).
|
|
clvmd announces startup and cluster connection in syslog.
|
|
Gulm clvmd doesn't hang trying to talk to a rebooted node.
|
|
Gulm clvmd doesn't print cman error on startup.
|
|
|
|
Version 2.01.02 - 21st January 2005
|
|
===================================
|
|
Update clvmd_init_rhel4: use lvm.static and don't load dlm.
|
|
Fix some size_t printing.
|
|
Fix 64 bit xlate consts.
|
|
Split out pool sptype_names to avoid unused const.
|
|
Always fail if random id generation fails.
|
|
Recognise gnbd devices.
|
|
Fix clvmd startup bug introduced in cman/gulm amalgamation.
|
|
Improve reporting of node-specific locking errors.
|
|
|
|
Version 2.01.01 - 19th January 2005
|
|
===================================
|
|
Fix clvmd lv_info_by_lvid open_count.
|
|
Store snapshot and origin sizes separately.
|
|
Update vgcreate man page.
|
|
|
|
Version 2.01.00 - 17th January 2005
|
|
===================================
|
|
Fix vgscan metadata auto-correction.
|
|
Only ask libdevmapper for open_count when we need it.
|
|
Adjust RHEL4 clvmd init script priority.
|
|
Enable building of CMAN & GULM versions of clvmd into a single binary
|
|
|
|
Version 2.00.33 - 7th January 2005
|
|
==================================
|
|
pvcreate wipes first 4 sectors unless given --zero n.
|
|
gulm clvmd now uses new ccsd key names.
|
|
gulm clvmd now doesn't ignore the first node in cluster.conf
|
|
Improve clvmd failure message if it's already running.
|
|
Allow user to kill clvmd during initialisation.
|
|
Fix off-by-one error in cluster_locking that could cause read hangs.
|
|
|
|
Version 2.00.32 - 22nd December 2004
|
|
====================================
|
|
Drop static/dl restriction for now.
|
|
Fix an error fprintf.
|
|
Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now.
|
|
Fix device reference counting on re-opens.
|
|
Ignore sysfs symlinks when DT_UNKNOWN.
|
|
Add clvmd init script for RHEL4.
|
|
Skip devices that are too small to be PVs.
|
|
Fix pvchange -x segfault with lvm2-format orphan.
|
|
Cope with empty msdos partition tables.
|
|
Add CONTRIBUTORS file.
|
|
|
|
Version 2.00.31 - 12th December 2004
|
|
====================================
|
|
Reopen RO file descriptors RW if necessary.
|
|
|
|
Version 2.00.30 - 10th December 2004
|
|
====================================
|
|
Additional device-handling debug messages.
|
|
Additional verbosity level -vvvv includes line numbers and backtraces.
|
|
Verbose messages now go to stderr not stdout.
|
|
Close any stray file descriptors before starting.
|
|
Refine partitionable checks for certain device types.
|
|
Allow devices/types to override built-ins.
|
|
Fix lvreduce man page .i->.I
|
|
Fix vgsplit man page title.
|
|
Fix clvmd man makefile.
|
|
Extend dev_open logging.
|
|
Make clvmd_fix_conf.sh UNDOable.
|
|
|
|
Version 2.00.29 - 27th November 2004
|
|
====================================
|
|
xlate compilation fix.
|
|
|
|
Version 2.00.28 - 27th November 2004
|
|
====================================
|
|
Fix partition table & md signature detection.
|
|
Minor configure/makefile tidy.
|
|
Export version.h from tools for clvmd.
|
|
|
|
Version 2.00.27 - 24th November 2004
|
|
====================================
|
|
Trap large memory allocation requests.
|
|
Fix to partition table detection code.
|
|
Improve filter debug mesgs.
|
|
Make clvmd_fix_conf.sh UNDOable
|
|
|
|
Version 2.00.26 - 23rd November 2004
|
|
====================================
|
|
Improve pool debugging stats.
|
|
Detect partition table signature.
|
|
pvcreate wipes md superblocks. (With --uuid or --restorefile it prompts.)
|
|
Separate out md superblock detection code.
|
|
Prevent snapshot origin resizing.
|
|
Improve a vgremove error message.
|
|
Update some man pages.
|
|
Allow y/n with -ae args (exclusive activation).
|
|
Fixes to lvcreate vgname parsing.
|
|
Fix dm_name string size calculation.
|
|
Improve clvmd error reporting during startup.
|
|
Make clvmd cope with large gaps in node numbers IDs.
|
|
Make clvmd initialisation cope better with debugging output.
|
|
Tidy clvmd socket callbacks so all work happens outside main loop.
|
|
clvmd -V now displays lvm version too.
|
|
Add optional gulm build for clvmd
|
|
|
|
Version 2.00.25 - 29th September 2004
|
|
=====================================
|
|
Fix return code from rm_link for vgmknodes.
|
|
Make clvmd LV hash table thread-safe.
|
|
Fix clvmd locking so it will lock out multiple users on the same node.
|
|
Fix clvmd VG locking to it can cope with multiple VG locks.
|
|
Remove spurious trailing dot in lvreduce man page.
|
|
Fix vgremove locking.
|
|
|
|
Version 2.00.24 - 16th September 2004
|
|
=====================================
|
|
Fix pool_empty so it really does empty the memory pool.
|
|
Rename old segtypes files to segtype.
|
|
Some fixes to memory debugging code.
|
|
Exclude internal commands formats & segtypes from install.
|
|
|
|
Version 2.00.23 - 15th September 2004
|
|
=====================================
|
|
Export dm name build & split functions.
|
|
Use O_NOATIME on devices if available.
|
|
Write log message when each segtype/format gets initialised.
|
|
New commands 'segtypes' and 'formats'.
|
|
Suppress pvmove abort message in test mode.
|
|
Improve pvcreate/remove device not found error message.
|
|
Allow pvmove to move data within the same PV.
|
|
Describe how pvmove works on man page.
|
|
Test for incompatible format/segtype combinations in lv_extend.
|
|
Fix lvchange example on man page.
|
|
|
|
Version 2.00.22 - 3rd September 2004
|
|
====================================
|
|
Fix /dev/vgname perms.
|
|
Restructure xlate.h.
|
|
Add clvmd man page.
|
|
|
|
Version 2.00.21 - 19th August 2004
|
|
==================================
|
|
Update cnxman-socket.h from cman.
|
|
Recognise iseries/vd devices.
|
|
Use 'make install_cluster' to install cluster extensions only.
|
|
Cope with DT_UNKNOWN in sysfs.
|
|
Fix extents_moved metadata size comment.
|
|
Remove duplicate line in pvremove help text.
|
|
Support variable mirror region size.
|
|
Support PE ranges in pvmove source PV.
|
|
Fixes to as-yet-unused LV segment splitting code.
|
|
Change alloc_areas to pe_ranges and allow suppression of availability checks.
|
|
Add dev_size column to pvs.
|
|
Add report columns for in-kernel device number.
|
|
|
|
Version 2.00.20 - 3 July 2004
|
|
=============================
|
|
More autoconf fixes.
|
|
Fix device number handling for 2.6 kernels.
|
|
|
|
Version 2.00.19 - 29 June 2004
|
|
==============================
|
|
Reduce severity of setlocale failure message.
|
|
Recognise argv[0] "initrd-lvm" (pld-linux).
|
|
Make -O2 configurable.
|
|
Added --disable-selinux to configure script.
|
|
LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script.
|
|
Add init_debug to clvmd.
|
|
|
|
Version 2.00.18 - 24 June 2004
|
|
==============================
|
|
Fix vgchange activation.
|
|
Add cluster support.
|
|
|
|
Version 2.00.17 - 20 June 2004
|
|
==============================
|
|
configure --enable-fsadm to try out fsadm. fsadm is not tested yet.
|
|
Display all filtered devices, not just PVs, with pvs -a.
|
|
Fix sync_dir() when no / in filename
|
|
vgcfgbackup -f accepts template with %s for VG name.
|
|
Extend hash functions to handle non-null-terminated data.
|
|
Add local activation support.
|
|
Tidy relative paths in makefile includes.
|
|
fsadm support for fsck and resizing - needs testing.
|
|
Add read-only GFS pool support.
|
|
Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/
|
|
Fix rounding of large diplayed sizes.
|
|
Suppress decimal point when using units of sectors/bytes.
|
|
Additional kernel target checks before pvmove & snapshot creation.
|
|
Add i2o_block.
|
|
|
|
Version 2.00.16 - 24 May 2004
|
|
=============================
|
|
Set area_count within alloc_lv_segment.
|
|
Remove error labels from lvresize.
|
|
Fix a pvs error path.
|
|
xxchange -ae for exclusive activation.
|
|
Don't return non-zero status if there aren't any volume groups.
|
|
Add --alloc argument to tools.
|
|
Rename allocation policies to contiguous, normal, anywhere, inherit.
|
|
nextfree becomes normal; anywhere isn't implemented yet.
|
|
LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal
|
|
Additional status character added to vgs to indicate allocation policy.
|
|
Add reset_fn to external_locking.
|
|
Ensure presence of virtual targets before attempting activating.
|
|
Attempt to fix resizing of snapshot origins.
|
|
Restructure lvresize, bringing it closer to lvcreate.
|
|
A quick sanity check on vg_disk struct when read in. More checks needed.
|
|
Only include visible LVs in active/open counts.
|
|
Add virtual segment types, zero and error. A large sparse device can be
|
|
constructed as a writeable snapshot of a large zero segment.
|
|
Add --type to lvcreate/resize.
|
|
Push lv_create & alloc policy up to tool level.
|
|
Fix pvdisplay return code.
|
|
Detect invalid LV names in arg lists.
|
|
Reporting uses line-at-a-time output.
|
|
lvm2 format sets unlimited_vols format flag.
|
|
Internal-only metadata flag support.
|
|
Basic checking for presence of device-mapper targets.
|
|
Separate out polldaemon.
|
|
Revise internal locking semantics.
|
|
Move find_pv_by_name to library.
|
|
Rename move->copy.
|
|
Add devices to segments report.
|
|
Begin separating out segment code. There's a lot of change here.
|
|
Compress any (obsolete) long LVM1 pvids encountered.
|
|
Support for tagged config files.
|
|
Don't abort operations if selinux present but disabled.
|
|
Fix typo in configure which left HAVE_LIBDL unset.
|
|
|
|
Version 2.00.15 - 19 Apr 2004
|
|
=============================
|
|
configure --with-owner= --with-group= to avoid -o and -g args to 'install'
|
|
|
|
Version 2.00.14 - 16 Apr 2004
|
|
=============================
|
|
Use 64-bit file functions by default.
|
|
|
|
Version 2.00.13 - 16 Apr 2004
|
|
=============================
|
|
Set devices/md_component_detection = 1 to ignore devices containing md
|
|
superblocks. [Luca Berra]
|
|
Ignore error setting selinux file context if fs doesn't support it.
|
|
|
|
Version 2.00.12 - 14 Apr 2004
|
|
=============================
|
|
Install a default lvm.conf into /etc/lvm if there isn't one already.
|
|
Allow different installation dir for lvm.static (configure --staticdir=)
|
|
Fix inverted selinux error check.
|
|
Recognise power2 in /proc/devices.
|
|
Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.]
|
|
|
|
Version 2.00.11 - 8 Apr 2004
|
|
============================
|
|
Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback)
|
|
to run lvm1 binaries if running a 2.4 kernel without device-mapper.
|
|
|
|
Version 2.00.10 - 7 Apr 2004
|
|
============================
|
|
More fixes for static build.
|
|
Add basic selinux support.
|
|
Fix sysfs detection.
|
|
|
|
Version 2.00.09 - 31 Mar 2004
|
|
=============================
|
|
Update copyright notices for Red Hat.
|
|
Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd).
|
|
Add LVM1-style colon output to vgdisplay.
|
|
lvchange --refresh to reload active LVs.
|
|
Add string display to memory leak dump.
|
|
Add locking flags & memlock option.
|
|
Add list_versions to library.
|
|
Ignore open hidden LVs when checking if deactivation is OK.
|
|
Suppress move percentage when device inactive.
|
|
Add lv_info_by_lvid.
|
|
Various tidy-ups to the build process.
|
|
Rebaseline internal verbose level.
|
|
Add --nolocking option for read operations if locking is failing.
|
|
Add option to compile into a library.
|
|
When compiled without libdevmapper, only print warning message once.
|
|
Fix lvreduce PV extent calculations.
|
|
Fix DESTDIR to work with configure path overrides.
|
|
Always use / as config file separator & rename internal config file variables.
|
|
Add support for tagging PV/VG/LVs and hosts.
|
|
Fix rare bug in recognition of long cmdline argument forms.
|
|
Add basic internationalisation infrastructure.
|
|
Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels.
|
|
Update autoconf files.
|
|
Add sysfs block device filtering for 2.6 kernels.
|
|
Update refs for move to sources.redhat.com.
|
|
|
|
Friday 14th November 2003
|
|
=========================
|
|
Some bug fixes & minor enhancements, including:
|
|
Backwards compatibility with LVM1 metadata improved.
|
|
Missing man pages written.
|
|
Tool error codes made more consistent.
|
|
vgmknodes written.
|
|
O_DIRECT can be turned off if it doesn't work in your kernel.
|
|
dumpconfig to display the active configuration file
|
|
|
|
You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'.
|
|
If your root filesystem is on an LV, you should run one of those two
|
|
commands to fix up the special files in /dev in your real root filesystem
|
|
after finishing with your initrd. Also, remember you can use
|
|
'vgchange --ignorelockingfailure' on your initrd if the tool fails because
|
|
it can't write a lock file to a read-only filesystem.
|
|
|
|
Wednesday 30th April 2003
|
|
=========================
|
|
A pvmove implementation is now available for the new metadata format.
|
|
|
|
When running a command that allocates space (e.g. lvcreate), you can now
|
|
restrict not only which disk(s) may be used but also the Physical Extents
|
|
on those disks. e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000
|
|
|
|
|
|
Monday 18th November 2002
|
|
========================
|
|
|
|
The new format of LVM metadata is ready for you to test!
|
|
We expect it to be more efficient and more robust than the original format.
|
|
It's more compact and supports transactional changes and replication.
|
|
Should things go wrong on a system, it's human-readable (and editable).
|
|
|
|
Please report any problems you find to the mailing list,
|
|
linux-lvm@sistina.com. The software has NOT yet been thoroughly
|
|
tested and so quite possibly there'll still be some bugs in it.
|
|
Be aware of the disclaimer in the COPYING file.
|
|
|
|
While testing, we recommend turning logging on in the configuration file
|
|
to provide us with diagnostic information:
|
|
log {
|
|
file="/tmp/lvm2.log"
|
|
level=7
|
|
activation=1
|
|
}
|
|
|
|
You should schedule regular backups of your configuration file and
|
|
metadata backups and archives (normally kept under /etc/lvm).
|
|
|
|
Please read docs/example.conf and "man lvm.conf" to find out more about
|
|
the configuration file.
|
|
|
|
To convert an existing volume group called vg1 to the new format using
|
|
the default settings, use "vgconvert -M2 vg1". See "man vgconvert".
|
|
|
|
-M (or --metadatatype in its long form) is a new flag to indicate which
|
|
format of metadata the command should use for anything it creates.
|
|
Currently, the valid types are "lvm1" and "lvm2" and they can be
|
|
abbreviated to "1" and "2" respectively. The default value for this
|
|
flag can be changed in the global section in the config file.
|
|
|
|
Backwards-compatible support for the original LVM1 metadata format is
|
|
maintained, but it can be moved into a shared library or removed
|
|
completely with configure's --with-lvm1 option.
|
|
|
|
Under LVM2, the basic unit of metadata is the volume group. Different
|
|
volume groups can use different formats of metadata - vg1 could use
|
|
the original LVM1 format while vg2 used the new format - but you can't
|
|
mix formats within a volume group. So to add a PV to an LVM2-format
|
|
volume group you must run "pvcreate -M2" on it, followed by "vgextend".
|
|
|
|
With LVM2-format metadata, lvextend will let you specify striping
|
|
parameters. So an LV could consist of two or more "segments" - the
|
|
first segment could have 3 stripes while the second segment has just 2.
|
|
|
|
LVM2 maintains a backup of the current metadata for each volume group
|
|
in /etc/lvm/backup, and puts copies of previous versions in
|
|
/etc/lvm/archive. "vgcfgbackup" and "vgcfgrestore" can be used to
|
|
create and restore from these files. If you fully understand what
|
|
you're doing, metadata can be changed by editing a copy of a current
|
|
backup file and using vgcfgrestore to reload it.
|
|
|
|
Please read the pvcreate man page for more information on the new
|
|
format for metadata.
|
|
|
|
All tools that can change things have a --test flag which can be used
|
|
to check the effect of a set of cmdline args without really making the
|
|
changes.
|
|
|
|
|
|
What's not finished?
|
|
====================
|
|
The internal cache. If you turn on debugging output you'll see lots of
|
|
repeated messages, many of which will eventually get optimised out.
|
|
|
|
--test sometimes causes a command to fail (e.g. vgconvert --test) even
|
|
though the real command would work: again, fixing this is waiting for
|
|
the work on the cache.
|
|
|
|
Several of the tools do not yet contain the logic to handle full
|
|
recovery: combinations of pvcreate and vgcfgrestore may sometimes be
|
|
needed to restore metadata if a tool gets interrupted or crashes or
|
|
finds something unexpected. This applies particularly to tools that
|
|
work on more than one volume group at once (e.g. vgsplit).
|
|
|
|
Display output. Some metadata information cannot yet be displayed.
|
|
|
|
Recovery tools to salvage "lost" metadata directly from the disks:
|
|
but we hope the new format will mean such tools are hardly ever needed!
|
|
|
|
|