2024-05-16 12:12:06 +02:00
Version 2.03.25 -
==================
2024-06-21 11:19:30 +02:00
Utilize more radix_tree instead of dm_hash and btree.
Refactor DM uuid caching from device_mapper directory.
2024-05-25 22:52:58 +02:00
Enhance checking for DM uuid device.
Fix lvm shell command completion on tab key (2.03.24).
2024-07-01 15:30:40 +02:00
Avoid lockd_vg call to lvmlockd for local VGs.
Allow forced change of locktype from none.
Handle OPTIONS defined in /etc/sysconfig/lvmlockd.
2024-05-16 12:12:06 +02:00
2024-05-16 12:12:06 +02:00
Version 2.03.24 - 16th May 2024
===============================
2024-05-10 01:08:55 +02:00
Lvconvert supports VDO options for thin-pool with vdo conversion.
2024-05-04 00:49:51 +02:00
Improve placement to .data.rel.ro and .rodata sections.
Fix support for -y and -W when creating thinpool with vdo.
2024-05-02 12:07:47 +02:00
Bettter support for runtime valgrind detection.
Allow command interruption when communicating with dmeventd.
2024-04-26 16:44:07 +02:00
Fix resize of VDO volume used for thin pool data volume.
Use -Wl,-z,now and -Wl,--as-needed for compilation by default.
2024-04-15 13:43:13 +02:00
Require 3.7 as minimal version for sanlock.
Share code for closing opened desriptors on program startup.
Fix memleak in lvmcache.
2024-04-09 17:51:47 +02:00
Add configure --with-default-event-activation=ON setting.
Fix return value from reporter function when hitting internal error.
2024-04-07 14:25:37 +02:00
Skip checking of pools for lvremove and vgremove commands.
VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version.
2024-04-05 14:30:25 +02:00
Fix lvs reporting for VDO volumes with new upstream kernel driver.
2024-03-25 08:50:37 +01:00
Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.
2024-03-21 22:33:30 +01:00
Fix table line generation for cache snapshots using cachevol.
2024-03-17 13:30:58 +01:00
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.
2024-02-08 14:58:32 +01:00
Check for cache policy module presence in kernel's builtin modules file.
2024-02-08 14:58:16 +01:00
Add configure --with-modulesdir to select kernel modules directory.
2024-01-10 14:07:45 +01:00
Support creation of thin-pool with VDO use for its data volume.
2023-11-21 14:38:53 +01:00
2023-11-21 14:26:07 +01:00
Version 2.03.23 - 21st November 2023
====================================
2023-11-17 13:29:11 -06:00
Set the first lv_attr flag for raid integrity images to i or I.
2023-11-16 08:46:23 -06:00
Add -A option for pvs and pvscan to show PVs outside devices file.
2023-11-15 10:37:18 +01:00
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.
2023-10-13 20:56:39 +02:00
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.
2023-11-15 10:37:18 +01:00
Configure supports --without-{blkid|systemd|udev} for easier static build.
Refresh device ids if the system changes.
2023-09-19 14:47:00 +02:00
Fix pvmove when specifying raid components as moved LVs.
2023-09-12 14:43:59 +02:00
Enhance error detection for lvm_import_vdo.
2023-09-03 22:49:17 +02:00
Support PV lists with thin lvconvert.
2023-09-12 14:43:59 +02:00
Fix support for lvm_import_vdo with SCSI VDO volumes.
2023-11-15 10:37:18 +01:00
Fix locking issue leading to hanging concurrent vgchange --refresh.
2023-08-22 10:54:35 +02:00
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.
2023-11-15 10:37:18 +01:00
Fix conversion to thin pool using lvmlockd.
Fix conversion from thick into thin volume using lvmlockd.
2023-11-15 15:34:18 +01:00
Require writable LV for conversion to vdo pool.
2023-08-14 17:00:57 +02:00
Fix return value from lvconvert integrity remove.
Preserve UUID for pool metadata spare.
Preserve UUID for swapped pool metadata.
2023-11-15 10:37:18 +01:00
Rewrite validation of device name entries used as device_id.
2023-08-02 14:42:16 +02:00
2023-08-02 14:39:55 +02:00
version 2.03.22 - 02nd August 2023
==================================
2023-07-31 13:37:34 +02:00
Fix pv_major/pv_minor report field types so they are integers, not strings.
2023-08-02 14:38:23 +02:00
Add lvmdevices --delnotfound to delete entries for missing devices.
2023-07-17 13:47:57 +02:00
Always use cachepool name for metadata backup LV for lvconvert --repair.
Make metadata backup LVs read-only after pool's lvconvert --repair.
2023-07-15 11:04:06 +02:00
Improve VDO and Thin support with lvmlockd.
Handle 'lvextend --usepolicies' for pools for all activation variants.
2023-07-12 14:21:32 +02:00
Fix memleak in vgchange autoactivation setup.
Update py-compile building script.
2023-07-04 21:50:35 +02:00
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.
2023-06-23 18:07:31 +02:00
Add lvm.conf thin_restore and cache_restore settings.
2023-08-02 14:38:23 +02:00
Handle multiple mounts while resizing volume with a FS.
2023-11-15 15:34:18 +01:00
Handle leading/trailing spaces in sys_wwid and sys_serial used by device_id.
2023-06-09 17:52:00 +02:00
Enhance lvm_import_vdo and use snapshot when converting VDO volume.
2023-08-02 14:38:23 +02:00
Fix parsing of VDO metadata.
2023-05-30 21:14:37 +02:00
Fix failing -S|--select for non-reporting cmds if using LV info/status fields.
2023-08-02 14:38:23 +02:00
Allow snapshots of raid+integrity LV.
Fix multisegment RAID1 allocator to prevent using single disk for more legs.
2023-04-21 10:36:06 +02:00
2023-04-21 10:35:10 +02:00
version 2.03.21 - 21st April 2023
2023-03-21 13:36:36 +01:00
=================================
2023-04-06 13:45:42 +02:00
Fix activation of vdo-pool for with 0 length headers (converted pools).
Avoid printing internal init messages when creation integration devices.
2023-04-21 10:35:10 +02:00
Allow (write)cache over raid+integrity LV.
2023-03-21 13:36:36 +01:00
2023-03-21 13:35:48 +01:00
version 2.03.20 - 21st March 2023
=================================
2023-03-07 14:45:06 +01:00
Fix segfault if using -S|--select with log/report_command_log=1 setting.
2023-02-23 16:42:45 +01:00
Configure now fails when requested lvmlockd dependencies are missing.
Add some configure Gentoo enhancements for static builds.
2023-02-21 15:36:24 +01:00
2023-02-21 15:33:32 +01:00
version 2.03.19 - 21st February 2023
2023-01-03 16:02:07 +01:00
====================================
2023-02-10 20:51:46 +01:00
Configure supports --with-systemd-run executed from udev rules.
Enhancement for build with MuslC systemd and non-bash system shells (dash).
2023-02-01 14:33:25 +01:00
Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices.
2023-01-30 14:32:44 +01:00
Ensure udev is processing origin LV before its thick snapshots LVs.
2023-01-15 21:27:37 +01:00
Fix and improve runtime memory size detection for VDO volumes.
2023-01-03 16:02:07 +01:00
2023-02-21 15:33:32 +01:00
version 2.03.18 - 22nd December 2022
2022-11-10 14:21:57 +01:00
====================================
2022-12-22 16:06:04 +01:00
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.
2022-11-10 14:21:57 +01:00
2022-11-10 10:23:38 +01:00
Version 2.03.17 - 10th November 2022
====================================
Add new options (--fs, --fsmode) for FS handling when resizing LVs.
toollib: do not process just created historical LV
When executing process_each_lv_in_vg, we process live LVs first and
after that, we process any historical LVs. In case we have just removed
an LV, which also means we have just made it "historical" and so it
appears as fresh item in vg->historical_lvs list, we have to skip it
when we get to processing historical LVs inside the same process_each_lv_in_vg
call.
The simplest approach here, without introducing another LV list, is to
simply mark such historical LVs as "fresh" directly in struct
historical_logical_volume when we have just removed the original LV
and created the historical LV for it. Then, we just need to check the
flag when processing historical LVs and skip it if it is "fresh".
When we read historical LVs out of metadata, they are marked as
"not fresh" and so they can be processed as usual.
This was mainly an issue in conjuction with -S|--select use:
# lvmconfig --type diff
metadata {
record_lvs_history=1
}
(In this example, a thin pool with lvol1 thin LV and lvol2 and lvol3 snapshots.)
# lvs -H vg -o name,pool_lv,full_ancestors,full_descendants
LV Pool FAncestors FDescendants
lvol1 pool lvol2,lvol3
lvol2 pool lvol1 lvol3
lvol3 pool lvol2,lvol1
pool
# lvremove -S 'name=lvol2'
Logical volume "lvol2" successfully removed.
Historical logical volume "lvol2" successfully removed.
...here, the historical LV lvol2 should not have been removed because
we have just removed its original non-historical lvol2 and the fresh
historical lvol2 must not be included in the same processing spree.
2022-10-12 14:41:58 +02:00
Fix 'lvremove -S|--select LV' to not also remove its historical LV right away.
2022-09-06 14:40:06 +02:00
Fix lv_active field type to binary so --select and --binary applies properly.
2022-08-30 13:48:18 +02:00
Switch to use mallinfo2 and use it only with glibc.
2022-08-26 12:17:45 +02:00
Error out in lvm shell if using a cmd argument not supported in the shell.
2022-08-22 13:59:08 +02:00
Fix lvm shell's lastlog command to report previous pre-command failures.
2022-08-19 14:48:01 +02:00
Extend VDO and VDOPOOL without flushing and locking fs.
2022-08-16 16:56:06 +02:00
Add --valuesonly option to lvmconfig to print only values without keys.
2022-08-15 11:22:53 +02:00
Updates configure with recent autoconf tooling.
2022-08-11 11:44:58 +02:00
Fix lvconvert --test --type vdo-pool execution.
2022-08-11 13:03:29 +02:00
Add json_std output format for more JSON standard compliant version of output.
Fix vdo_slab_size_mb value for converted VDO volume.
2022-11-10 10:23:38 +01:00
Fix many corner cases in device_id, including handling of S/N duplicates.
Fix various issues in lvmdbusd.
2022-05-18 18:18:14 +02:00
2022-05-18 18:17:06 +02:00
Version 2.03.16 - 18th May 2022
===============================
2022-05-05 11:02:32 +02:00
Fix segfault when handling selection with historical LVs.
2022-04-13 15:09:08 +02:00
Add support --vdosettings with lvcreate, lvconvert, lvchange.
2022-05-18 18:17:06 +02:00
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.
2022-03-30 14:16:11 +02:00
Fix lossing of delete message on thin-pool extension.
2022-02-07 18:02:07 +01:00
2022-02-07 18:00:54 +01:00
Version 2.03.15 - 07th February 2022
====================================
Remove service based autoactivation. global/event_activation = 0 is NOOP.
2022-01-31 16:12:24 -06:00
Improve support for metadata profiles for --type writecache.
2021-12-15 11:45:22 +01:00
Use cache or active DM device when available with new kernels.
2021-12-15 11:34:50 +01:00
Introduce function to utilize UUIDs from DM_DEVICE_LIST.
2021-12-17 16:36:36 +01:00
Increase some hash table size to better support large device sets.
2021-10-20 11:13:28 +02:00
2021-10-20 11:11:41 +02:00
Version 2.03.14 - 20th October 2021
===================================
2021-10-20 11:08:36 +02:00
Device scanning is skipping directories on different filesystems.
2021-10-01 16:19:53 +02:00
Print info message with too many or too large archived files.
2021-09-27 17:14:56 +02:00
Reduce metadata readings during scanning phase.
2021-09-27 11:41:03 +02:00
Optimize computation of crc32 check sum with multiple PVs.
2021-09-12 17:44:38 +02:00
Enhance recover path on cache creation failure.
2021-09-12 17:41:53 +02:00
Filter out unsupported MQ/SMQ cache policy setting.
2021-09-12 16:13:27 +02:00
Fix memleak in mpath filter.
2021-09-09 14:59:38 +02:00
Support newer location for VDO statistics.
2021-10-20 11:08:36 +02:00
Add support for VDO async-unsafe write policy.
2021-08-31 20:52:26 +02:00
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.
2021-08-26 16:53:33 +02:00
Rename vdoimport to lvm_import_vdo.
2021-08-11 17:15:51 +02:00
2021-08-11 17:14:26 +02:00
Version 2.03.13 - 11th August 2021
==================================
2021-08-10 14:19:24 +02:00
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.
2021-07-23 16:32:35 +02:00
Support --poolmetadataspare with vgsplit and vgmerge.
2021-07-14 12:53:47 +02:00
Fix detection of active components of external origin volume.
2021-07-09 14:44:07 +02:00
Add vdoimport tool to support conversion of VDO volumes.
2021-06-28 20:38:54 +02:00
Support configurable allocation/vdo_pool_header_size.
Fix handling of lvconvert --type vdo-pool --virtualsize.
2021-06-09 16:16:26 +02:00
Simplified handling of archive() and backup() internal calls.
2021-08-10 14:19:24 +02:00
Add 'idm' locking type for IDM lock manager.
2021-05-26 00:19:28 +02:00
Fix load of kvdo target when it is not present in memory (2.03.12).
2021-05-07 22:36:56 +02:00
2021-05-07 22:34:45 +02:00
Version 2.03.12 - 07th May 2021
===============================
Allow attaching cache to thin data volume.
2021-04-23 14:44:57 +02:00
Fix memleak when generating list of outdated pvs.
2021-04-12 09:49:23 +02:00
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.
2021-05-07 22:34:45 +02:00
New --setautoactivation option to modify LV or VG auto activation.
New metadata based autoactivation property for LVs and VGs.
2021-04-06 21:20:18 +02:00
Improve signal handling with lvmpolld.
Signal handler can interrupt command also for SIGTERM.
Lvreduce --yes support.
2021-03-29 21:46:12 +02:00
Add configure option --with/out-symvers for non-glibc builds.
2021-03-24 16:30:23 +01:00
Report error when the filesystem is missing on fsadm resized volume.
Handle better blockdev with --getsize64 support for fsadm.
2021-03-23 09:59:26 +01:00
Do not include editline/history.h when using editline library.
2021-03-18 16:55:20 +01:00
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.
2021-03-15 10:58:00 +01:00
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.
2021-05-07 22:34:45 +02:00
New lvmlockctl_kill_command configuration option.
2021-03-15 10:58:00 +01:00
Support interruption while waiting on device close before deactivation.
Flush thin-pool messages before removing more thin volumes.
2021-03-08 15:41:19 +01:00
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.
2021-02-27 00:15:25 +01:00
Support interruption when taking archive and backup.
Accelerate large lvremoves.
Speedup search for cached device nodes.
Speedup command initialization.
2021-02-23 15:29:23 -06:00
Add devices file feature, off by default for now.
2021-02-23 15:00:17 +01:00
Support extension of writecached volumes.
Fix problem with unbound variable usage within fsadm.
2021-05-07 22:34:45 +02:00
Fix IMSM MD RAID detection on 4k devices.
2021-02-17 11:27:57 +01:00
Check for presence of VDO target before starting any conversion.
Support metatadata profiles with volume VDO pool conversions.
2023-07-02 17:46:47 +02:00
Support -Zn for conversion of already formatted VDO pools.
2021-02-17 11:27:57 +01:00
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.
2021-02-10 15:34:12 +01:00
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.
2021-02-08 23:16:54 +01:00
Support resize of cached volumes.
Disable autoactivation with global/event_activation=0.
2021-02-02 19:53:59 +01:00
Check if lvcreate passes read_only_volume_list with tags and skips zeroing.
2021-02-01 12:12:23 +01:00
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.
2021-05-07 22:34:45 +02:00
Improves conversion and allocation of pool metadata.
2021-02-01 12:12:23 +01:00
Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0.
2021-05-07 22:34:45 +02:00
Enhance lvdisplay to report raid available/partial.
2021-01-22 16:09:38 +01:00
Support online rename of VDO pools.
2021-05-07 22:34:45 +02:00
Improve removal of pmspare when last pool is removed.
2021-01-22 16:09:38 +01:00
Fix problem with wiping of converted LVs.
Fix memleak in scanning (2.03.11).
2021-01-12 15:58:07 +01:00
Fix corner case allocation for thin-pools.
2021-01-07 18:09:07 +01:00
2021-01-07 17:22:29 +01:00
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.
2021-02-23 15:00:17 +01:00
Enhance error handling for fsadm and handle correct fsck result.
2020-10-24 01:40:55 +02:00
Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values.
2020-10-02 19:32:28 +02:00
Support using BLKZEROOUT for clearing devices.
2020-10-02 19:31:05 +02:00
Support interruption when wipping LVs.
2020-10-02 17:16:14 +02:00
Support interruption for bcache waiting.
2020-10-02 17:42:50 +02:00
Fix bcache when device has too many failing writes.
2020-10-02 17:18:12 +02:00
Fix bcache waiting for IO completion with failing disks.
2020-10-02 20:40:52 +02:00
Configure use own python path name order to prefer using python3.
2020-09-29 10:15:45 +02:00
Add configure --enable-editline support as an alternative to readline.
2020-09-25 22:43:57 +02:00
Enhance reporting and error handling when creating thin volumes.
2020-09-24 20:49:18 +02:00
Enable vgsplit for VDO volumes.
2020-09-22 23:25:58 +02:00
Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added.
2020-09-22 13:35:27 +02:00
Use revert_lv() on reload error path after vg_revert().
2020-09-16 15:14:51 -05:00
Configure --with-integrity enabled.
2020-09-13 21:10:17 +02:00
Restore lost signal blocking while VG lock is held.
2020-09-11 20:57:20 +02:00
Improve estimation of needed extents when creating thin-pool.
2020-09-11 13:31:55 +02:00
Use extra 1% when resizing thin-pool metadata LV with --use-policy.
2020-09-10 22:38:34 +02:00
Enhance --use-policy percentage rounding.
2020-09-09 15:56:06 +02:00
Configure --with-vdo and --with-writecache as internal segments.
2020-09-09 15:14:22 +02:00
Improving VDO man page examples.
2021-01-07 17:22:29 +01:00
Allow pvmove of writecache origin.
Report integrity fields.
Integrity volumes defaults to journal mode.
2020-08-28 19:15:01 +02:00
Switch code base to use flexible array syntax.
2020-08-29 20:08:49 +02:00
Fix 64bit math when calculation cachevol size.
2020-08-28 21:42:12 +02:00
Preserve uint32_t for seqno handling.
Switch from mmap to plain read when loading regular files.
2020-07-22 00:41:35 +02:00
Update lvmvdo man page and better explain DISCARD usage.
2020-08-09 16:16:39 +02:00
2020-08-09 16:15:31 +02:00
Version 2.03.10 - 09th August 2020
2020-08-09 16:15:13 +02:00
==================================
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.
2020-07-09 18:51:33 +02:00
Fix conversion to raid from striped lagging type.
2020-07-09 14:09:46 +02:00
Fix conversion to 'mirrored' mirror log with larger regionsize.
2020-06-24 12:11:21 +02:00
Zero pool metadata on allocation (disable with allocation/zero_metadata=0).
2020-06-23 13:56:15 +02:00
Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn).
2020-08-09 16:16:39 +02:00
Add lvcreate of new cache or writecache lv with single command.
2020-06-24 13:37:23 +02:00
Fix running out of free buffers for async writing for larger writes.
2020-04-15 11:04:12 -05:00
Add integrity with raid capability.
2020-04-08 15:22:25 +02:00
Fix support for lvconvert --repair used by foreign apps (i.e. Docker).
2020-03-26 12:22:09 +01:00
2020-03-26 12:21:16 +01:00
Version 2.03.09 - 26th March 2020
=================================
2023-01-04 13:21:13 +08:00
Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits).
2020-02-11 17:11:39 +01:00
Fix showing of a dm kernel error when uncaching a volume with cachevol.
2020-02-11 10:53:01 +01:00
2020-02-11 10:50:50 +01:00
Version 2.03.08 - 11th February 2020
2019-11-30 14:46:56 +01:00
====================================
2020-02-11 10:50:50 +01:00
Prevent problematic snapshots of writecache volumes.
2020-02-04 17:21:13 +01:00
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().
2020-02-11 10:50:50 +01:00
Update pvck man page and help output.
Reject invalid writecache high/low_watermark setting.
Report writecache status.
2020-01-23 10:25:35 +01:00
Accept more output lines from vdo_format.
Prohibit reshaping of stacked raid LVs.
2020-01-13 17:37:29 +01:00
Avoid running cache input arg validation when creating vdo pool.
Prevent raid reshaping of stacked volumes.
2020-01-09 13:11:41 -06:00
Added VDO lvmdbusd methods for enable/disable compression & dedupe.
Added VDO lvmdbusd method for converting LV to VDO pool.
2019-11-30 14:46:56 +01:00
2019-11-30 14:45:51 +01:00
Version 2.03.07 - 30th November 2019
====================================
Subcommand in vgck for repairing headers and metadata.
2019-11-26 22:17:34 +01:00
Ensure minimum required region size on striped RaidLV creation.
2019-11-11 17:44:14 +01:00
Fix resize of thin-pool with data and metadata of different segtype.
2019-10-31 15:43:02 +01:00
Improve mirror type leg splitting.
2019-11-30 14:45:51 +01:00
Improve error path handling in daemons on shutdown.
2019-10-26 00:48:00 +02:00
Fix activation order when removing merged snapshot.
2019-10-30 10:55:06 -05:00
Experimental VDO support for lvmdbusd.
2019-10-23 09:47:26 +02:00
2019-10-23 09:46:23 +02:00
Version 2.03.06 - 23rd October 2019
===================================
2019-10-21 12:03:19 +02:00
Add _cpool suffix to cache-pool LV name when used by caching LV.
2019-10-16 16:05:51 +02:00
No longer store extra UUID for cmeta and cdata cachevol layer.
2019-10-14 10:31:38 +02:00
Enhance activation of cache devices with cachevols.
2019-10-07 14:58:26 +02:00
Add _cvol in list of protected suffixes and start use it with DM UUID.
2019-10-12 23:37:17 +02:00
Rename LV converted to cachevol to use _cvol suffix.
2019-10-11 15:27:41 +02:00
Use normal LVs for wiping of cachevols.
2019-10-12 11:12:11 +02:00
Reload cleanered cache DM only with cleaner policy.
2019-10-23 09:46:23 +02:00
Fix cmd return when zeroing of cachevol fails.
2019-10-04 17:30:52 +02:00
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.
2019-10-21 16:31:53 +02:00
Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper.
2019-10-04 17:30:52 +02:00
Fix cmirrord usage of header files from device_mapper subdir.
2019-09-14 01:13:33 +02:00
Allow standalone activation of VDO pool just like for thin-pools.
2019-09-14 01:08:14 +02:00
Activate thin-pool layered volume as 'read-only' device.
2019-09-13 13:22:07 +02:00
Ignore crypto devices with UUID signature CRYPT-SUBDEV.
2019-09-06 18:09:40 +02:00
Enhance validation for thin and cache pool conversion and swapping.
2019-08-26 13:28:00 +02:00
Improve internal removal of cached devices.
2019-08-16 23:49:59 +02:00
Synchronize with udev when dropping snapshot.
2019-08-20 12:23:08 +02:00
Add missing device synchronization point before removing pvmove node.
2019-08-20 12:30:25 +02:00
Correctly set read_ahead for LVs when pvmove is finished.
2019-08-13 15:18:30 +02:00
Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
2019-08-01 10:15:27 -05:00
Prevent creating VGs with PVs with different logical block sizes.
2019-07-30 16:14:28 -05:00
Fix metadata writes from corrupting with large physical block size.
2019-06-15 09:23:03 +02:00
2019-06-15 09:21:47 +02:00
Version 2.03.05 - 15th June 2019
2019-06-10 17:04:30 +02:00
================================
2019-06-13 17:44:14 -05:00
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.
2019-06-10 17:04:30 +02:00
2019-06-10 16:59:49 +02:00
Version 2.03.04 - 10th June 2019
2019-06-07 16:33:29 +02:00
================================
2019-06-10 16:59:49 +02:00
Remove unused_duplicate_devs from cmd causing segfault in dmeventd.
2019-06-07 16:33:29 +02:00
2019-06-07 16:32:02 +02:00
Version 2.03.03 - 07th June 2019
================================
2019-06-05 14:31:34 +02:00
Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
2019-05-23 11:50:16 -05:00
Add pvck --dump option to extract metadata.
2019-04-10 12:50:53 +02:00
Fix signal delivery checking race in libdaemon (lvmetad).
2019-04-09 12:10:17 +02:00
Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering.
2019-04-08 10:56:43 -05:00
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.
2019-04-03 13:02:50 +02:00
Fix missing growth of _pmsmare volume when extending _tmeta volume.
2019-04-03 13:01:06 +02:00
Automatically grow thin metadata, when thin data gets too big.
2019-02-06 12:37:47 +01:00
Add synchronization with udev before removing cached devices.
2019-01-24 14:12:26 +01:00
Add support for caching VDO LVs and VDOPOOL LVs.
2019-02-01 21:29:22 +01:00
Add support for vgsplit with cached devices.
2019-03-13 13:02:09 +01:00
Query mpath device only once per command for its state.
2019-03-13 12:59:59 +01:00
Use device INFO instead of STATUS when checking for mpath device uuid.
2019-03-04 12:22:49 -06:00
Change default io_memory_size from 4 to 8 MiB.
Add config setting io_memory_size to set bcache size.
2019-02-21 15:31:23 -06:00
Fix pvscan autoactivation for concurrent pvscans.
2019-02-20 14:04:49 -06:00
Change scan_lvs default to 0 so LVs are not scanned for PVs.
2019-01-28 19:50:41 +01:00
Thin-pool selects power-of-2 chunk size by default.
2019-01-28 20:08:49 +01:00
Cache selects power-of-2 chunk size by default.
2019-01-10 18:00:06 +01:00
Support reszing for VDOPoolLV and VDOLV.
2019-01-18 22:27:02 +01:00
Improve -lXXX%VG modifier which improves cache segment estimation.
2019-01-20 11:45:10 +01:00
Ensure migration_threshold for cache is at least 8 chunks.
2019-01-18 22:38:34 +01:00
Restore missing man info lvcreate --zero for thin-pools.
2019-01-14 16:21:02 +01:00
Drop misleadning comment for metadata minimum_io_size for VDO segment.
2019-01-15 10:33:25 -06:00
Add device hints to reduce scanning.
2019-01-07 15:48:39 +01:00
Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator.
2019-01-04 11:11:13 +01:00
Fix generator quering lvmconfig unpresent config option.
2018-12-21 21:01:18 +01:00
Fix memleak on bcache error path code.
2018-12-21 21:29:05 +01:00
Fix missing unlock on lvm2 dmeventd plugin error path initialization.
2018-12-21 11:24:00 +01:00
Improve Makefile dependency tracking.
2018-12-20 13:17:30 +01:00
Move VDO support towards V2 target (6.2) support.
2019-06-07 16:32:02 +02:00
Version 2.03.02 - 18th December 2018
====================================
2018-12-14 01:51:51 -08:00
Fix missing proper initialization of pv_list struct when adding pv.
2019-06-07 16:32:02 +02:00
Fix (de)activation of RaidLVs with visible SubLVs.
Prohibit mirrored 'mirror' log via lvcreate and lvconvert.
2018-11-20 09:20:28 -06:00
Use sync io if async io_setup fails, or use_aio=0 is set in config.
2019-06-07 16:32:02 +02:00
Fix more issues reported by coverity scan.
2018-10-31 15:41:22 +01:00
2018-10-31 15:39:50 +01:00
Version 2.03.01 - 31st October 2018
2018-10-10 13:03:18 +02:00
===================================
2018-08-21 17:18:20 +02:00
Version 2.03.00 - 10th October 2018
===================================
2018-08-27 10:18:26 +02:00
Add hot fix to avoiding locking collision when monitoring thin-pools.
2018-09-10 18:36:52 +02:00
Allow raid4 -> linear conversion request.
2018-09-07 13:48:13 +02:00
Fix lvconvert striped/raid0/raid0_meta -> raid6 regression.
2018-08-30 12:46:41 +02:00
Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator.
2018-08-30 12:35:58 +02:00
Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service.
2018-08-24 14:46:51 -05:00
Reduce max concurrent aios to avoid EMFILE with many devices.
2018-08-22 16:39:36 +02:00
Fix lvconvert conversion attempts to linear.
2018-08-21 17:12:33 +02:00
Fix lvconvert raid0/raid0_meta -> striped regression.
2018-08-07 10:34:17 +02:00
Fix lvconvert --splitmirror for mirror type (2.02.178).
2018-08-07 10:33:19 +02:00
Do not pair cache policy and cache metadata format.
2018-07-26 01:47:39 +02:00
lvconvert: reject conversions on raid1 LVs with split tracked SubLVs
2018-07-26 01:00:11 +02:00
lvconvert: reject conversions on raid1 split tracked SubLVs
2018-06-29 13:16:08 +02:00
Add basic creation support for VDO target.
2018-07-03 11:12:04 +02:00
Never send any discard ioctl with test mode.
Fix thin-pool alloc which needs same PV for data and metadata.
2018-06-30 11:05:14 +02:00
Extend list of non-memlocked areas with newly linked libs.
2018-06-22 18:45:48 +02:00
Enhance vgcfgrestore to check for active LVs in restored VG.
2018-06-22 23:30:42 +02:00
Configure supports --disable-silent-rules for verbose builds.
2018-06-11 22:19:20 +02:00
Fix unmonitoring of merging snapshots.
2018-06-08 12:37:07 +02:00
Cache can uses metadata format 2 with cleaner policy.
2018-06-05 21:21:26 +02:00
Fix check if resized PV can also fit metadata area.
2018-06-04 11:05:28 +02:00
Avoid showing internal error in lvs output or pvmoved LVs.
2018-06-08 09:42:05 +01:00
Remove clvmd
Remove lvmlib (api)
2018-08-21 17:18:20 +02:00
Remove lvmetad
2018-02-09 01:08:55 +00:00
Use versionsort to fix archive file expiry beyond 100000 files.
2018-05-24 15:23:08 +02:00
2018-05-24 15:13:10 +02:00
Version 2.02.178-rc1 - 24th May 2018
====================================
Add libaio dependency for build.
2018-05-15 10:49:06 -05:00
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.
2018-05-24 15:13:10 +02:00
Fix lvconvert's return code on degraded -m raid1 conversion.
2018-04-30 16:31:33 +01:00
--enable-testing switch for ./configure has been removed.
2018-04-30 10:11:23 +01:00
--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.
2018-05-24 15:13:10 +02:00
Include new unit-test framework and unit tests.
2018-04-19 17:38:04 +02:00
Extend validation of region_size for mirror segment.
2018-03-29 23:26:22 +02:00
Reload whole device stack when reinitilizing mirror log.
Mirrors without monitoring are WARNING and not blocking on error.
2018-04-20 10:07:42 +02:00
Detect too big region_size with clustered mirrors.
2018-04-20 10:03:26 +02:00
Fix evaluation of maximal region size for mirror log.
2018-04-20 10:12:25 +02:00
Enhance mirror log size estimation and use smaller size when possible.
2018-04-19 12:29:42 +02:00
Fix incorrect mirror log size calculation on 32bit arch.
2018-05-22 09:46:59 +01:00
Enhance preloading tree creating.
2018-04-18 12:57:17 +02:00
Fix regression on acceptance of any LV on lvconvert.
2018-03-29 18:55:09 +02:00
Restore usability of thin LV to be again external origin for another thin.
2018-04-17 11:38:12 +02:00
Keep systemd vars on change event in 69-dm-lvm-metad.rules for systemd reload.
2018-04-17 11:32:52 +02:00
Write systemd and non-systemd rule in 69-dm-lvm-metad.rules, GOTO active one.
2018-04-06 15:25:46 +02:00
Add test for activation/volume_list (Sub)LV remnants.
2018-03-19 10:23:48 +01:00
Disallow usage of cache format 2 with mq cache policy.
2018-03-17 14:01:09 +01:00
Again accept striped LV as COW LV with lvconvert -s (2.02.169).
2018-03-17 21:44:53 +01:00
Fix raid target version testing for supported features.
2018-03-17 21:50:03 +01:00
Allow activation of pools when thin/cache_check tool is missing.
2018-03-16 15:47:12 +01:00
Remove RaidLV on creation failure when rmeta devices can't be activated.
2018-03-15 09:07:24 +01:00
Add prioritized_section() to restore cookie boundaries (2.02.177).
2018-03-14 19:33:20 +01:00
Enhance error messages when read error happens.
2018-03-13 12:48:36 +01:00
Enhance mirror log initialization for old mirror target.
2018-03-09 14:49:38 +01:00
Skip private crypto and stratis devices.
2018-03-08 13:18:39 +01:00
Skip frozen raid devices from scanning.
2018-05-24 15:13:10 +02:00
Activate RAID SubLVs on read_only_volume_list readwrite.
Offer convenience type raid5_n converting to raid10.
2018-03-08 10:32:15 +01:00
Automatically avoid reading invalid snapshots during device scan.
2018-03-08 10:27:04 +01:00
Ensure COW device is writable even for read-only thick snapshots.
2018-02-28 17:16:17 +01:00
Support activation of component LVs in read-only mode.
2018-02-27 14:13:00 +01:00
Extend internal library to recognize and work with component LV.
2018-03-06 13:31:06 +01:00
Skip duplicate check for active LV when prompting for its removal.
2018-03-05 12:54:39 +01:00
Activate correct lock holding LV when it is cached.
2018-03-06 13:38:00 +01:00
Do not modify archived metadata when removing striped raid.
2018-03-02 15:49:12 +01:00
Fix memleak on error path when obtaining lv_raid_data_offset.
2018-02-28 17:04:26 +01:00
Fix compatibility size test of extended external origin.
2018-02-28 17:00:33 +01:00
Add external_origin visiting in for_each_sub_lv().
2018-02-19 16:31:52 +01:00
Ensure cluster commands drop their device cache before locking VG.
2018-02-14 23:06:49 +01:00
Do not report LV as remotely active when it's locally exclusive in cluster.
2018-02-15 13:49:45 +01:00
Add deprecate messages for usage of mirrors with mirrorlog.
2018-01-29 16:28:57 +01:00
Separate reporting of monitoring status and error status.
2018-02-09 17:06:30 +01:00
Improve validation of created strings in vgimportclone.
toolcontext: light context missed to set-up mem mempool
If cmd->mem was null, then systemd generator was failing on:
(gdb) bt
dm_pool_alloc_aligned (p=0x0, s=96, alignment=8) at mm/pool-fast.c:95
dm_pool_alloc (p=0x0, s=96) at mm/pool-fast.c:90
dm_pool_zalloc (p=0x0, s=96) at mm/pool.c:74
config_file_read_fd (mem=0x0, cft=0x55f4339dbad0, dev=0x55f4339dfac0, reason=DEV_IO_MDA_CONTENT, offset=0, size=82293, offset2=0, size2=0,
checksum_fn=0x0, checksum=0, checksum_only=0, no_dup_node_check=0, ioflags=0, config_file_read_fd_callback=0x0, config_file_read_fd_context=0x0) at config/config.c:567
config_file_read (mem=0x0, cft=0x55f4339dbad0) at config/config.c:658
config_file_open_and_read (config_file=0x7f49aef14540 <config_file> "/var/tmp/lvm/etc/lvm/lvm.conf", source=CONFIG_FILE, cmd=0x55f4339d6260)
at config/config.c:282
_load_config_file (cmd=0x55f4339d6260, tag=0x7f49aeca15da "", local=0) at commands/toolcontext.c:824
_init_lvm_conf (cmd=0x55f4339d6260) at commands/toolcontext.c:853
create_config_context () at commands/toolcontext.c:1814
lvm_config_find_bool (libh=0x0, config_path=0x55f431a884ad "global/use_lvmetad", fail=0) at lvm_base.c:144
main ()
2018-02-09 15:39:14 +01:00
Add missing initialisation of mem pool in systemd generator.
2018-02-09 00:26:22 +01:00
Do not reopen output streams for multithreaded users of liblvm.
2018-01-29 16:20:53 +01:00
Configure ensures /usr/bin dir is checked for dmpd tools.
2018-01-31 10:53:09 +01:00
Restore pvmove support for wide-clustered active volumes (2.02.177).
2018-01-15 16:26:00 +01:00
Avoid non-exclusive activation of exclusive segment types.
2018-01-11 13:21:08 +01:00
Fix trimming sibling PVs when doing a pvmove of raid subLVs.
2018-01-12 13:34:13 +01:00
Preserve exclusive activation during thin snaphost merge.
2018-01-10 02:03:32 +00:00
Avoid exceeding array bounds in allocation tag processing.
2018-05-24 15:13:10 +02:00
Add --lockopt to common options and add option to skip selected locks.
2017-12-18 20:43:09 +00:00
2017-12-18 20:36:10 +00:00
Version 2.02.177 - 18th December 2017
=====================================
2017-12-12 22:52:22 +00:00
When writing text metadata content, use complete 4096 byte blocks.
2017-12-12 20:57:36 +00:00
Change text format metadata alignment from 512 to 4096 bytes.
2017-12-12 17:49:35 +00:00
When writing metadata, consistently skip mdas marked as failed.
2017-12-11 20:25:03 +00:00
Refactor and adjust text format metadata alignment calculation.
2017-12-11 12:36:54 +01:00
Fix python3 path in lvmdbusd to use value detected by configure.
2017-12-08 13:17:34 +01:00
Reduce checks for active LVs in vgchange before background polling.
2017-12-06 13:24:41 +01:00
Ensure _node_send_message always uses clean status of thin pool.
2017-12-06 10:41:14 +01:00
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.
2017-12-05 01:00:38 +00:00
Skip read-modify-write when entire block is replaced.
2017-12-04 23:18:56 +00:00
Categorise I/O with reason annotations in debug messages.
2017-12-06 10:41:14 +01:00
Allow extending of raid LVs created with --nosync after a failed repair.
2017-12-01 11:50:14 +01:00
Command will lock memory only when suspending volumes.
2017-11-29 22:19:46 +01:00
Merge segments when pvmove is finished.
2017-11-28 01:36:55 +00:00
Remove label_verify that has never been used.
2017-11-27 10:21:21 +01:00
Ensure very large numbers used as arguments are not casted to lower values.
2017-11-27 10:26:35 +01:00
Enhance reading and validation of options stripes and stripes_size.
2017-11-17 23:02:44 +01:00
Fix printing of default stripe size when user is not using stripes.
2017-11-24 13:55:42 +01:00
Activation code for pvmove automatically discovers holding LVs for resume.
2017-11-24 13:55:57 +01:00
Make a pvmove LV locking holder.
2017-11-24 13:53:02 +01:00
Do not change critical section counter on resume path without real resume.
2017-11-24 13:51:17 +01:00
Enhance activation code to automatically suspend pvmove participants.
2017-11-30 13:30:28 +01:00
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.
2017-11-16 19:13:03 +00:00
Remove unnecessary single read from lvmdiskscan.
2017-11-30 13:30:28 +01:00
Check raid reshape flags in vg_validate().
Add support for pvmove of cache and snapshot origins.
2017-11-15 14:26:10 +01:00
Avoid using precommitted metadata for suspending pvmove tree.
2017-11-14 20:53:55 +01:00
Ehnance pvmove locking.
2017-11-14 11:35:50 +01:00
Deactivate activated LVs on error path when pvmove activation fails.
2017-11-15 00:59:30 +00:00
Add "io" to log/debug_classes for logging low-level I/O.
2017-11-14 15:38:55 +00:00
Eliminate redundant nested VG metadata in VG struct.
2017-11-13 19:45:16 +00:00
Avoid importing persistent filter in vgscan/pvscan/vgrename.
2017-11-05 18:39:05 +01:00
Fix memleak of string buffer when vgcfgbackup runs in secure mode.
2017-10-30 20:53:20 +08:00
Do not print error when clvmd cannot find running clvmd.
2017-11-04 22:15:59 +01:00
Prevent start of new merge of snapshot if origin is already being merged.
2017-11-15 10:01:50 +01:00
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.
2017-11-03 04:42:54 +00:00
2017-11-03 02:28:55 +00:00
Version 2.02.176 - 3rd November 2017
====================================
2017-11-01 15:25:54 +01:00
Keep Install section only in lvm2-{lvmetad,lvmpolld}.socket systemd unit.
2017-11-03 02:28:55 +00:00
Fix segfault in lvm_pv_remove in liblvm. (2.02.173)
2017-10-30 14:34:30 +01:00
Do not allow storing VG metadata with LV without any segment.
2017-10-30 11:00:31 +01:00
Fix printed message when thin snapshot was already merged.
2017-10-28 00:10:16 +02:00
Remove created spare LV when creation of thin-pool failed.
2017-10-27 22:42:00 +01:00
Avoid reading ignored metadata when mda gets used again.
2017-10-27 21:38:16 +01:00
Fix detection of moved PVs in vgsplit. (2.02.175)
2017-10-26 18:18:24 +02:00
Ignore --stripes/--stripesize on RAID takeover
2017-10-26 14:02:44 +02:00
Improve used paths for generated systemd units and init shells.
2017-10-24 16:34:25 +02:00
Disallow creation of snapshot of mirror/raid subLV (was never supported).
2017-10-24 14:56:42 +02:00
Fix regression in more advanced vgname extraction in lvconvert (2.02.169).
2017-10-23 11:36:51 +02:00
Allow lvcreate to be used for caching of _tdata LV.
2017-10-23 11:20:32 +02:00
Avoid internal error when resizing cache type _tdata LV (not yet supported).
2017-10-23 10:56:44 +02:00
Show original converted names when lvconverting LV to pool volume.
2017-10-18 19:29:32 +01:00
Move lib code used only by liblvm into metadata-liblvm.c.
2017-10-17 02:12:41 +01:00
Distinguish between device not found and excluded by filter.
2017-10-16 15:05:57 +02:00
Monitor external origin LVs.
2017-10-13 14:43:15 -05:00
Remove the replicator code, including configure --with-replicators.
2017-10-13 13:11:01 +02:00
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.
2017-10-06 16:28:35 +02:00
Support for encrypted devices in fsadm.
2017-10-09 19:48:00 +01:00
Improve thin pool overprovisioning and repair warning messages.
2017-10-13 13:11:01 +02:00
Fix incorrect adjustment of region size on striped RaidLVs.
2017-10-06 22:16:58 +01:00
2017-10-06 22:10:48 +01:00
Version 2.02.175 - 6th October 2017
===================================
2017-10-05 10:16:20 +02:00
Use --help with blockdev when checking for --getsize64 support in fsadm.
2017-10-06 22:10:48 +01:00
Dump lvmdbusd debug information with SIGUSR1.
2017-10-06 02:12:42 +01:00
Fix metadata corruption in vgsplit and vgmerge intermediate states.
Add PV_MOVED_VG PV status flag to mark PVs moving between VGs.
2017-10-06 22:10:48 +01:00
Fix lvmdbus hang and recognise unknown VG correctly.
Improve error messages when command rules fail.
2017-09-19 13:08:41 -05:00
Require LV name with pvmove in a shared VG.
2017-09-19 11:52:36 -05:00
Allow shared active mirror LVs with lvmlockd, dlm, and cmirrord.
2017-09-18 11:33:47 +02:00
Support lvconvert --repair with cache and cachepool volumes.
2017-09-13 11:48:15 +02:00
lvconvert --repair respects --poolmetadataspare option.
2017-10-06 22:10:48 +01:00
Mark that we don't plan to develop liblvm2app and python bindings any further.
Fix thin pool creation in shared VG. (2.02.173)
2017-09-13 20:46:25 +01:00
2017-09-13 20:38:29 +01:00
Version 2.02.174 - 13th September 2017
======================================
2017-09-05 10:26:58 -05:00
Prevent raid1 split with trackchanges in a shared VG.
2017-08-25 14:07:45 +02:00
Avoid double unlocking of client & lockspace mutexes in lvmlockd.
2017-08-25 11:59:19 +02:00
Fix leaking of file descriptor for non-blocking filebased locking.
2017-08-15 13:23:51 +02:00
Fix check for 2nd mda at end of disk fits if using pvcreate --restorefile.
2017-08-11 20:41:37 +01:00
Use maximum metadataarea size that fits with pvcreate --restorefile.
2017-08-11 20:32:04 +01:00
Always clear cached bootloaderarea when wiping label e.g. in pvcreate.
2017-08-11 20:28:53 +01:00
Disallow --bootloaderareasize with pvcreate --restorefile.
2017-08-07 10:37:22 -05:00
Fix lvmlockd check for running lock managers during lock adoption.
2017-08-05 16:18:36 +01:00
Add --withgeneralpreamble and --withlocalpreamble to lvmconfig.
Improve makefiles' linking.
2017-08-01 11:17:04 +02:00
Fix some paths in generated makefiles to respected configured settings.
2017-07-21 20:58:33 +02:00
Add warning when creating thin-pool with zeroing and chunk size >= 512KiB.
2017-07-26 23:18:03 +01:00
Introduce exit code 4 EINIT_FAILED to replace -1 when initialisation fails.
2017-07-20 19:04:59 +02:00
Add synchronization points with udev during reshape of raid LVs.
2017-07-20 17:19:09 +01:00
2017-07-20 16:57:27 +01:00
Version 2.02.173 - 20th July 2017
2017-06-28 17:00:49 +01:00
=================================
2017-07-20 16:57:27 +01:00
Add synchronization points with udev during conversion of raid LVs.
2017-07-16 09:53:49 +02:00
Improve --size args validation and report more detailed error message.
2017-07-17 12:23:37 +02:00
Initialize debugging mutex before any debug message in clvmd.
2017-07-20 16:57:27 +01:00
Log error instead of warn when noticing connection problem with lvmetad.
2017-07-16 10:20:37 +02:00
Fix memory leak in lvmetad when working with duplicates.
2017-07-20 16:57:27 +01:00
Remove restrictions on reshaping open and clustered raid devices.
Add incompatible data_offset to raid metadata to fix reshape activation.
2017-07-11 01:42:06 +01:00
Accept 'lvm -h' and 'lvm --help' as well as 'lvm help' for help.
2017-07-06 14:53:10 +01:00
Suppress error message from accept() on clean lvmetad shutdown.
2017-07-01 01:34:38 +01:00
Tidy clvmd client list processing and fix segfaults.
2017-07-01 01:17:40 +01:00
Protect clvmd debug log messages with mutex and add client id.
2017-06-29 13:15:47 +02:00
Fix shellcheck reported issues for script files.
2017-06-28 17:00:49 +01:00
2017-06-28 16:38:46 +01:00
Version 2.02.172 - 28th June 2017
=================================
2017-06-26 20:03:05 +02:00
Add missing NULL to argv array when spliting cmdline arguments.
2017-06-24 16:03:21 +02:00
Add display_percent helper function for printing percent values.
2017-06-28 16:38:46 +01:00
lvconvert --repair handles failing raid legs (present but marked 'D'ead).
2017-06-22 20:05:26 +02:00
Do not lvdisplay --maps unset settings of cache pool.
2017-06-22 19:53:27 +02:00
Fix lvdisplay --maps for cache pool without policy settings.
2017-06-22 17:08:47 +02:00
Support aborting of flushing cache LV.
2017-06-19 23:11:11 +02:00
Reenable conversion of data and metadata thin-pool volumes to raid.
2017-06-16 13:20:25 +02:00
Improve raid status reporting with lvs.
2017-06-28 16:38:46 +01:00
No longer necessary to '--force' a repair for RAID1.
2017-06-14 08:33:42 -05:00
Linear to RAID1 upconverts now use "recover" sync action, not "resync".
2017-06-09 10:59:37 +02:00
Improve lvcreate --cachepool arg validation.
2017-06-28 16:38:46 +01:00
Limit maximum size of thin-pool for specific chunk size.
2017-06-01 11:10:09 -05:00
Print a warning about in-use PVs with no VG using them.
2017-05-26 13:26:09 -05:00
Disable automatic clearing of PVs that look like in-use orphans.
2017-05-29 14:20:38 +02:00
Cache format2 flag is now using segment name type field.
2017-05-29 14:20:05 +02:00
Support storing status flags via segtype name field.
2017-05-23 13:58:12 +02:00
Stop using '--yes' mode when fsadm runs without terminal.
2017-05-10 15:32:48 +02:00
Extend validation of filesystems resized by fsadm.
2017-05-18 00:18:15 +02:00
Enhance lvconvert automatic settings of possible (raid) LV types.
2017-05-15 10:57:49 -05:00
Allow lvchange to change properties on a thin pool data sub LV.
2017-05-12 02:04:05 +01:00
Fix lvcreate extent percentage calculation for mirrors.
2017-05-11 02:04:50 +01:00
Don't reinstate still-missing devices when correcting inconsistent metadata.
2017-05-09 20:52:15 +02:00
Properly handle subshell return codes in fsadm.
2017-05-05 10:02:54 -05:00
Disallow cachepool creation with policy cleaner and mode writeback.
2017-05-03 11:26:58 +01:00
2017-05-03 11:23:31 +01:00
Version 2.02.171 - 3rd May 2017
===============================
Fix memory warnings by using mempools for command definition processing.
2017-04-28 16:43:42 -05:00
Fix running commands from a script file.
2017-04-28 09:06:41 -05:00
Add pvcreate prompt when device size doesn't match setphysicalvolumesize.
2017-04-27 15:52:25 +02:00
lvconvert - preserve region size on raid1 image count changes
2017-04-28 14:34:26 +01:00
Adjust pvresize/pvcreate messages and prompt if underlying dev size differs.
2017-04-27 15:29:03 +02:00
raid - sanely handle insufficient space on takeover.
2017-04-18 20:37:53 +01:00
Fix configure --enable-notify-dbus status message.
Change configure option name prefix from --enable-lockd to --enable-lvmlockd.
2017-04-13 17:49:58 +02:00
lvcreate - raise mirror/raid default regionsize to 2MiB
2017-04-13 02:17:27 +01:00
Add missing configurable prefix to configuration file installation directory.
2017-04-13 01:47:47 +01:00
2017-04-13 00:43:31 +01:00
Version 2.02.170 - 13th April 2017
2017-03-28 16:14:03 +01:00
==================================
2017-04-08 19:43:20 +02:00
Introduce global/fsadm_executable to make fsadm path configurable.
2017-04-08 19:38:17 +02:00
Look for limited thin pool metadata size when using 16G metadata.
2017-04-12 13:45:37 -05:00
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.
2017-04-12 19:41:55 +02:00
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
2017-04-05 11:06:56 +02:00
Fix systemd unit existence check for lvmconf --services --startstopservices.
2017-03-30 00:17:37 +02:00
Check and use PATH_MAX buffers when creating vgrename device paths.
2017-03-28 16:14:03 +01:00
2017-03-28 15:28:53 +01:00
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.
2017-03-16 11:56:19 -05:00
Disable lvmetad when lvconvert --repair is run.
2017-03-16 01:09:29 +00:00
Remove obsolete lvmchange binary - convert to built-in command.
2017-03-28 15:28:53 +01:00
Show more information for cached volumes in lvdisplay [-m].
2017-02-26 20:18:37 +01:00
Add option for lvcreate/lvconvert --cachemetadataformat auto|1|2.
2017-03-01 12:26:56 +01:00
Support cache segment with configurable metadata format.
2017-03-28 15:28:53 +01:00
Add allocation/cache_metadata_format profilable settings.
2017-02-27 14:54:08 +01:00
Use function cache_set_params() for both lvcreate and lvconvert.
2017-03-09 17:15:56 +01:00
Skip rounding on cache chunk size boudary when create cache LV.
2017-02-27 14:53:45 +01:00
Improve cache_set_params support for chunk_size selection.
2017-03-05 17:42:15 +01:00
Fix metadata profile allocation/cache_[mode|policy] setting.
Fix missing support for using allocation/cache_pool_chunk_size setting.
2017-02-27 13:52:51 +00:00
Upstream git moved to https://sourceware.org/git/?p=lvm2
2017-02-24 05:24:59 +01:00
Support conversion of raid type, stripesize and number of disks
2017-02-23 15:09:29 +01:00
Reject writemostly/writebehind in lvchange during resynchronization.
2017-02-22 15:12:54 +01:00
Deactivate active origin first before removal for improved workflow.
2017-03-28 15:28:53 +01:00
Fix regression of accepting both --type and -m with lvresize. (2.02.158)
2017-02-13 15:36:17 -06:00
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.
2017-02-13 15:22:26 -06:00
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.
2017-02-13 15:36:17 -06:00
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.
2017-02-11 18:14:00 +01:00
Add extra memory page when limiting pthread stack size in clvmd.
2017-03-28 15:28:53 +01:00
Support striped/raid0* <-> raid10_near conversions.
Support shrinking of RaidLVs.
Support region size changes on existing RaidLVs.
2017-02-04 14:47:27 +01:00
Avoid parallel usage of cpg_mcast_joined() in clvmd with corosync.
lvconvert: add segtypes raid6_{ls,rs,la,ra}_6 and conversions to/from it
Add:
- support for segment types raid6_{ls,rs,la,ra}_6
(striped raid with dedicated last Q-Syndrome SubLVs)
- conversion support from raid5_{ls,rs,la,ra} to/from raid6_{ls,rs,la,ra}_6
- setting convenient segtypes on conversions from/to raid4/5/6
- related tests to lvconvert-raid-takeover.sh factoring
out _lvcreate,_lvconvert funxtions
Related: rhbz1366296
2017-02-05 00:53:36 +01:00
Support raid6_{ls,rs,la,ra}_6 segment types and conversions from/to it.
2017-02-04 14:09:26 +01:00
Support raid6_n_6 segment type and conversions from/to it.
2017-02-03 23:41:48 +01:00
Support raid5_n segment type and conversions from/to it.
2017-01-18 09:53:46 +01:00
Support new internal command _dmeventd_thin_command.
2017-01-18 09:54:32 +01:00
Introduce new dmeventd/thin_command configurable setting.
2017-01-09 16:30:49 +01:00
Use new default units 'r' for displaying sizes.
2017-01-06 11:16:07 +01:00
Also unmount mount point on top of MD device if using blkdeactivate -u.
2017-01-05 15:32:25 +01:00
Restore check preventing resize of cache type volumes (2.02.158).
2017-01-03 14:47:46 +01:00
Add missing udev sync when flushing dirty cache content.
2017-01-03 13:04:51 +01:00
vgchange -p accepts only uint32 numbers.
2016-12-22 19:51:35 +01:00
Report thin LV date for merged LV when the merge is in progress.
2016-12-22 19:46:02 +01:00
Detect if snapshot merge really started before polling for progress.
2016-12-22 21:15:31 +01:00
Checking LV for merging origin requires also it has merged snapshot.
2016-12-20 15:59:11 +01:00
Extend validation of metadata processing.
2016-12-19 14:08:56 +01:00
Enable usage of cached volumes as snapshot origin LV.
2016-12-19 14:06:55 +01:00
Fix displayed lv name when splitting snapshot (2.02.146).
2016-12-18 16:36:33 +01:00
Warn about command not making metadata backup just once per command.
2016-12-17 22:41:27 +01:00
Enable usage of cached volume as thin volume's external origin.
2016-12-18 15:05:31 +01:00
Support cache volume activation with -real layer.
2016-12-17 22:40:14 +01:00
Improve search of lock-holder for external origin and thin-pool.
2016-12-17 21:52:27 +01:00
Support status checking of cache volume used in layer.
2016-12-18 15:05:57 +01:00
Avoid shifting by one number of blocks when clearing dirty cache volume.
2016-12-17 21:58:35 +01:00
Extend metadata validation of external origin LV use count.
2016-12-17 21:55:02 +01:00
Fix dm table when the last user of active external origin is removed.
2016-12-17 21:54:51 +01:00
Improve reported lvs status for active external origin volume.
2016-12-14 21:47:38 +01:00
Fix table load for splitted RAID LV and require explicit activation.
2016-12-14 10:19:25 +01:00
Always active splitted RAID LV exclusively locally.
2016-12-13 14:52:06 +01:00
Do not use LV RAID status bit for segment status.
2016-12-14 21:47:38 +01:00
Check segtype directly instead of checking RAID in segment status.
2016-12-13 12:31:28 +01:00
Reusing exiting code for raid image removal.
2016-12-11 14:26:17 +01:00
Fix pvmove leaving -pvmove0 error device in clustered VG.
2016-12-10 14:51:00 +01:00
Avoid adding extra '_' at end of raid extracted images or metadata.
2016-12-10 20:53:17 +01:00
Optimize another _rmeta clearing code.
2016-12-10 20:00:32 +01:00
Fix deactivation of raid orphan devices for clustered VG.
2016-12-10 20:01:05 +01:00
Fix lvconvert raid1 to mirror table reload order.
2016-12-10 19:54:09 +01:00
Add internal function for separate mirror log preparation.
2016-12-09 15:17:53 -06:00
Fix segfault in lvmetad from missing NULL in daemon_reply_simple.
2016-12-02 13:46:47 +01:00
Simplify internal _info_run() and use _setup_task_run() for mknod.
2016-12-01 14:56:32 +01:00
Better API for internal function _setup_task_run.
2016-12-05 15:23:18 +01:00
Avoid using lv_has_target_type() call within lv_info_with_seg_status.
2016-12-05 14:31:25 +01:00
Simplify internal lv_info_with_seg_status API.
2016-12-05 10:20:42 +01:00
Decide which status is needed in one place for lv_info_with_seg_status.
2016-12-01 10:37:03 +01:00
Fix matching of LV segment when checking for it info status.
2016-12-02 13:57:52 +01:00
Report log_warn when status cannot be parsed.
2016-12-01 10:43:55 +01:00
Test segment type before accessing segment members when checking status.
2016-12-01 16:09:53 +01:00
Implement compatible target function for stripe segment.
2016-12-01 17:58:06 +01:00
Use status info to report merge failed and snapshot invalid lvs fields.
2016-11-30 23:21:11 +00:00
2016-11-30 23:14:34 +00:00
Version 2.02.168 - 30th November 2016
=====================================
2016-12-01 00:00:02 +01:00
Display correct sync_percent on large RaidLVs
2016-11-30 16:40:49 -06:00
lvmdbusd --blackboxsize <n> added, used to override default size of 16
2016-11-30 23:17:21 +01:00
Allow a transiently failed RaidLV to be refreshed
2016-11-23 10:57:36 +01:00
Use lv_update_and_reload() inside mirror code where it applies.
2016-11-23 17:11:26 +01:00
Preserve mirrored status for temporary layered mirrors.
2016-11-21 14:54:51 +01:00
Use transient raid check before repairing raid volume.
2016-11-21 12:43:18 +01:00
Implement transient status check for raid volumes.
2016-11-14 14:46:44 +01:00
Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification.
2016-11-30 23:14:34 +00:00
Avoid duplicated underscore in name of extracted LV image.
2016-10-18 12:58:22 +02:00
Missing stripe filler now could be also 'zero'.
2016-10-17 11:16:16 +02:00
lvconvert --repair accepts --interval and --background option.
2016-11-08 11:54:28 +01:00
More efficiently prepare _rmeta devices when creating a new raid LV.
2016-11-05 01:14:06 +00:00
2016-11-05 01:03:32 +00:00
Version 2.02.167 - 5th November 2016
====================================
2016-10-31 18:03:06 +01:00
Use log_error in regex and sysfs filter to describe reason of failure.
2016-11-01 16:41:30 +01:00
Fix blkdeactivate to deactivate dev stack if dev on top already unmounted.
2016-10-28 15:54:27 +02:00
Prevent non-synced raid1 repair unless --force
2016-10-27 11:38:16 +02:00
Prevent raid4 creation/conversion on non-supporting kernels
2016-10-21 18:59:59 +02:00
Add direct striped -> raid4 conversion
Fix raid4 parity image pair position on conversions from striped/raid0*
2016-10-11 11:59:43 +02:00
Fix a few unconverted return code values for some lvconvert error path.
2016-09-27 18:22:54 +01:00
Disable lvconvert of thin pool to raid while active.
2016-09-27 10:47:54 +02:00
Disable systemd service start rate limiting for lvm2-pvscan@.service.
2016-09-26 14:29:35 +01:00
2016-09-26 14:20:08 +01:00
Version 2.02.166 - 26th September 2016
======================================
2016-09-23 14:51:15 +02:00
Fix lvm2-activation-generator to read all LVM2 config sources. (2.02.155)
2016-09-22 23:35:37 +02:00
Fix lvchange-rebuild-raid.sh to cope with older target versions.
2016-09-21 14:59:14 +02:00
Use dm_config_parse_without_dup_node_check() to speedup metadata reading.
2016-09-21 00:38:38 +02:00
Fix lvconvert --repair regression
2016-09-20 14:26:11 +02:00
Fix reported origin lv field for cache volumes. (2.02.133)
2016-09-20 02:30:58 +01:00
Always specify snapshot cow LV for monitoring not internal LV. (2.02.165)
2016-04-23 21:09:09 +02:00
Fix lvchange --discard|--zero for active thin-pool.
2016-09-16 21:50:14 +02:00
Enforce 4MiB or 25% metadata free space for thin pool operations.
2016-09-16 21:47:57 +02:00
Fix lock-holder device for thin pool with inactive thin volumes.
2016-09-16 02:11:58 +01:00
Use --alloc normal for mirror logs even if the mimages were stricter.
2016-09-15 13:59:52 +01:00
Use O_DIRECT to gather metadata in lvmdump.
2016-09-26 14:20:08 +01:00
Ignore creation_time when checking for matching metadata for lvmetad.
2016-09-12 16:37:31 +02:00
Fix possible NULL pointer derefence when checking for monitoring.
2016-09-12 13:54:37 +02:00
Add lvmreport(7) man page.
2016-09-12 13:03:09 +01:00
Don't install lvmraid(7) man page when raid excluded. (2.02.165)
2016-09-09 20:45:37 +02:00
Report 0% as dirty (copy%) for cache without any used block.
2016-09-09 14:25:53 +02:00
Fix lvm2api reporting of cache data and metadata percent.
2016-09-09 14:24:49 +02:00
Restore reporting of metadata usage for cache volumes (2.02.155).
2016-09-06 09:29:14 -05:00
Support raid scrubbing on cache origin LV.
2016-09-07 02:34:15 +01:00
2016-09-07 02:25:51 +01:00
Version 2.02.165 - 7th September 2016
=====================================
Add lvmraid(7) man page.
2016-09-05 12:13:10 +02:00
Use udev db to check for mpath components before running pvscan for lvmetad.
2016-08-30 15:33:50 +02:00
Use lsblk -s and lsblk -O in lvmdump only if these options are supported.
2016-08-30 12:04:23 +01:00
Fix number of stripes shown in lvcreate raid10 message when too many.
2016-09-07 02:25:51 +01:00
Change lvmdbusd to use new lvm shell facilities.
2016-08-24 10:05:09 +02:00
Do not monitor cache-pool metadata when LV is just being cleared.
2016-08-24 10:16:01 +02:00
Add allocation/cache_pool_max_chunks to prevent misuse of cache target.
2016-08-26 01:21:01 +01:00
Give error not segfault in lvconvert --splitmirrors when PV lies outside LV.
2016-08-25 14:53:32 +02:00
Fix typo in report/columns_as_rows config option name recognition (2.02.99).
2016-08-24 19:37:50 +01:00
Avoid PV tags when checking allocation against parallel PVs.
2016-08-24 15:39:56 +01:00
Disallow mirror conversions of raid10 volumes.
2016-08-23 02:24:30 +01:00
Fix dmeventd unmonitoring when segment type (and dso) changes.
2016-08-20 02:14:33 +01:00
Don't allow lvconvert --repair on raid0 devices or attempt to monitor them.
2016-08-19 14:19:51 +01:00
No longer adjust incorrect number of raid stripes supplied to lvcreate.
2016-08-18 14:06:13 +01:00
Move lcm and gcd to lib/misc.
2016-09-07 02:25:51 +01:00
Fix vgsplit of external origins. (2.02.162)
Prohibit creation of RAID LVs unless VG extent size is at least the page size.
2016-08-15 19:38:45 +01:00
Suppress some unnecessary --stripesize parameter warnings.
2016-08-15 18:22:32 +02:00
Fix 'pvmove -n name ...' to prohibit collocation of RAID SubLVs
2016-08-15 13:23:06 +01:00
2016-08-15 13:01:27 +01:00
Version 2.02.164 - 15th August 2016
2016-08-10 03:01:55 +01:00
===================================
2016-08-15 13:01:27 +01:00
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.
2016-08-11 23:31:49 +01:00
Avoid double suffix when naming _rmeta LV paired with _rimage LV.
2016-08-10 03:01:55 +01:00
2016-08-10 02:42:35 +01:00
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.
2016-08-08 14:25:46 +01:00
Limit use of --corelog and --mirrorlog to mirrors in lvconvert.
2016-08-08 16:00:49 +02:00
Reject --nosync option for RAID6 LVs in lvcreate.
2016-08-08 11:57:13 +02:00
Do not refresh whole cmd context if profile dropped after processing LVM cmd.
2016-08-07 00:56:08 +01:00
Support straightforward lvconvert between striped and raid4 LVs.
Support straightforward lvconvert between raid1 and mirror LVs.
2016-08-07 00:30:26 +01:00
Report supported conversions when asked for unsupported raid lvconvert.
2016-08-05 16:31:46 +02:00
Add "--rebuild PV" option to lvchange to allow for PV selective rebuilds.
2016-08-02 19:50:04 +01:00
Preserve existing mirror region size when using --repair.
2016-08-02 15:57:45 +01:00
Forbid stripe parameters with lvconvert --repair.
2016-07-30 02:05:50 +01:00
Unify stripe size validation into get_stripe_params to catch missing cases.
2016-07-30 00:22:13 +01:00
Further lvconvert validation logic refactoring.
2016-07-28 19:58:22 +01:00
2016-07-28 18:35:32 +01:00
Version 2.02.162 - 28th July 2016
2016-07-15 22:02:58 +01:00
=================================
2016-07-28 18:35:32 +01:00
Extend vg_validate also to check raid configurations thoroughly.
2016-07-27 16:14:47 +02:00
Support lvconvert -Zn also when doing full cache pool conversion.
2016-07-27 13:36:25 +02:00
Suppress not zeroing warn when converting to thin LV for non-zeroing tpool.
2016-07-26 15:46:36 +02:00
Fix automatic updates of PV extension headers to newest version.
2016-07-25 21:15:25 +01:00
Improve lvconvert --trackchanges validation to require --splitmirrors 1.
2016-07-25 15:05:08 +02:00
Add note about lastlog built-in command to lvm man page.
2016-07-25 12:56:25 +01:00
Fix unrecognised segtype flag message.
2016-07-23 21:17:56 +02:00
lvconvert not clears cache pool metadata ONLY with -Zn.
2016-07-28 18:35:32 +01:00
Add allocation/raid_stripe_all_devices to reinstate previous behaviour.
Create raid stripes across fixed small numbers of PVs instead of all PVs.
2016-07-19 17:11:57 +02:00
Enabled lvconvert --uncache to work with partial VG.
2016-07-28 18:35:32 +01:00
Disallow lvconvert --replace with raid0* LVs.
Fix some lvmetad changed VG metadata notifications that sent uncommitted data.
2016-07-15 22:02:58 +01:00
2016-07-15 21:55:38 +01:00
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)
2016-07-11 12:43:28 +02:00
New LVM_LOG_FILE_MAX_LINES env var to limit max size of created logs.
2016-07-06 17:04:25 +01:00
2016-07-06 16:55:44 +01:00
Version 2.02.160 - 6th July 2016
2016-07-06 01:14:33 +01:00
================================
2016-07-06 16:55:44 +01:00
Minor fixes from coverity.
2016-07-06 01:14:33 +01:00
2016-07-06 00:59:28 +01:00
Version 2.02.159 - 6th July 2016
================================
2016-07-01 22:20:54 +01:00
Add raid0_meta segment type that provides metadata space for raid conversions.
2016-06-30 15:54:27 +02:00
Fix created link for a used pool for vgmknode.
2016-06-30 17:59:44 +01:00
Introduce and use is_power_of_2 macro.
2016-06-28 23:44:15 +01:00
Support conversions between striped and raid0 segment types.
2016-06-28 02:42:30 +01:00
Add infrastructure for raid takeover lvconvert options.
2016-06-25 20:47:49 +01:00
2016-06-25 20:35:14 +01:00
Version 2.02.158 - 25th June 2016
2016-06-17 13:57:33 +01:00
=================================
2016-06-27 11:10:58 -05:00
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.
2016-06-22 23:32:35 +02:00
Pool metadata lvresize uses now same code as resize of normal volume.
2016-06-22 23:21:27 +02:00
Preserve monitoring status when updating thin-pool metadata.
2016-06-23 21:31:49 +01:00
Return 0 (inactive) when status cannot be queried in _lv_active().
2016-06-21 15:16:03 +02:00
Switch to log_warn() for failing activation status query.
2016-06-25 20:35:14 +01:00
Replace vgimportclone script with binary.
While lvmetad is shutting down, continue handling all connections cleanly.
2016-06-22 18:40:22 +01:00
Refactor lvconvert argument handling code.
2016-06-25 20:35:14 +01:00
Notify lvmetad when vgcfgrestore changes VG metadata.
2016-06-15 13:35:27 +02:00
Add --logonly option to report only cmd log for a command, not other reports.
2016-06-14 13:25:03 +02:00
Add log/command_log_selection to configure default selection used on cmd log.
2016-06-14 13:21:53 +02:00
Use 'orphan' object type in cmd log for groups to collect PVs not yet in VGs.
2016-05-20 15:30:58 +02:00
Add lvm lastlog command for query and display of last cmd's log in lvm shell.
2016-05-23 15:27:09 +02:00
Report per-object return codes via cmd log while processing multiple objects.
2016-05-20 13:26:02 +02:00
Annotate processing code with log report hooks for per-object command log.
2016-05-19 12:19:48 +02:00
Also pass common printed messages (besides warnings and errors) to log report.
2016-05-03 11:46:52 +02:00
Log warnings and errors via report during cmd processing if this is enabled.
2016-05-03 11:46:28 +02:00
Make it possible to iterate over internal 'orphan' VGs in process_each_vg fn.
2016-05-26 15:20:27 +02:00
Make -S|--select option groupable that allows this option to be repeated.
2016-05-26 15:12:38 +02:00
Make -O|--sort option groupable that allows this option to be repeated.
2016-06-16 15:49:18 +02:00
Add --configreport option to select report for which next options are applied.
2016-06-17 11:03:14 +02:00
Add support for priorities on grouping command arguments.
2016-06-14 12:38:40 +02:00
Add report/{pvs,vgs,lvs,pvsegs,segs}_{cols,sort}_full to lvm.conf.
2016-05-03 11:18:16 +02:00
Add lvm fullreport command for joined PV, VG, LV and segment report per VG.
2016-05-23 10:16:29 +02:00
Integrate report group handling and cmd log report into cmd processing code.
2016-06-14 11:58:01 +02:00
Add log/report_command_log to lvm.conf to enable or disable cmd log report.
2016-05-24 12:05:42 +02:00
Add log/report_output_format to lvm.conf for default report output format.
2016-05-02 14:22:02 +02:00
Recognize --reportformat {basic|json} option to select report output format.
2016-06-14 13:10:29 +02:00
Add log/command_log_{sort,cols} to lvm.conf to configure command log report.
2016-05-10 15:15:48 +02:00
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.
2016-06-17 13:57:33 +01:00
2016-06-17 13:48:39 +01:00
Version 2.02.157 - 17th June 2016
2016-06-11 00:14:00 +01:00
=================================
2016-06-17 13:48:39 +01:00
Change pvscan --cache -aay to scan locally if lvmetad fails.
2016-06-11 00:14:00 +01:00
2016-06-11 00:08:08 +01:00
Version 2.02.156 - 11th June 2016
=================================
2016-06-10 13:39:23 -05:00
Don't allow duplicate orphan PVs to be used with vgcreate/vgextend/pvcreate.
Improve handling of lvmetad update failures.
2016-06-08 20:52:14 +02:00
Yes/No prompt accepts '^[ ^t]*([Yy]([Ee]([Ss]|)|)|[Nn]([Oo]|))[ ^t]*$'.
2016-06-09 13:51:09 +02:00
If available, also collect output from lsblk command when running lvmdump -s.
2016-06-03 23:20:43 +01:00
2016-06-03 23:16:50 +01:00
Version 2.02.155 - 3rd June 2016
2016-05-14 02:12:23 +01:00
================================
2016-06-03 23:16:50 +01:00
Reject PV tags on pvmove cmdline because only 1 PV is supported. (2.02.141)
2016-06-03 12:38:46 +02:00
Fix compilation error when building with configure --disable-devmapper.
2016-06-02 13:41:55 +02:00
Fix lvmconfig --type diff to display complete diff if config cascade used.
2016-06-01 16:39:47 +02:00
Automatically filter out partitioned loop devices with partscan (losetup -P).
2016-05-30 16:37:05 +02:00
Fix lvm devtypes internal error if -S used with field name from pvs/vgs/lvs.
2016-05-25 16:26:10 +02:00
When reporting Data%,Snap%,Meta%,Cpy%Sync use single ioctl per LV.
2016-05-25 16:18:38 +02:00
Add lvseg_percent_with_info_and_seg_status() for percent retrieval.
2016-05-25 16:14:46 +02:00
Enhance internal seg_status handling to understand snapshots better.
2016-05-20 13:20:54 +02:00
When refresh failed in suspend, call resume upon error path.
2016-05-27 14:19:29 +02:00
Support passthrough cache mode when waiting for clean cache.
2016-05-24 15:19:01 +02:00
Check cache status only for 'in-use' cache pools.
2016-05-27 13:45:47 +02:00
Extend setup_task() to preset flushing for dm_task object.
2016-05-27 13:49:30 +02:00
When checking LV is a merging COW, validate its a COW LV first.
2016-05-27 13:48:30 +02:00
Correcting value in copy_percent() for 100%.
2016-05-26 09:13:30 -05:00
Update vgreduce to use process_each_vg.
Update lvconvert to use process_each_lv.
Update pvscan to use process_each_vg for autoactivation.
2016-05-23 16:46:38 +01:00
Add basic support for --type raid0 using md.
2016-04-25 13:39:30 +02:00
Add support for lvchange --cachemode for cached LV.
2016-05-18 09:20:37 -05:00
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.
2016-05-14 02:12:23 +01:00
2016-05-14 01:57:42 +01:00
Version 2.02.154 - 14th May 2016
================================
Fix liblvm segfault after failure initialising lvmetad connection.
2016-05-12 01:05:52 +01:00
Retry open without O_NOATIME if it fails (not file owner/CAP_FOWNER).
2016-05-14 01:57:42 +01:00
Split _report into one fn for options and arguments and one for processing.
2016-05-07 00:48:40 +01:00
2016-05-07 00:36:59 +01:00
Version 2.02.153 - 7th May 2016
===============================
2016-05-06 09:30:01 -05:00
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.
2016-05-05 21:34:21 +02:00
Support --chunksize option also when caching LV when possible.
2016-04-27 11:11:58 +02:00
Add function to check for target presence and version via 1 ioctl.
2016-04-30 01:12:33 +01:00
2016-04-30 01:07:26 +01:00
Version 2.02.152 - 30th April 2016
2016-04-23 00:43:13 +01:00
==================================
2016-04-29 19:49:21 +01:00
Use any inherited tags when wiping metadata sub LVs to ensure activation.
2016-04-29 19:47:15 +01:00
Add str_list_wipe.
2016-04-25 13:44:42 +02:00
Improve support for interrupting procesing of volumes during lvchange.
2016-04-25 13:40:26 +02:00
Use failed command return code when lvchanging read-only volume.
2016-04-23 21:08:46 +02:00
Show creation transaction_id and zeroing state of pool with thin volume.
2016-04-26 21:43:41 +02:00
Stop checking for dm_cache_mq policy with cache target 1.9 (alias to smq).
2016-04-26 21:41:04 +02:00
Check first /sys/module/dm_* dir existance before using modprobe.
2016-04-25 14:48:46 +02:00
Remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0).
2016-04-23 00:43:13 +01:00
2016-04-23 00:33:59 +01:00
Version 2.02.151 - 23rd April 2016
==================================
2016-04-21 20:19:24 +02:00
Fix error path after reusing of _setup_task (2.02.150).
2016-04-21 20:21:59 +02:00
Fix memory access for empty sysfs values (2.02.149).
2016-04-21 16:40:44 -05:00
Disable lvmetad when lvm1 metadata is seen, so commands revert to scanning.
2016-04-21 22:14:10 +01:00
Suppress errors when snapshot merge gets delayed because volume is in use.
2016-04-21 00:30:17 +01:00
Avoid internal snapshot LV names in messages.
2016-04-20 23:15:00 +02:00
Autodetect and use /run/lock dir when available instead of /var/lock.
2016-04-18 22:44:30 +02:00
lvchange --refresh for merging thin origin will retry to deactivate snapshot.
2016-04-17 14:51:48 +02:00
Recognize in-progress snapshot merge for thin volumes from dm table.
2016-04-15 02:21:27 +01:00
Avoid deciding to initiate a pending snapshot merge during resume.
2016-04-14 16:55:34 -05:00
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.
2016-04-14 20:48:28 +01:00
Don't try deactivating fictional internal LV before snapshot merge. (2.02.105)
2016-04-11 10:08:16 +02:00
When not obtaining devs from udev, check they exist before caching them.
2016-04-11 10:23:16 +02:00
Detect device mismatch also when compiling without udev support.
2016-04-09 02:08:44 +01:00
Version 2.02.150 - 9th April 2016
2016-04-01 20:36:40 +01:00
=================================
2016-04-08 16:00:03 +02:00
Avoid using flushing dm status ioctl when checking for usable DM device.
2016-04-07 21:37:26 +02:00
Check for devices without LVM- uuid prefix only with kernels < 3.X.
2016-04-07 11:12:49 +02:00
Reuse %FREE size aproximation with lvcreate -l%PVS thin-pool.
2016-04-06 22:36:42 +01:00
Allow the lvmdump directory to exist already provided it is empty.
2016-04-07 22:20:01 +02:00
Show lvconverted percentage with 2 decimal digits.
Fix regression in suspend when repairing --type mirror (2.02.133).
2016-04-01 20:36:40 +01:00
2016-04-01 20:29:52 +01:00
Version 2.02.149 - 1st April 2016
=================================
2016-03-30 10:16:41 +02:00
Do not flush thin-pool when checking metadata fullness.
2016-03-30 11:11:37 +02:00
Remove spurious error about no value in /sys/dev/block/major:minor/dm/uuid.
2016-03-30 10:39:30 +02:00
Fix device mismatch detection for LV if persistent .cache file is used.
2016-03-30 10:29:35 +02:00
Fix holder device not being found in /dev while sysfs has it during dev scan.
2016-03-26 09:07:21 +00:00
2016-03-26 09:04:50 +00:00
Version 2.02.148 - 26th March 2016
2016-03-19 01:18:28 +00:00
==================================
2016-03-26 09:04:50 +00:00
Introduce TARGET_NAME and MODULE NAME macros.
2016-03-22 17:46:15 +00:00
Replace hard-coded module and target names with macros.
2016-03-22 00:12:08 +00:00
Add pv_major and pv_minor report fields.
2016-03-16 14:01:26 +01:00
Detect and warn about mismatch between devices used and assumed for an LV.
2016-03-19 01:18:28 +00:00
2016-03-19 01:14:29 +00:00
Version 2.02.147 - 19th March 2016
2016-03-11 00:21:53 +00:00
==================================
2016-03-18 13:42:06 +01:00
If available, use /proc/self/mountinfo to detect mounted volume in fsadm.
2016-03-15 23:13:28 +01:00
Fix resize of stacked raid thin data volume (2.02.141).
2016-03-14 23:19:22 +01:00
Fix test for lvremove failure in lvconvert --uncache (2.02.146).
2016-03-11 00:21:53 +00:00
2016-03-11 00:19:16 +00:00
Version 2.02.146 - 11th March 2016
==================================
2016-03-03 20:27:09 +01:00
More man page cleanups in lvconvert.
2016-03-09 17:52:29 +01:00
Fix makefile vpath in /udev when generating udev rules files.
2016-03-08 10:13:38 +01:00
Another attempt to improve VG name parsing for lvconvert (2.02.144).
2016-03-10 17:56:43 +01:00
Use new cache status info and skip flushing for failed cache.
2016-03-08 10:47:27 +01:00
Support --uncache with missing PVs.
2016-03-08 19:50:22 +00:00
Tidy report field names, headings and widths.
2016-03-07 10:50:45 -06:00
Add vgscan --notifydbus to send a dbus notification.
2016-02-22 09:42:03 -06:00
Add dbus notification from commands after a PV/VG/LV changes state.
2016-03-04 18:06:24 +00:00
2016-03-04 17:59:21 +00:00
Version 2.02.145 - 4th March 2016
=================================
2016-03-04 12:08:02 +01:00
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.
2016-03-02 23:51:16 +01:00
Improve lvconvert man page.
2016-03-02 11:12:46 +01:00
Add kernel_cache_policy lvs field.
2016-03-01 11:16:35 -06:00
Display [unknown] instead of 'unknown device' in pvs output.
2016-03-01 11:40:53 +01:00
Fix error path when pvcreate allocation fails (2.02.144).
2016-02-29 13:50:02 -06:00
Display [unknown] instead of blank for unknown VG names in pvs output.
2016-02-26 21:14:12 +00:00
2016-02-26 21:03:30 +00:00
Version 2.02.144 - 26th February 2016
2016-02-21 23:37:48 +00:00
=====================================
2016-02-29 13:50:02 -06:00
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.
2016-02-26 15:46:37 +00:00
Only show (u)sed pv_attr char when PV is not (a)llocatable. (2.02.143)
2016-02-26 10:14:39 +01:00
Update makefile to generate lcov output also for lvmpolld and lvmlockd.
2016-02-25 16:34:41 +01:00
Fix SystemdService lvm2-lvmdbusd.service name.
2016-02-25 20:40:28 +01:00
Improve support for env LVM_VG_NAME for reference VG name in lvconvert.
2016-02-26 21:03:30 +00:00
Fix regression when lvresize accepted zero sizes. (2.02.141)
2016-02-23 14:10:45 +01:00
Always warn user about PV in use even when pvremove uses --force --force.
2016-02-26 21:03:30 +00:00
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.
2016-02-21 23:37:48 +00:00
2016-02-21 23:17:24 +00:00
Version 2.02.143 - 21st February 2016
2016-02-15 10:48:55 +00:00
=====================================
2016-02-19 11:18:41 +01:00
Fix error path when sending thin-pool message fails in update_pool_lv().
2016-02-18 13:19:25 +01:00
Support reporting CheckNeeded and Fail state for thin-pool and thin LV.
2016-02-18 13:18:18 +01:00
For failing thin-pool and thin volume correctly report percentage as INVALID.
report: report -1, not 'unkown' for lv_{snapshot_invalid,merge_failed} with --binary
State:
$ lvs -o lv_name,lv_active_locally,lv_snapshot_invalid,lv_merge_failed vg/lvol0
LV ActLocal SnapInvalid MergeFailed
lvol0 active locally unknown unknown
Now with using --binary switch.
Before this patch (lv_snapshot_invalid and lv_merge_failed not switched into numeric value
where -1 represents 'unknown' value)
$ lvs -o lv_name,lv_active_locally,lv_snapshot_invalid,lv_merge_failed vg/lvol0 --binary
LV ActLocal SnapInvalid MergeFailed
lvol0 1 unknown unknown
With this patch applied:
$ lvs -o lv_name,lv_active_locally,lv_snapshot_invalid,lv_merge_failed vg/lvol0 --binary
LV ActLocal SnapInvalid MergeFailed
lvol0 1 -1 -1
2016-02-18 12:10:00 +01:00
Report -1, not 'unkown' for lv_{snapshot_invalid,merge_failed} with --binary.
2016-02-17 23:53:35 +00:00
Add configure --enable-dbus-service for an LVM D-Bus service.
2016-02-18 00:01:02 +00:00
Replace configure --enable-python_bindings with python2 and python3 versions.
2016-02-15 15:11:54 +01:00
If PV belongs to some VG and metadata missing, skip it if system ID is used.
2016-02-15 13:07:35 +01:00
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.
2016-02-15 10:48:55 +00:00
2016-02-15 10:35:16 +00:00
Version 2.02.142 - 15th February 2016
=====================================
2016-02-12 11:34:26 +01:00
Fix memory pool corruption in pvmove (2.02.141).
2016-01-27 19:11:03 +08:00
Support control of spare metadata creation when repairing thin-pool.
2016-01-27 19:11:03 +08:00
Fix config type of 'log/verbose' from bool to int (2.02.99).
2016-02-15 10:35:16 +00:00
Fix inverted data LV thinp watermark calc for dmeventd response (2.02.133).
2016-02-10 14:53:10 +01:00
Use use_blkid_wiping=0 if not defined in lvm.conf and support not compiled in.
2016-02-03 14:40:52 +01:00
Do not check for suspended devices if scanning for lvmetad update.
2016-02-15 10:35:16 +00:00
Clear cached bootloader areas when PV format changed.
Fix partn table filter with external_device_info_source="udev" and blkid<2.20.
2016-01-25 01:12:27 +00:00
2016-01-25 01:08:16 +00:00
Version 2.02.141 - 25th January 2016
2016-01-16 02:12:10 +00:00
====================================
2016-01-22 13:20:21 +01:00
Add metadata/check_pv_device_sizes switch to lvm.conf for device size checks.
2016-01-22 11:37:09 +01:00
Warn if device size is less than corresponding PV size in metadata.
2016-01-15 16:41:27 +01:00
Cache device sizes internally.
2016-01-21 13:19:27 +01:00
Restore support for command breaking in process_each_lv_in_vg() (2.02.118).
2016-01-21 13:18:11 +01:00
Use correct mempool when process_each_lv_in_vg() (2.02.118).
2016-01-21 11:31:18 +01:00
Fix lvm.8 man to show again prohibited suffixes.
2016-01-21 09:56:07 +01:00
Fix configure to set proper use_blkid_wiping if autodetected as disabled.
2016-01-20 00:58:09 +00:00
Initialise udev in clvmd for use in device scanning. (2.02.116)
2016-01-19 13:51:11 +01:00
Add seg_le_ranges report field for common format when displaying seg devices.
report: make devices, metadata_devices, seg_pe_ranges and seg_metadata_le_ranges fields consistent
There are two basic groups of fields for LV segment device reporting:
- related to LV segment's devices: devices and seg_pe_ranges
- related to LV segment's metadata devices: metadata_devices and seg_metadata_le_ranges
The devices and metadata_devices report devices in this format:
"device_name(extent_start)"
The seg_pe_ranges and seg_metadata_le_ranges report devices in
this format:
"device_name:extent_start-extent_end"
This patch reverts partly what commit 7f74a995029caa41ee3cf9aec0bd024a34bfd89a
(v 2.02.140) introduced in this area - it added [] for
hidden devices to mark them for all four fields mentioned above.
We won't be marking hidden devices in devices and metadata_devices
fields.
The seg_metadata_le_ranges field will have hidden devices marked -
it's new enough that we don't need to care about compatibility much
yet.
The seg_pe_ranges is old enough that we shouldn't be changing this
one - so we're reverting to not marking hidden devices here.
Instead, there's going to be a new field "seg_le_ranges" which
is going to replace the seg_pe_ranges and it will mark hidden devices -
this is going to be introduced in a patch later.
So in the end we'll end up with:
(LV segment's devices)
devices field with "device_name(extent_start)" format, not marking hidden devices
seg_pe_ranges field with "device_name:extent_start-extent_end" format, not marking hidden devices (deprecated, new seg_le_ranges should be used instead for standardized format)
seg_le_ranges field with "device_name:extent_start-extent_end" format, marking hidden devices
(LV segment's metadata devices)
metadata_devices field with "device_name:extent_start-extent_end" format, not marking hidden devices
seg_metadata_le_ranges field with "device_name:extent_start-extent_end" format, marking hidden devices
Also, both seg_le_ranges and seg_metadata_le_ranges will honour the
report/list_item_separator setting which can be used to configure
the delimiter used for list items.
So, to sum it up, we will recommend using the new seg_le_ranges and
seg_metadata_le_ranges fields because they display devices with
standard extent range format, they can mark hidden devices and they
honour the report/list_item_separator setting.
We'll be keeping devices,seg_pe_ranges and metadata_devices fields
for compatibility.
2016-01-19 12:26:01 +01:00
Honour report/list_item_separator for seg_metadata_le_ranges report field.
2016-01-20 00:58:09 +00:00
Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges.(2.02.140)
2016-01-18 22:04:43 +00:00
Change LV sizes in seg_pe_ranges report field to match underlying devices.
report: add kernel_cache_settings field
Existing cache_settings field displays the settings which are
saved in metadata. Add new kernel_cache_settings fields to display
the settings which are currently used by kernel, including fields
for which default values are used.
This way users have complete view of the set of cache settings
supported (and which they can set) and their values which are used
at the moment by kernel.
For example:
$ lvs -o name,cache_policy,cache_settings,kernel_cache_settings vg
LV Cache Policy Cache Settings KCache Settings
cached1 mq migration_threshold=1024,write_promote_adjustment=2 migration_threshold=1024,random_threshold=4,sequential_threshold=512,discard_promote_adjustment=1,read_promote_adjustment=4,write_promote_adjustment=2
cached2 smq migration_threshold=1024 migration_threshold=1024
cached3 smq migration_threshold=2048
2016-01-18 14:32:17 +01:00
Add kernel_cache_settings report field for cache LV settings used in kernel.
2016-01-16 02:12:10 +00:00
2016-01-16 02:11:21 +00:00
Version 2.02.140 - 16th January 2016
====================================
2016-01-15 14:39:43 +01:00
Fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}.
2016-01-14 16:54:12 +01:00
Add kernel_discards report field to display thin pool discard used in kernel.
2015-12-17 12:23:33 +01:00
Correct checking of target presence when driver access is disabled.
2015-12-16 11:23:45 +01:00
Eval poolmetadatasize arg earlier in lvresize.
2016-01-14 00:46:45 +00:00
Fix vgcfgrestore to respect allocatable attribute of PVs.
2016-01-13 15:21:05 +01:00
Add report/mark_hidden_devices to lvm.conf.
Use brackets consistently in report fields to mark hidden devices.
2016-01-07 15:17:08 +01:00
Restore background polling processing during auto-activation (2.02.119).
2016-01-11 12:51:08 +01:00
Fix invalid memory read when reporting cache LV policy_name (2.02.126).
2016-01-08 18:51:08 +00:00
2016-01-08 18:46:41 +00:00
Version 2.02.139 - 8th January 2016
===================================
2016-01-08 09:53:58 -06:00
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.
2016-01-08 15:47:01 +01:00
Document F,D and M thin pool health status chars for lv_attr in lvs man page.
2016-01-04 15:10:07 +01:00
Also add lvm2-activation{-early,-net}.service systemd status for lvmdump -s.
2015-12-14 12:25:48 +00:00
2015-12-14 12:24:21 +00:00
Version 2.02.138 - 14th December 2015
=====================================
2015-12-11 20:13:20 +01:00
Support lvrename for hidden (used) cache pools.
Fix lvrename for stacked cache pools.
2015-12-05 15:36:22 +00:00
2015-12-05 15:33:19 +00:00
Version 2.02.137 - 5th December 2015
====================================
2015-12-03 18:15:02 +01:00
Restore archiving before changing metadata in vgextend (2.02.117).
2015-12-03 17:51:43 +01:00
Dropped internal usage of log_suppress(2).
2015-12-03 15:28:01 +01:00
Cleaned logging code for buffer size usage.
2015-12-03 15:25:09 +01:00
Added internal id_read_format_try() function to check and read valid UUID.
2015-12-05 15:33:19 +00:00
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.
2015-11-30 21:17:25 +01:00
Use dm_get_status_mirror() instead of individual parsers.
2015-11-30 21:24:31 +01:00
Add mem pool arg for check_transient_status() target function.
2015-11-30 22:36:05 +00:00
Avoid misleading error with -m is omitted with lvconvert to raid types.
2015-12-05 15:33:19 +00:00
Add system_id to vginfo cache.
2015-11-28 01:29:00 +00:00
2015-11-28 01:25:53 +00:00
Version 2.02.136 - 28th November 2015
2015-11-23 03:40:34 +00:00
=====================================
2015-11-25 14:09:20 +01:00
Add new --sinceversion option for lvmconfig --type new.
2015-11-23 19:53:43 +01:00
Fix inactive table loaded for wrapping thin-pool when resizing it.
2015-11-22 00:26:06 +01:00
Extend the list of ignored libraries when locking memory.
2015-11-23 03:40:34 +00:00
2015-11-23 03:33:43 +00:00
Version 2.02.135 - 23rd November 2015
=====================================
Add a model file for Coverity.
2015-11-19 13:32:03 +01:00
Show correct error message for unsupported yet cache pool repair.
2015-11-19 13:30:55 +01:00
Allow lvconvert cache pools' data and metadata LV to raid.
2015-11-15 20:03:08 +01:00
Fix reading of old metadata with missing cache policy or mode settings.
2015-11-11 13:13:54 +01:00
Issue error if external_device_info_source=udev and udev db record incomplete.
2015-11-23 03:33:43 +00:00
Update lvmetad duplicate VG name handling to use hash function extensions.
Detect invalid vgrenames by vgid where the name is unchanged.
2015-11-09 15:15:37 +01:00
Fix passing of 32bit values through daemons (mostly lvmlockd).
2015-11-04 14:54:07 +01:00
Use local memory pool for whole alloc_handle manipulation.
2015-11-09 09:27:18 +01:00
Add missing pointer validation after dm_get_next_target().
2015-11-09 09:28:59 +01:00
Do not deref NULL pointer in debug message for _match_pv_tags().
2015-11-08 17:15:24 +01:00
Drop unneeded stat() call when checking for sysfs file.
2015-11-08 17:04:03 +01:00
Fix memory leak on error path of failing thin-pool percentage check.
2015-11-08 19:38:19 +01:00
Add missing test for failing node allocation in lvmetad.
2015-11-02 20:04:50 +01:00
Correct configure messages when enabling/disabling lvmlockd.
2015-11-09 01:48:57 +00:00
2015-11-09 01:45:22 +00:00
Version 2.02.134 - 9th November 2015
2015-10-31 01:35:47 +00:00
====================================
2015-11-09 01:45:22 +00:00
Refactor some lvmetad code and adjust some duplicate PV messages.
No longer repair/wipe VG/PVs if inaccessible because foreign or shared.
2015-11-05 23:40:47 +00:00
Pass correct data size to mirror log calc so log can be bigger than 1 extent.
2015-10-31 01:35:47 +00:00
2015-10-30 15:34:00 +00:00
Version 2.02.133 - 30th October 2015
====================================
2015-10-30 15:50:35 +01:00
Support repeated -o|--options for reporting commands.
Support -o- and -o# for reporting commands to remove and compact fields.
2015-10-30 09:05:21 -05:00
Fix missing PVs from pvs output if vgremove is run concurrently.
Remove unwanted error message when running pvs/vgs/lvs and vgremove at once.
2015-10-29 16:50:09 +01:00
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.
2015-10-29 11:58:06 +01:00
Thin pool targets uses low_water_mark from profile.
2015-10-22 13:32:52 +02:00
Dropping 'yet' from error of unsupported thick snapshot of snapshots.
2015-10-12 15:09:11 +08:00
Do not support unpartitioned DASD devices with CDL formatted with pvcreate.
2015-10-26 21:46:54 +01:00
For thins use flush for suspend only when volume size is reduced.
2015-10-25 20:37:39 +01:00
Enable code which detects the need of flush during suspend.
2015-10-25 19:19:39 +01:00
Ensure --use-policy will resize volume to fit below threshold.
2015-10-25 19:13:53 +01:00
Correct percentage evaluation when checking thin-pool over threshold.
2015-10-23 15:05:48 +02:00
Fix lvmcache to move PV from VG to orphans if VG is removed and lvmetad used.
2015-10-23 14:11:16 +02:00
Fix lvmcache to not cache even invalid info about PV which got removed.
2015-10-22 10:43:58 +02:00
Support checking of memlock daemon counter.
2015-10-21 13:36:57 -05:00
Allow all log levels to be used with the lvmetad -l option.
2015-10-20 13:24:50 +02:00
Add optional shutdown when idle support for lvmetad.
2015-10-19 16:56:45 +02:00
Fix missing in-sync progress info while lvconvert used with lvmpolld.
2015-10-16 16:25:51 +02:00
Add report/compact_output_cols to lvm.conf to define report cols to compact.
2015-10-09 21:38:50 +02:00
Do not change logging in lvm2 library when it's already set.
2015-10-07 15:10:03 +02:00
Check for enough space in thin-pool in command before creating new thin.
2015-10-13 12:18:04 +02:00
Make libblkid detect all copies of the same signature if use_blkid_wiping=1.
2015-10-12 11:11:34 +02:00
Fix vgimportclone with -n to not add number unnecessarily to base VG name.
2015-10-09 16:26:27 +02:00
Cleanup vgimportclone script and remove dependency on awk, grep, cut and tr.
2015-10-09 16:20:29 +02:00
Add vg_missing_pv_count report field to report number of missing PVs in a VG.
2015-10-08 13:44:21 +02:00
Properly identify internal LV holding sanlock locks within lv_role field.
2015-10-02 10:09:28 +01:00
Add metadata_devices and seg_metadata_le_ranges report fields for raid vols.
2015-09-23 13:17:12 +02:00
Fix lvm2-{activation,clvmd,cmirrord,monitor} service to exec before mounting.
2015-09-22 16:06:07 +01:00
2015-09-22 16:00:10 +01:00
Version 2.02.132 - 22nd September 2015
2015-09-15 14:09:10 +01:00
======================================
2015-09-22 13:32:47 +02:00
Fix lvmconf to set locking_type=2 if external locking library is requested.
2015-09-21 19:51:15 +01:00
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.
2015-09-21 14:28:41 +02:00
Add pool_lv_uuid, metadata_lv_uuid, data_lv_uuid reporting fields.
format-text: label: fix missing dev assignment for struct label in _text_pv_write
When using lvm shell, some structures which are cached in memory may be
reused. This happens for the struct label (a part of lvmcache_info
structure) when lvmetad is used in which case the PV scan is not
done that would normally overwrite these label structures in memory
and making them up-to-date.
This is all consequence of the fact that struct lvmcache_info and
struct label are not always assigned in the same part of the code.
For example, if lvmetad *is not* used, parts of the struct label are
reassigned in label_read fn while struct lvmcache_info is created
elsewhere. No part of the code reused struct label (and its "dev"
field) before calling label_read fn. That's why the real bug is
hidden when using lvm shell without lvmetad.
However, with lvmetad and lvm shell, the situation is a bit different.
The label_read fn is not called if lvmetad *is* used, hence the
struct label may have ended up not initialized properly.
There was missing assignment for the dev field in struct label
in _text_pv_write fn which caused this problem to appear in
lvm shell with lvmetad, for example:
Before this patch:
lvm> pvcreate /dev/sda
Physical volume "/dev/sda" successfully created
lvm> pvs /dev/sda
PV VG Fmt Attr PSize PFree
unknown device lvm2 --- 128.00m 128.00m
With this patch applied:
lvm> pvcreate /dev/sda
Physical volume "/dev/sda" successfully created
lvm> pvs /dev/sda
PV VG Fmt Attr PSize PFree
/dev/sda lvm2 --- 128.00m 128.00m
Also, this problem had not appeared before changes introduced
by commits e1a63905d14cc73352b905c70cb4084b7e521e33 through
3a6f91d7139119bea664050a957cbc21490398bc which, among other
things, added proper label field type reporting. Before, label
reporting was the same as using struct physical_volume which
has its own dev field assigned and so this problem was not exposed.
2015-09-15 17:38:02 +02:00
Fix PV label processing failure after pvcreate in lvm shell with lvmetad.
2015-09-15 14:09:10 +01:00
2015-09-15 13:17:50 +01:00
Version 2.02.131 - 15th September 2015
======================================
2015-09-15 13:14:16 +01:00
Rename 'make install_full_man' to install_all_man and add all_man target.
2015-09-14 09:24:15 +02:00
Fix vgimportclone cache_dir path name (2.02.115).
2015-09-11 20:56:53 +02:00
Swapping of LV identifiers handles more complex LVs.
2015-09-11 20:56:02 +02:00
Use passed list of PVS when allocating space in lvconvert --thinpool.
Disallow usage of --stripe and --stripesize when creating cache pool.
2015-09-10 15:07:59 +02:00
Warn user when caching raid or thin pool data LV.
2015-09-10 15:08:29 +02:00
When layering LV, move LV flags with segments.
2015-09-10 16:00:14 +02:00
Ignore persistent cache if configuration changed. (2.02.127)
2015-09-08 15:37:23 +02:00
Fix devices/filter to be applied before disk-accessing filters. (2.02.112)
2015-09-07 13:44:14 +02:00
Make tags only when requested via 'make tags'.
2015-09-07 13:57:38 +02:00
Configure supports --disable-dependency-tracking for one-time builds.
2015-09-07 13:49:17 +02:00
Fix usage of configure.h when building in srcdir != builddir.
2015-09-05 23:58:40 +01:00
2015-09-05 23:46:22 +01:00
Version 2.02.130 - 5th September 2015
=====================================
2015-09-04 18:00:29 +02:00
Fix use of uninitialized device status if reading outdated .cache record.
2015-08-27 17:19:09 +02:00
Restore support for --monitor option in lvcreate (2.02.112).
2015-09-03 22:57:50 +02:00
Read thin-pool data and metadata percent without flush.
2015-09-02 16:13:31 +02:00
Detect blocked thin-pool and avoid scanning their thin volumes.
2015-09-02 16:08:30 +02:00
Check if dm device is usable before checking its size (2.02.116).
Extend parsing of cache_check version in configure.
2015-09-02 16:50:14 +02:00
Make lvpoll error messages visible in lvmpolld's stderr and in syslog.
2015-08-28 13:03:18 +01:00
Add 'make install_full_man' to install all man pages regardless of config.
2015-08-26 23:13:34 +01:00
2015-08-26 23:11:13 +01:00
Version 2.02.129 - 26th August 2015
2015-08-17 17:26:20 +01:00
===================================
2015-08-26 21:11:46 +01:00
Drop error message when vgdisplay encounters an exported VG. (2.02.27)
2015-08-26 13:36:23 +01:00
Fix shared library generation to stop exporting internal functions.(2.02.120)
2015-08-25 14:48:31 +02:00
Accept --cachemode with lvconvert.
2015-08-25 15:07:41 +02:00
Fix and improve reporting properties of cache-pool.
2015-08-21 15:37:56 +02:00
Enable usage of --cachepolicy and --cachesetting with lvconvert.
Don't allow to reduce size of thin-pool metadata.
2015-08-18 17:38:57 +02:00
Fix debug buffer overflows in cmirrord logging.
Add --foreground and --help to cmirrord.
2015-08-17 17:26:20 +01:00
2015-08-17 17:20:14 +01:00
Version 2.02.128 - 17th August 2015
2015-08-10 01:02:31 +01:00
===================================
2015-08-17 17:26:39 +02:00
Allocation setting cache_pool_cachemode is replaced by cache_mode.
2015-08-17 12:57:01 +01:00
Don't attempt to close config file that couldn't be opened.
2015-08-11 15:11:45 +02:00
Check for valid cache mode in validation of cache segment.
2015-08-16 01:16:16 +01:00
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.
2015-07-20 11:44:15 +02:00
Add cmd profilable allocation/cache_policy,cache_settings,cache_mode.
2015-07-15 16:08:02 +02:00
Require cache_check 0.5.4 for use of --clear-needs-check-flag.
2015-08-12 09:29:04 +02:00
Fix lvmetad udev rules to not override SYSTEMD_WANTS, add the service instead.
2015-08-10 01:02:31 +01:00
2015-08-10 00:40:42 +01:00
Version 2.02.127 - 10th August 2015
===================================
commands: add new NO_METADATA_PROCESSING flag to selected commands
When a command is flagged with NO_METADATA_PROCESSING flag, it means
such command does not process any metadata and hence it doens't require
lvmetad, lvmpolld and it can get away with no locking too. These are
mostly simple commands (like lvmconfig/dumpconfig, version, types,
segtypes and other builtin commands that do not process metadata
in any way).
At first, when lvm command is executed, create toolcontext without
initializing connections (lvmetad,lvmpolld) and without initializing
filters (which depend on connections init). Instead, delay this
initialization until we know we need this. That is, until the
lvm_run_command fn is called in which we know what the actual
command to run is and hence we can avoid any connection, filter
or locking initiliazation for commands that would not make use
of it anyway.
For all the other create_toolcontext calls, we keep the original
behaviour - the filters and connections are initialized together
with the toolcontext.
2015-07-30 10:48:28 +02:00
Do not init filters, locking, lvmetad, lvmpolld if command doesn't use it.
2015-08-10 00:40:42 +01:00
Order fields in struct cmd_context more logically.
Add lock_type to lvmcache VG summary and info structs.
2015-07-29 09:43:03 +02:00
Fix regression in cache causing some PVs to bypass filters (2.02.105).
2015-08-10 00:40:42 +01:00
Make configure --enable-realtime the default now.
Update .gitignore and configure.in files to reflect usage of current tree.
2015-07-24 23:21:51 +01:00
2015-07-24 23:20:42 +01:00
Version 2.02.126 - 24th July 2015
=================================
2015-07-24 19:45:49 +01:00
Fix long option hyphen removal. (2.02.122)
2015-07-23 23:10:16 +01:00
Fix clvmd freeze if client disappears without first releasing its locks.
2015-07-15 13:02:54 -05:00
Fix lvconvert segfaults while performing snapshots merge.
2015-07-21 09:54:20 +02:00
Ignore errors during detection if use_blkid_wiping=1 and --force is used.
2015-07-20 15:48:59 +01:00
Recognise DM_ABORT_ON_INTERNAL_ERRORS env var override in lvm logging fn.
2015-07-15 23:12:54 +01:00
Fix alloc segfault when extending LV with fewer stripes than in first seg.
2015-07-15 11:06:40 +02:00
Fix handling of cache policy name.
2015-07-14 09:57:34 +02:00
Set cache policy before with the first lvm2 cache pool metadata commit.
2015-07-13 11:08:49 +02:00
Fix detection of thin-pool overprovisioning (2.02.124).
2015-07-10 11:50:06 +02:00
Fix lvmpolld segfaults on 32 bit architectures.
2015-07-15 23:12:54 +01:00
Add lvmlockd lock_args validation to vg_validate.
2015-07-09 10:35:41 +02:00
Fix ignored --startstopservices option if running lvmconf with systemd.
2015-07-15 23:12:54 +01:00
Hide sanlock LVs when processing LVs in VG unless named or --all used.
2015-07-07 13:57:13 +01:00
2015-07-07 13:54:37 +01:00
Version 2.02.125 - 7th July 2015
2015-07-03 16:58:24 +01:00
================================
2015-07-07 13:54:37 +01:00
Fix getline memory usage in lvmpolld.
2015-07-07 09:51:40 +02:00
Add support --clear-needs-check-flag for cache_check of cache pool metadata.
2015-07-07 13:20:01 +01:00
Add lvmetactl for developer use only.
Rename global/lock_retries to lvmlockd_retries.
2015-07-06 18:20:20 +01:00
Replace --enable-lvmlockd by --enable-lockd-sanlock and --enable-lockd-dlm.
2015-07-03 16:58:24 +01:00
2015-07-03 16:34:40 +01:00
Version 2.02.124 - 3rd July 2015
================================
thin: move pool messaging from resume to suspend
Existing messaging intarface for thin-pool has a few 'weak' points:
* Message were posted with each 'resume' operation, thus not allowing
activation of thin-pool with the existing state.
* Acceleration skipped suspend step has not worked in cluster,
since clvmd resumes only nodes which are suspended (have proper lock
state).
* Resume may fail and code is not really designed to 'fail' in this
phase (generic rule here is resume DOES NOT fail unless something serious
is wrong and lvm2 tool usually doesn't handle recovery path in this case.)
* Full thin-pool suspend happened, when taken a thin-volume snapshot.
With this patch the new method relocates message passing into suspend
state.
This has a few drawbacks with current API, but overal it performs
better and gives are more posibilities to deal with errors.
Patch introduces a new logic for 'origin-only' suspend of thin-pool and
this also relates to thin-volume when taking snapshot.
When suspend_origin_only operation is invoked on a pool with
queued messages then only those messages are posted to thin-pool and
actual suspend of thin pool and data and metadata volume is skipped.
This makes taking a snapshot of thin-volume lighter operation and
avoids blocking of other unrelated active thin volumes.
Also fail now happens in 'suspend' state where the 'Fail' is more expected
and it is better handled through error paths.
Activation of thin-pool is now not sending any message and leaves upto a tool
to decided later how to finish unfinished double-commit transaction.
Problem which needs some API improvements relates to the lvm2 tree
construction. For the suspend tree we do not add target table line
into the tree, but only a device is inserted into a tree.
Current mechanism to attach messages for thin-pool requires the libdm
to know about thin-pool target, so lvm2 currently takes assumption, node
is really a thin-pool and fills in the table line for this node (which
should be ensured by the PRELOAD phase, but it's a misuse of internal API)
we would possibly need to be able to attach message to 'any' node.
Other thing to notice - current messaging interface in thin-pool
target requires to suspend thin volume origin first and then send
a create message, but this could not have any 'nice' solution on lvm2
side and IMHO we should introduce something like 'create_after_resume'
message.
Patch also changes the moment, where lvm2 transaction id is increased.
Now it happens only after successful finish of kernel transaction id
change. This change was needed to handle properly activation of pool,
which is in the middle of unfinished transaction, and also this corrects
usage of thin-pool by external apps like Docker.
2015-07-01 13:31:37 +02:00
Move sending thin pool messages from resume to suspend phase.
2015-07-03 15:31:31 +02:00
Report warning when pool is overprovisioned and not auto resized.
2015-07-03 10:43:07 +02:00
Recognize free-form date/time values for lv_time field in selection criteria.
2015-07-03 16:34:40 +01:00
Added experimental lvmlockd with configure --enable-lvmlockd.
2015-07-02 11:31:54 +02:00
Fix regression in select to match string fields if using synonyms (2.02.123).
2015-07-02 00:04:38 +02:00
Fix regression when printing more lv names via display_lvname (2.02.122).
2015-06-30 18:54:38 +01:00
Add missing error logging to unlock_vg and sync_local_dev_names callers.
2015-06-30 17:12:56 +01:00
2015-06-30 17:11:21 +01:00
Version 2.02.123 - 30th June 2015
2015-06-20 01:05:21 +01:00
=================================
2015-05-25 16:13:07 +02:00
Add report/time_format lvm.conf option to define time format for report.
2015-06-26 09:00:16 +02:00
Fix makefile shell compare == when building lvmetad lvmpolld (2.02.120).
2015-06-25 10:51:30 +02:00
Add --type full to lvmconfig for full configuration tree view.
2015-06-24 20:43:35 +01:00
Add undocumented environment variables to lvm man page. (2.02.119)
2015-06-24 15:12:43 +02:00
Add device synchronization point before activating a new snapshot.
2015-06-24 13:14:30 +02:00
Add --withspaces to lvmconfig to add spaces in output for better readability.
2015-06-30 17:11:21 +01:00
Add custom main function to libdaemon.
Use lvmetad to track out-of-date metadata discovered.
2015-06-20 01:05:21 +01:00
2015-06-20 00:57:35 +01:00
Version 2.02.122 - 20th June 2015
2015-06-12 21:42:57 +01:00
=================================
2015-06-20 00:57:35 +01:00
Flush stdout before printing to stderr.
Use pre-allocated buffer for printed LV names in display_lvname.
2015-06-18 14:38:57 +02:00
Support thins with size of external origin unaligned with thin pool chunk.
2015-06-20 00:57:35 +01:00
Allow extension of reduced thin volumes with external origins.
Consider snapshot and origin LV as unusable if component devices suspended.
2015-06-17 13:26:11 +02:00
Fix lvmconfig segfault on settings with undefined default value (2.02.120).
2015-06-20 00:57:35 +01:00
Add explicit 's' (shared) LV activation mode.
2015-06-19 09:44:14 +02:00
Ignore hyphens in long options names (i.e. --long-option == --longoption).
2015-06-12 21:42:57 +01:00
2015-06-12 21:40:56 +01:00
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.
2015-05-26 16:08:24 +02:00
Zero errno in before strtoul call in dmsetup if tested after the call.
Zero errno in before strtoul call in lvmpolld.
2015-05-25 10:46:38 +02:00
Fix a segfault in pvscan --cache --background command.
2015-05-22 15:50:42 +08:00
Fix test for AREA_PV when checking for failed mirrors.
2015-05-21 11:07:07 +02:00
Do not use --sysinit in lvm2-activation{-early,-net}.service if lvmpolld used.
2015-06-12 21:40:56 +01:00
Maintain outdated PV info in lvmetad till all old metadata is gone from disk.
2015-05-19 21:01:24 +02:00
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.
2015-06-12 21:40:56 +01:00
Simplify Makefile targets that generate exported symbols.
Move various -D settings from Makefiles to configure.h.
2015-05-15 23:28:47 +01:00
2015-05-15 23:19:29 +01:00
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.
2015-05-13 13:42:09 +01:00
Fix some libdaemon socket creation and reuse error paths.
2015-05-12 09:37:19 +02:00
Daemons (libdaemon) support exit on idle also in non-systemd environment.
2015-05-11 21:48:11 +02:00
Provide make dist and make rpm targets
2015-05-11 13:49:41 +02:00
Configure lvm.conf for use_lvmetad and use_lvmpolld.
2015-05-09 00:59:18 +01:00
Add lvpoll for cmdline communication with lvmpolld.
Add lvmpolld acting as a free-standing version of polldaemon.
2015-05-15 23:19:29 +01:00
Avoid repeated identical lvmetad VG lookups in commands processing all VGs.
Handle switches to alternative duplicate PVs efficiently with lvmetad.
2015-05-07 11:08:49 +02:00
Properly validate PV size for pvcreate --restorefile.
2015-05-07 12:10:20 +02:00
Fix check if pvcreate wiped device (2.02.117).
2015-05-07 11:28:22 +02:00
Fix storing of vgid when caching metadata (2.02.118).
2015-05-07 12:07:40 +01:00
Fix recursive lvm-config man page. (2.02.119)
2015-05-05 19:35:52 +02:00
Refactor polldaemon interfaces to poll every operation by VG/LV couple
Skip wait after testing in _wait_for_single_lv when polling finished
2015-05-15 23:19:29 +01:00
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.
2015-05-02 21:13:15 +02:00
lvm2app closes locking on lvm_quit().
2015-05-02 23:57:52 +02:00
Configure detects /run or /var/run.
2015-05-03 00:30:14 +02:00
Add missing newline in clvmd --help output.
2015-05-02 01:52:05 +01:00
2015-05-02 01:41:17 +01:00
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.
2015-05-02 00:07:12 +01:00
Generate complete config files with lvmconfig or 'make generate'.
Also display info on deprecated config with lvmconfig --withcomments.
2015-04-30 17:40:24 +02:00
Display version since which config is deprecated in lvmconfig --withversions.
Add --showdeprecated to lvmconfig to also display deprecated settings.
2015-05-02 00:07:12 +01:00
Hide deprecated settings in lvmconfig output for all types but current,diff.
2015-04-29 17:04:39 +02:00
Introduce support for exit on idle feature in libdaemon
2015-04-29 16:07:52 +02:00
Add --showunsupported to lvmconfig to also display unsupported settings.
2015-05-02 00:07:12 +01:00
Display unsupported settings for lvmconfig --type current,diff only by default
2015-04-29 16:07:52 +02:00
Honour lvmconfig --ignoreunsupported and --ignoreadvanced for all --type.
2014-09-02 15:42:01 +02:00
Make python bindings usable with python3 (and compatible with 2.6 & 2.7).
2015-04-29 11:11:58 +02:00
Add lvmconfig -l|--list as shortcut for lvmconfig --type list --withsummary.
Add lvmconfig --type list to display plain list of configuration settings.
2015-04-28 17:00:37 +01:00
Introduce lvmconfig as the preferred form of 'lvm dumpconfig'.
report: add lv_ancestors and lv_descendants reporting fields
Show full chain of ancestors and descendants for snapshots
(both thick and thin - in case of thick, the "ancestor" field
is actually equal to "origin" field as snapshots can't be
chained for thick snapshots).
These fields display current state as it is, they do not
display any history! If the snapshot chain is broken in
the middle, we don't report the historical origin (this
is going to be a part of another patch and a different
set of fields or just a switch for existing fields to
show ancestors and descendants with history included).
For example:
(origin --> snapshot)
lvol1 --> lvol2 --> lvol3 --> lvol4
\
--> lvol5 --> lvol6 --> lvol7 --> lvol8
$ lvs -o name,pool_lv,origin,ancestors,descendants vg
LV Pool Origin Ancestors Descendants
lvol1 pool lvol2,lvol3,lvol4,lvol5,lvol6,lvol7,lvol8
lvol2 pool lvol1 lvol1 lvol3,lvol4,lvol5,lvol6,lvol7,lvol8
lvol3 pool lvol2 lvol2,lvol1 lvol4
lvol4 pool lvol3 lvol3,lvol2,lvol1
lvol5 pool lvol2 lvol2,lvol1 lvol6,lvol7,lvol8
lvol6 pool lvol5 lvol5,lvol2,lvol1 lvol7,lvol8
lvol7 pool lvol6 lvol6,lvol5,lvol2,lvol1 lvol8
lvol8 pool lvol7 lvol7,lvol6,lvol5,lvol2,lvol1
2015-04-24 11:51:52 +02:00
Add lv_ancestors and lv_descendants reporting fields.
2015-04-21 14:53:54 -05:00
Add --ignorelocal option to dumpconfig to ignore the local section.
2015-04-20 10:31:43 +02:00
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.
2015-04-17 11:31:16 -05:00
Add --unconfigured option to dumpconfig to print strings unconfigured.
2015-04-29 10:53:25 +02:00
Add --withsummary option to dumpconfig to print first line - summary comment.
2015-05-02 01:41:17 +01:00
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.
2015-04-14 13:35:11 +02:00
Check for lvm binary in blkdeactivate and skip LVM processing if not present.
2015-04-13 15:49:25 +02:00
Add --enable-halvm and --disable-halvm options to lvmconf script.
lvmconf: add --enable-halvm, --disable-halvm, --services, --mirrorservice, --startstopservices options and use proper global/use_lvmetad default value
This patch adds new options to lvmconf:
--enable-halvm (just like --enable-cluster, but configure LVM
for use in HA LVM - meaning disabling lvmetad and
making sure we have locking_type=1)
--disable-halvm (just like --disable-cluster, but configure LVM
back from HA LVM - meaning enabling lvmetad if
it's enabled by default and making sure we have
default locking type set)
--services (causes clvmd and lvmetad services to be enabled or
disabled appropriately and conforming to the changes
in lvm configuration we've just made with lvmconf)
--mirrorservice (in addition to clvmd and lvmetad services, also
enable or disable cmirrord service appropriately;
this is a separate option because cmirrord is
optional and it doesn't need to be always enabled
when clvmd is enabled)
--startstopservices (in addition to enabling or disabling services,
start and stop these services immediately)
These options are supposed to help users to make their system ready
for cluster with clvmd (active-active) or HA LVM (active-passive) use
while lvmconf script can handle services as well so users don't need
to bother about setting them manually.
Also, before this patch, we hardcoded global/use_lvmetad=0 as default
value in lvmconf script. Howeverm this default may change by just
flipping the value in config_settings.h and we may forget to edit
the lvmconf. It's better to use lvm dumpconfig --type default global/use_lvmetad
to get the actual default value and use this one instead of hardcoded one.
2015-04-13 15:27:17 +02:00
Add --services, --mirrorservice and --startstopservices option to lvmconf.
Use proper default value of global/use_lvmetad when processing lvmconf script.
2015-04-11 01:55:24 +01:00
Respect allocation/cling_tag_list during intial contiguous allocation.
2015-04-10 21:57:52 +01:00
Add A_PARTITION_BY_TAGS set when allocated areas should not share tags.
2015-05-02 01:41:17 +01:00
Make changes persist with python addTag/removeTag.
2015-04-09 21:13:55 +01:00
Set correct vgid when updating cache when writing PV metadata.
2015-04-08 23:12:29 +02:00
More efficient clvmd singlenode locking emulation.
2015-05-02 01:41:17 +01:00
Reject lvcreate -m with raid4/5/6 to avoid unexpected layout.
2015-04-02 12:42:18 +02:00
Don't skip invalidation of cached orphans if vg write lck is held (2.02.118).
2015-03-26 21:13:26 +00:00
Log relevant PV tags when using cling allocation.
2015-03-26 18:30:37 +00:00
Add str_list_add_list() to combine two lists.
metadata: process_each_lv_in_vg: get the list of LVs to process first, then do the processing
This avoids a problem in which we're using selection on LV list - we
need to do the selection on initial state and not on any intermediary
state as we process LVs one by one - some of the relations among LVs
can be gone during this processing.
For example, processing one LV can cause the other LVs to lose the
relation to this LV and hence they're not selectable anymore with
the original selection criteria as it would be if we did selection
on inital state. A perfect example is with thin snapshots:
$ lvs -o lv_name,origin,layout,role vg
LV Origin Layout Role
lvol1 thin,sparse public,origin,thinorigin,multithinorigin
lvol2 lvol1 thin,sparse public,snapshot,thinsnapshot
lvol3 lvol1 thin,sparse public,snapshot,thinsnapshot
pool thin,pool private
$ lvremove -ff -S 'lv_name=lvol1 || origin=lvol1'
Logical volume "lvol1" successfully removed
The lvremove command above was supposed to remove lvol1 as well as
all its snapshots which have origin=lvol1. It failed to do so, because
once we removed the origin lvol1, the lvol2 and lvol3 which were
snapshots before are not snapshots anymore - the relations change
as we're processing these LVs one by one.
If we do the selection first and then execute any concrete actions on
these LVs (which is what this patch does), the behaviour is correct
then - the selection is done on the *initial state*:
$ lvremove -ff -S 'lv_name=lvol1 || origin=lvol1'
Logical volume "lvol1" successfully removed
Logical volume "lvol2" successfully removed
Logical volume "lvol3" successfully removed
Similarly for all the other situations in which relations among
LVs are being changed by processing the LVs one by one.
This patch also introduces LV_REMOVED internal LV status flag
to mark removed LVs so they're not processed further when we
iterate over collected list of LVs to be processed.
Previously, when we iterated directly over vg->lvs list to
process the LVs, we relied on the fact that once the LV is removed,
it is also removed from the vg->lvs list we're iterating over.
But that was incorrect as we shouldn't remove LVs from the list
during one iteration while we're iterating over that exact list
(dm_list_iterate_items safe can handle only one removal at
one iteration anyway, so it can't be used here).
2015-03-16 17:10:21 +01:00
Fix LV processing with selection to always do the selection on initial state.
2015-05-02 01:41:17 +01:00
Add internal LV_REMOVED LV status flag.
2015-03-24 02:02:07 +00:00
2015-03-24 01:59:35 +00:00
Version 2.02.118 - 23rd March 2015
==================================
2015-03-18 23:43:02 +00:00
Store metadata size + checksum in lvmcache and add struct lvmcache_vgsummary.
2015-03-18 23:31:46 +00:00
Remove inaccessible clustered PVs from 'pvs -a'.
2015-03-18 23:20:09 +00:00
Don't invalidate cached orphan information while global lock is held.
2015-03-18 16:19:58 +01:00
Avoid rescan of all devices when requested pvscan for removed device.
2015-03-18 10:59:41 +01:00
Measure configuration timestamps with nanoseconds when available.
2015-03-17 09:44:26 +01:00
Disable lvchange of major and minor of pool LVs.
2015-03-16 17:00:36 +01:00
Fix pvscan --cache to not scan and read ignored metadata areas on PVs.
2015-03-13 12:05:47 +01:00
Add After=iscsi-shutdown.service to blk-availability.service systemd unit.
2015-03-10 09:38:43 -05:00
Disallow vgconvert from changing metadata format when lvmetad is used.
2015-03-06 10:22:33 +01:00
Don't do a full read of VG when creating a new VG with an existing name.
2015-03-18 23:43:02 +00:00
Reduce amount of VG metadata parsing when looking for vgname on a PV.
2012-03-26 13:35:26 +02:00
Avoid reparsing same metadata when reading same metadata from multiple PVs.
2015-03-03 15:37:17 +01:00
Save extra device open/close when scanning device for size.
report: fix seg_monitor field to display monitoring status for thick snapshots and mirrors
The seg_monitor did not display monitored status for thick snapshots
and mirrors (with mirror log *not* mirrored). The seg monitor did work
correctly even before for other segtypes - thins and raids.
Before (mirrors and snapshots, only mirrors with mirrored log properly displayed monitoring status):
[0] f21/~ # lvs -a -o lv_name,lv_layout,lv_role,seg_monitor vg
LV Layout Role Monitor
mirror mirror public
[mirror_mimage_0] linear private,mirror,image
[mirror_mimage_1] linear private,mirror,image
[mirror_mlog] linear private,mirror,log
mirror_with_mirror_log mirror public monitored
[mirror_with_mirror_log_mimage_0] linear private,mirror,image
[mirror_with_mirror_log_mimage_1] linear private,mirror,image
[mirror_with_mirror_log_mlog] mirror private,mirror,log monitored
[mirror_with_mirror_log_mlog_mimage_0] linear private,mirror,image
[mirror_with_mirror_log_mlog_mimage_1] linear private,mirror,image
thick_origin linear public,origin,thickorigin
thick_snapshot linear public,snapshot,thicksnapshot
With this patch applied (monitoring status displayed for all mirrors and snapshots):
[0] f21/~ # lvs -a -o lv_name,lv_layout,lv_role,seg_monitor vg
LV Layout Role Monitor
mirror mirror public monitored
[mirror_mimage_0] linear private,mirror,image
[mirror_mimage_1] linear private,mirror,image
[mirror_mlog] linear private,mirror,log
mirror_with_mirror_log mirror public monitored
[mirror_with_mirror_log_mimage_0] linear private,mirror,image
[mirror_with_mirror_log_mimage_1] linear private,mirror,image
[mirror_with_mirror_log_mlog] mirror private,mirror,log monitored
[mirror_with_mirror_log_mlog_mimage_0] linear private,mirror,image
[mirror_with_mirror_log_mlog_mimage_1] linear private,mirror,image
thick_origin linear public,origin,thickorigin
thick_snapshot linear public,snapshot,thicksnapshot monitored
2015-03-05 10:45:29 +01:00
Fix seg_monitor field to report status also for mirrors and thick snapshots.
2015-03-24 01:59:35 +00:00
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.
2015-03-04 14:00:46 +00:00
2015-03-04 13:49:51 +00:00
Version 2.02.117 - 4th March 2015
=================================
Add CFG_DISABLED for new system ID config settings that must not yet be used.
2015-03-04 00:30:26 +00:00
Preserve original format type field when processing backup files.
2015-02-27 15:38:34 +01:00
Implement status action for lvm2-monitor initscript to display monitored LVs.
2015-02-27 13:38:26 +00:00
Allow lvchange -p to change kernel state only if metadata state differs.
2015-02-27 13:32:52 +01:00
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).
2015-02-25 12:30:00 -06:00
Rescan devices before vgimport with lvmetad so exported VG is seen.
2015-02-25 14:42:15 -06:00
Fix hang by adjusting cluster mirror regionsize, avoiding CPG msg limit.
2015-02-24 11:36:30 +01:00
Do not crash when --cachepolicy is given without --cachesettings.
2015-02-23 23:41:38 +00:00
Add NEEDS_FOREIGN_VGS flag to vgimport so --foreign is always supplied.
Add --foreign to the 6 display and reporting tools and vgcfgbackup.
2015-02-23 23:03:52 +00:00
Install /etc/lvm/lvmlocal.conf template with local section for systemid.
2015-03-04 13:49:51 +00:00
Record creation_host_system_id in lvm2 metadata (never set yet).
2015-02-23 17:40:58 +00:00
Reinstate recursive config file tag section processing. (2.02.99)
2015-03-04 13:49:51 +00:00
Add 'lvm systemid' to display the current system ID (never set yet).
2015-02-19 16:17:19 +01:00
Fix configure to properly recognize --with-default-raid10-segtype option.
2015-02-17 09:46:34 +01:00
Do not refresh filters/rescan if no signature is wiped during pvcreate.
2015-02-16 14:43:03 +01:00
Enforce none external dev info for wiping during pvcreate to avoid races.
2015-03-04 13:49:51 +00:00
Add global/system_id_source and system_id_file to lvm.conf (disabled).
2015-02-13 10:27:17 -06:00
Add support for VG system_id to control host access to VGs.
2015-02-13 14:58:51 +00:00
Update vgextend to use process_each_vg.
2015-02-12 16:37:47 +00:00
Add --ignoreskippedcluster to pvchange.
Allow pvchange to modify several properties at once.
Update pvchange to use process_each_pv.
toollib: process_each_pv: use cmd->full_filter, not cmd->filter if we're getting full list of PV-capable devices (not just PVs)
When lvmetad is used and at the same time we're getting list of all
PV-capable devices, we can't use cmd->filter (which is used to filter
out lvmetad responses - so we're sure that the devices are PVs already).
To get the list of PV-capable devices, we're bypassing lvmetad (since
lvmetad only caches PVs, not all the other devices which are not PVs).
For this reason, we have to use the "full_filter" filter chain (just
like we do when we're running without lvmetad).
Example scenario:
- sdo and sdp components of MD device md0
- sdq, sdr and sds components of mpatha multipath device
- mpatha multipath device partitioned
- vda device partitioned
=> sdo,sdp,sdr,sds, mpatha and vda should be filtered!
$ lsblk -o NAME,TYPE
NAME TYPE
sdn disk
sdo disk
`-md0 raid0
sdp disk
`-md0 raid0
sdq disk
`-mpatha mpath
`-mpatha1 part
sdr disk
`-mpatha mpath
`-mpatha1 part
sds disk
`-mpatha mpath
`-mpatha1 part
vda disk
|-vda1 part
`-vda2 part
|-fedora-swap lvm
`-fedora-root lvm
Before this patch:
==================
use_lvmetad=0 (correct behaviour!)
$ pvs -a
PV VG Fmt Attr PSize PFree
/dev/fedora/root --- 0 0
/dev/fedora/swap --- 0 0
/dev/mapper/mpatha1 --- 0 0
/dev/md0 --- 0 0
/dev/sdn --- 0 0
/dev/vda1 --- 0 0
/dev/vda2 fedora lvm2 a-- 9.51g 0
use_lvmetad=1 (incorrect behaviour - sdo,sdp,sdq,sdr,sds and mpatha not filtered!)
$ pvs -a
PV VG Fmt Attr PSize PFree
/dev/fedora/root --- 0 0
/dev/fedora/swap --- 0 0
/dev/mapper/mpatha --- 0 0
/dev/mapper/mpatha1 --- 0 0
/dev/md0 --- 0 0
/dev/sdn --- 0 0
/dev/sdo --- 0 0
/dev/sdp --- 0 0
/dev/sdq --- 0 0
/dev/sdr --- 0 0
/dev/sds --- 0 0
/dev/vda --- 0 0
/dev/vda1 --- 0 0
/dev/vda2 fedora lvm2 a-- 9.51g 0
With this patch applied:
========================
use_lvmetad=1
$ pvs -a
PV VG Fmt Attr PSize PFree
/dev/fedora/root --- 0 0
/dev/fedora/swap --- 0 0
/dev/mapper/mpatha1 --- 0 0
/dev/md0 --- 0 0
/dev/sdn --- 0 0
/dev/vda1 --- 0 0
/dev/vda2 fedora lvm2 a-- 9.51g 0
2015-02-12 13:36:05 +01:00
Fix pvs -a used with lvmetad to filter out devices unsuitable for PVs.
2015-02-11 13:57:18 +01:00
Fix selection to recognize units for ba_start, vg_free and seg_start fields.
2014-12-12 12:03:34 +01:00
Add support for -S/--select to vgexport and vgimport.
2014-12-12 10:20:15 +01:00
Add support for -S/--select to vgdisplay, lvdisplay and pvdisplay without -C.
2014-12-12 09:34:50 +01:00
Add support for -S/--select to vgremove and lvremove.
2014-12-03 10:03:48 +01:00
Add support for -S/--select to vgchange,lvchange and pvchange.
2014-12-01 15:40:03 +01:00
Add infrastructure to support selection for non-reporting tools.
2015-02-09 14:16:24 +01:00
Add LVM_COMMAND_PROFILE env var to set default command profile name to use.
2015-03-04 13:49:51 +00:00
Set CLOEXEC flag on file descriptors originating in libdaemon.
2015-01-30 16:18:43 +00:00
2015-01-30 16:16:51 +00:00
Version 2.02.116 - 30th January 2015
2015-01-21 13:25:10 +00:00
====================================
2015-01-30 16:16:51 +00:00
Deactivate unused thin pools activated with lvm2 pre-2.02.112 versions.
2015-01-30 14:13:25 +01:00
Check lock holding LV when lvconverting stacked raid LV in cluster.
2015-01-30 16:16:51 +00:00
Support udev external dev info for filters: PV min size, mpath, md, partition.
2015-01-30 13:29:51 +01:00
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).
2015-01-30 12:27:49 +01:00
Scan pools in for_each_sub_lv() and add for_each_sub_lv_except_pools().
2015-01-30 11:28:10 +01:00
Fix lvm2app lvm_lv_get_property return value for fields with info/status ioctl.
2015-01-30 09:45:22 +01:00
Fix lvm2app regression in lvm_lv_get_attr causing unknown values (2.02.115).
2015-01-29 12:05:58 +01:00
Set default cache_mode to writehrough when missing in metadata.
2015-01-28 15:12:38 +01:00
Preserve chunk size with repair and metadata swap of a thin pool.
2015-01-28 13:39:41 +01:00
Fix raid --splitmirror 1 functionality (2.02.112).
2015-01-28 13:36:25 +01:00
Fix tree preload to handle splitting raid images.
2015-01-23 20:01:34 +00:00
Do not support unpartitioned DASD devices.
2015-01-21 16:44:02 +01:00
Improve config validation to check if setting with string value can be empty.
2015-01-21 13:25:10 +00:00
2015-01-21 13:08:12 +00:00
Version 2.02.115 - 21st January 2015
====================================
2015-01-20 14:36:21 +01:00
Report segment types without monitoring support as undefined.
2015-01-15 15:20:08 +01:00
Support lvchange --errorwhenfull for thin pools.
2015-01-14 14:52:12 -06:00
Improve the processing and reporting of duplicate PVs.
2015-01-14 15:15:29 +01:00
Report lv_health_status and health attribute also for thin pool.
2015-01-21 10:43:40 +01:00
Add lv_when_full reporting field.
2015-01-13 15:23:03 +01:00
Add support for lvcreate --errorwhenfull y|n for thin pools.
2015-01-14 13:41:55 +01:00
Fix lvconvert --repair to honour resilience requirement for segmented RAID LV.
2015-01-12 14:02:57 +01:00
Filter out partitioned device-mapper devices as unsuitable for use as PVs.
2015-01-12 13:50:11 +01:00
Also notify lvmetad about filtered device if using pvscan --cache DevicePath.
2015-01-09 16:34:16 +01:00
Use LVM's own selection instead of awk expressions in clvmd startup scripts.
2015-01-09 11:57:25 +01:00
Do not filter out snapshot origin LVs as unusable devices for an LVM stack.
2015-01-07 13:47:16 +01:00
Fix incorrect rimage names when converting from mirror to raid1 LV (2.02.112).
2015-01-21 13:08:12 +00:00
Introduce pvremove_many to avoid excessive metadata re-reading and messages.
2015-01-05 16:45:30 +01:00
Check for cmirror availability during cluster mirror creation and activation.
2014-12-17 15:06:48 +01:00
Add cache_policy and cache_settings reporting fields.
2014-12-11 15:16:04 +01:00
Add missing recognition for --binary option with {pv,vg,lv}display -C.
2014-12-10 13:43:54 +01:00
Fix vgimportclone to notify lvmetad about changes done if lvmetad is used.
2014-12-10 13:25:23 +01:00
Fix vgimportclone to properly override config if it is missing in lvm.conf.
2014-12-08 10:51:33 +01:00
Fix automatic use of configure --enable-udev-systemd-background-jobs.
2014-12-04 14:24:44 +01:00
Correctly rename active split LV with -splitmirrors for raid1.
2014-12-05 11:46:26 +01:00
Add report/compact_output to lvm.conf to enable/disable compact report output.
2014-12-02 14:24:21 +00:00
Still restrict mirror region size to power of 2 when VG extent size is not.
2014-11-28 23:07:31 +00:00
2014-11-28 23:06:07 +00:00
Version 2.02.114 - 28th November 2014
2014-11-24 17:48:25 +00:00
=====================================
2014-11-28 23:06:07 +00:00
Release socket in daemon_close and protocol string in daemon_open error path.
2014-11-27 20:23:57 +01:00
Add --cachepolicy and --cachesettings to lvcreate.
2014-11-26 17:09:47 +01:00
Fix regression when parsing /dev/mapper dir (2.02.112).
2014-11-26 09:27:40 +01:00
Fix missing rounding to 64KB when estimating optimal thin pool chunk size.
2014-11-28 23:06:07 +00:00
Fix typo in clvmd initscript causing CLVMD_STOP_TIMEOUT var to be ignored.
2014-11-25 15:16:09 +01:00
Fix size in pvresize "Resizing to ..." verbose msg to show proper result size.
2014-11-24 17:48:25 +00:00
2014-11-24 17:46:50 +00:00
Version 2.02.113 - 24th November 2014
2014-11-11 14:15:32 +00:00
=====================================
2014-11-24 17:46:50 +00:00
Add --cachepolicy and --cachesettings options to lvchange.
Validate that converted volume and specified pool volume differ in lvconvert.
2014-11-21 19:36:51 +01:00
Fix regression in vgscan --mknodes usage (2.02.112).
2014-11-21 16:33:48 +01:00
Respect --prefix when setting CLMVD_PATH configure (2.02.89).
2014-11-19 13:47:09 +01:00
Default to configure --enable-udev-systemd-background-jobs for systemd>=205.
2014-11-14 10:50:31 +01:00
Fix ignore_vg() to properly react on various vg_read errors (2.02.112).
2014-11-14 14:55:57 +01:00
Failed recovery returns FAILED_RECOVERY status flag for vg_read().
2014-11-13 12:26:43 +00:00
Exit with non-zero status code when pvck encounters a problem.
2014-11-12 09:34:46 +01:00
Fix clean_tree after activation/resume for cache target (2.02.112).
2014-11-11 14:15:32 +00:00
2014-11-11 14:13:00 +00:00
Version 2.02.112 - 11th November 2014
2014-09-01 01:53:44 +01:00
=====================================
2014-11-11 13:27:34 +01:00
Add cache_{read,write}_{hits,misses} reporting fields.
2014-10-24 13:39:56 +02:00
Add cache_{total,used,dirty}_blocks reporting fields.
2014-11-08 13:16:35 +01:00
Add _corig as reserved suffix.
2014-11-11 14:13:00 +00:00
Reduce number of VG writes and commits when creating spare volumes.
2014-11-09 19:48:39 +01:00
When remove_layer_from_lv() removes layer, restore subLV names.
2014-11-09 21:04:33 +01:00
Cache-pool in use becomes invisible LV.
2014-11-08 13:53:13 +01:00
Don't prompt for removal of _pmspare in VG without pool metadata LV.
2014-11-05 11:53:11 +01:00
Deactivation of snapshot origin detects and deactivates left-over snapshots.
2014-11-04 23:21:07 +01:00
Properly report error when taking snapshot of any cache type LV.
2014-11-04 18:56:20 +00:00
Add basic thread debugging messages to dmeventd.
2014-11-04 16:58:14 +00:00
Include threads being shutdown in dmeventd device registration responses.
2014-11-04 15:08:15 +01:00
Inital support for external users of thin pools based on transaction_id.
2014-11-03 12:38:29 +01:00
Report some basic percentage info for cache pools.
2014-10-30 14:52:37 +01:00
Introduce size_mb_arg_with_percent() for advanced size arg reading.
2014-10-28 11:20:33 +01:00
Add extra support for '.' as decimal point in size args.
2014-11-11 14:13:00 +00:00
Add configure parameters for default segment type choices.
Add global/sparse_segtype_default setting to use thin for --type sparse.
2014-10-07 14:48:38 +02:00
Update and correct lvcreate and lvcovert man pages.
2014-10-20 14:57:24 +02:00
Mark pools and snapshots as unzeroable volumes.
2014-10-21 20:50:26 +02:00
Check for zeroing of volume after segment type is fully detected.
2014-10-23 14:26:16 +02:00
Better support for persistent major and minor options with lvcreate.
2014-10-24 15:26:41 +02:00
Refactor lvcreate towards more complete validation of all supported options.
2014-10-11 18:36:40 +02:00
Support lvcreate --type linear.
2014-10-22 13:29:25 +02:00
Improve _should_wipe_lv() to warn with message.
2014-10-20 21:53:48 +02:00
Inform about temporarily created volumes only in verbose mode.
2014-10-20 15:03:24 +02:00
Better support for --test mode with pool creation.
2014-10-21 10:53:56 +02:00
Query lock holding LV when replacing and converting raid volumes.
2014-10-20 14:58:29 +02:00
Add extra validate for locked lv within validate_lv_cache_create().
2014-10-20 18:40:39 +02:00
Add internal lvseg_name() function.
2014-11-11 14:13:00 +00:00
Skip use of lock files for virtual internal VG names.
2014-10-23 15:03:04 +02:00
Fix selection on {vg,lv}_permissions fields to properly match selection criteria.
2014-10-23 10:18:29 +02:00
Fix lv_permissions reporting to display read-only{-override} instead of blank.
2014-10-17 13:55:06 +02:00
Fix liblvm2cmd and lvm shell to respect quotes around args in cmd line string.
2014-10-14 18:12:15 +01:00
Permit extent sizes > 128KB that are not power of 2 with lvm2 format.
2014-10-14 09:56:58 +02:00
Remove workaround for lvm2-monitor.service hang on stop if lvmetad stopped.
2014-10-07 16:45:45 +01:00
Change vgremove to use process_each_lv_in_vg.
2014-11-11 14:13:00 +00:00
Allow lvconvert --repair and --splitmirrors on internal LVs.
2014-10-07 01:08:03 +01:00
Introduce WARN_ flags to control some metadata warning messages.
Use process_each_pv in vgreduce.
Refactor process_each_pv in toollib.
2014-10-06 12:18:57 +02:00
Introduce single validation routine for pool chunk size.
2014-10-04 17:05:29 +02:00
Support --yes like --force in vg/lvremove to skip y|n prompt.
2014-10-06 14:42:47 +02:00
Support --yes with lvconvert --splitsnapshot.
2014-10-06 13:15:31 +02:00
Fix detection of unsupported thin external lvconversions.
2014-10-06 13:44:59 +02:00
Fix detection of unsupported cache and thin pool lvconversions.
2014-10-06 12:27:35 +02:00
Fix detection of unsupported lvconversion of cache to snapshot.
2014-10-03 23:51:54 +02:00
Improve code for creation of cache and cache pool volumes.
2014-10-03 23:49:57 +02:00
Check cluster-wide (not local) active status before removing LV.
2014-10-03 23:48:42 +02:00
Properly check if activation of removed cached LV really activated.
2014-11-11 14:13:00 +00:00
lvremove cached LV removes cachepool (keep with lvconvert --splitcache).
2014-10-03 23:34:16 +02:00
Always remove spare LV with last removed pool volume.
2014-10-04 15:32:24 +02:00
Support lvconvert --splitcache and --uncache of cached LV.
2014-09-29 20:43:11 +02:00
Option --cache has also shortcut -H (i.e. lvcreate -H).
2014-09-28 22:31:30 +02:00
Refactor lvcreate code and better preserve --type argument.
2014-11-11 14:13:00 +00:00
Refactor filter processing around lvmetad.
2014-10-07 01:08:03 +01:00
Refactor process_each_lv in toollib.
2014-10-03 20:47:19 +01:00
Refactor process_each_vg in toollib.
2014-09-22 14:09:55 +02:00
Pools cannot be used as external origin.
2014-09-21 01:10:53 +02:00
Use lv_update_and_reload() for snapshot reload.
2014-09-22 15:54:33 +02:00
Don't print message in adjusted_mirror_region_size() in activation.
2014-09-22 13:57:47 +02:00
Improve lv_update_and_reload() to find out proper lock holding LV.
2014-09-21 23:10:04 +02:00
Improve search of LV in lv_ondisk().
2014-09-21 23:07:02 +02:00
Do not scan sysfs in lv_check_not_in_use() when device is closed.
2014-09-19 15:16:26 +02:00
Backup final metadata after resync of mirror/raid.
2014-09-19 14:57:02 +02:00
Unify handling of --persistent option for lvcreate and lvchange.
2014-09-19 14:51:41 +02:00
Validate major and minor numbers stored in metadata.
2014-09-18 18:19:16 +02:00
Use -fPIE when linking -pie executables.
2014-11-11 14:13:00 +00:00
Support DEBUG_MEMLOCK to trap unsupported mmap usage.
2014-09-17 23:13:15 +01:00
Enable cache segment type by default.
2014-09-17 16:41:58 +01:00
Ensure only supported volume types are used with cache segments.
2014-09-16 22:19:53 -05:00
Fix inablility to specify cachemode when 'lvconvert'ing to cache-pool.
2014-09-17 14:27:46 +02:00
Grab cluster lock for active LVs when setting clustered attribute.
2014-09-15 15:33:56 +02:00
Use va_copy to properly pass va_list through functions.
2014-09-16 00:44:25 +01:00
Add function to detect rotational devices.
2014-09-16 00:13:46 +01:00
Review internal checks for mirror/raid/pvmove volumes.
Track mirror segment type with separate MIRROR flag.
Fix cmirror endian conversions.
2014-09-15 21:33:53 +01:00
Introduce lv_is_pvmove/locked/converting/merging macros.
2014-09-15 13:42:43 +02:00
Avoid leaving linear logical volume when thin pool creation fails.
2014-09-12 11:37:01 +02:00
Don't leak alloc_handle on raid target error path.
2014-09-12 11:39:48 +02:00
Properly validate raid leg names.
2014-09-12 11:30:38 +02:00
Archive metadata before starting their modification in raid target.
2014-09-21 01:10:06 +02:00
Add missing vg_revert() in suspend_lv() raid and snapshot error path.
2014-09-11 19:05:40 +02:00
Add missing backup of lvm2 metadata after some raid modifications.
Use vg memory pool for extent allocation.
2014-09-12 10:03:12 +02:00
Add allocation/physical_extent_size config option for default PE size of VGs.
2014-11-11 14:13:00 +00:00
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.
2014-09-09 18:47:27 +02:00
Fix rename of active snapshot volume in cluster.
2014-09-04 10:52:41 +02:00
Make sure shared libraries are built with RELRO option.
2014-09-01 01:53:44 +01:00
2014-09-01 01:51:47 +01:00
Version 2.02.111 - 1st September 2014
=====================================
2014-08-29 13:00:16 +02:00
Pass properly sized char buffers for sscanf when initializing clvmd.
2014-08-28 00:40:09 +01:00
Reinstate nosync logic when extending mirror. (2.02.110)
Fix total area extent calculation when allocating cache pool. (2.02.110)
2014-08-26 16:41:18 +01:00
2014-08-26 16:34:14 +01:00
Version 2.02.110 - 26th August 2014
===================================
2014-08-26 12:10:29 +02:00
Fix manipulation with thin-pools which are excluded via volume_list.
2014-08-26 11:53:56 +02:00
Support lv/vgremove -ff to remove thin vols from broken/inactive thin pools.
2014-08-22 23:42:55 +01:00
Fix typo breaking configure --with-lvm1=shared.
2014-08-22 01:26:14 +01:00
Modify lvresize code to handle raid/mirrors and physical extents.
2014-08-26 16:34:14 +01:00
Don't allow pvcreate to proceed if scanning or filtering fails.
2014-08-15 21:15:34 -05:00
Cleanly error when creating RAID with stripe size < PAGE_SIZE.
2014-08-14 11:12:02 +02:00
Print name of LV which on activation triggers delayed snapshot merge.
2014-08-25 09:07:03 +02:00
Add lv_layout and lv_role LV reporting fields.
2014-08-15 13:31:11 +02:00
Properly display lvs lv_attr volume type and target type bit for cache origin.
2014-08-14 01:30:01 +01:00
Fix pvcreate_check() to update cache correctly after signature wiping.
2014-08-08 10:49:19 +02:00
Fix primary device lookup failure for partition when processing mpath filter.
2014-08-07 16:44:09 +02:00
If LV inactive and non-clustered, do not issue "Cannot deactivate" on -aln.
2014-08-07 15:23:58 +02:00
Remove spurious "Skipping mirror LV" message on pvmove of clustered mirror.
2014-08-05 02:12:20 +01:00
2014-08-05 02:07:35 +01:00
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)
2014-08-01 11:28:18 +02:00
Fix incorrect persistent .cache after vgcreate with PV creation. (2.02.108)
2014-08-01 00:35:43 +01:00
Display actual size changed when resizing LV.
Allow approximate allocation with +%FREE in lvextend.
2014-07-31 09:30:25 +02:00
Remove possible spurious "not found" message on PV create before wiping.
2014-07-30 21:55:11 +01:00
Handle upgrade from 2.02.105 when an LV now gaining a uuid suffix is active.
2014-07-23 16:23:52 +01:00
2014-07-23 16:05:22 +01:00
Version 2.02.108 - 23rd July 2014
2014-06-23 15:23:09 +01:00
=================================
2014-07-22 22:33:42 +02:00
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.
2014-07-22 22:20:18 +02:00
Improve code sharing for lvconvert and lvcreate and pools (cache & thin).
2014-07-17 15:38:13 +02:00
Improve lvconvert --merge validation.
2014-07-17 15:36:07 +02:00
Improve lvconvert --splitsnapshot validation.
2014-07-11 14:09:05 +02:00
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.
2014-07-11 12:15:23 +02:00
Enhance lvconvert thin, thinpool, cache and cachepool command line support.
2014-07-07 22:26:56 +02:00
Display 'C' only for cache and cache-pool target types in lvs.
2014-07-07 22:33:31 +02:00
Prompt for confirmation before change LV into a snapshot exception store.
2014-07-11 12:24:32 +02:00
Return proper error codes for some failing lvconvert funtions.
2014-07-04 16:31:29 +02:00
Add initial code to use cache tools (cache_check|dump|repair|restore).
2014-07-21 15:50:47 +01:00
Support lvdisplay --maps for raid.
Add --activationmode degraded to activate degraded raid volumes by default.
2014-07-09 14:28:50 +02:00
Add separate lv_active_{locally,remotely,exclusively} LV reporting fields.
2014-07-07 16:52:43 +02:00
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.
2014-07-07 13:58:42 +02:00
Fix regression causing PVs not in VGs to be marked as allocatable (2.02.59).
2014-07-03 19:06:04 +01:00
Fix VG component of lvid in vgsplit/vgmerge and check in vg_validate.
2014-07-03 23:49:34 +01:00
Add lv_full_name, lv_parent and lv_dm_path fields to reports.
2014-07-02 14:57:00 +01:00
Change lv_path field to suppress devices that never appear in /dev/vg.
2014-07-01 11:06:36 +02:00
Postpone thin pool lvconvert prompts (2.02.107).
2014-07-01 11:04:14 +02:00
Require --yes option to skip prompt to lvconvert thin pool chunksize.
2014-07-02 00:13:32 +02:00
Support lvremove -ff to remove thin volumes from broken thin pools.
2014-07-01 09:55:04 +02:00
Require --yes to skip raid repair prompt.
2014-07-02 00:48:50 +01:00
Change makefile %.d generation to handle filename changes without make clean.
Fix use of buildir in make pofile.
2014-06-27 00:03:31 +02:00
Enhance private volumes UUIDs with suffixed for easier detection.
2014-06-30 11:33:23 +02:00
Do not use reserved _[tc]meta volumes for temporary LVs.
2014-06-30 11:01:04 +02:00
Leave backup pool metadata with _meta%d suffix instead of reserved _tmeta%d.
2014-06-25 22:26:06 -05:00
Allow RAID repair to reuse PVs from same image that suffered a failure.
2014-06-25 21:20:41 -05:00
New RAID images now avoid allocation on any PVs in the same parent RAID LV.
2014-06-25 16:19:27 +02:00
Always reevaluate filters just before creating PV.
2014-06-23 15:23:09 +01:00
2014-06-23 14:03:32 +01:00
Version 2.02.107 - 23rd June 2014
=================================
2014-06-20 13:24:02 +01:00
Introduce LCK_ACTIVATION to avoid concurrent activation of basic LV types.
2014-06-19 11:58:28 +02:00
Fix open_count test for lvchange --refresh or mirrors and raids.
2014-06-18 10:48:53 +02:00
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.
2014-06-19 13:40:47 +01:00
Support all-or-nothing pvmove --atomic.
2014-06-17 13:33:42 +02:00
Automatically add snapshot metadata size for -l %ORIGIN calculation.
2014-06-16 18:15:39 -05:00
When converting RAID origin to cache LV, properly rename sub-LVs.
2014-06-13 15:45:25 +02:00
Use RemoveOnStop for lvm2-lvmetad.socket systemd unit.
2014-06-13 09:45:26 +02:00
Add thin-generic configuration profile for generic thin settings.
2014-06-23 14:03:32 +01:00
Fix crash when reporting empty labels on pvs.
2014-06-09 10:58:57 +02:00
Use retry_deactivation also when cleaning orphan devices.
2014-06-23 14:03:32 +01:00
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.
2014-06-05 22:29:16 -05:00
Prompt when setting the VG cluster attr if the cluster is not setup.
2014-05-23 23:33:17 +02:00
Allow --yes to skip prompt in vgextend (worked only with -f).
2014-05-22 09:56:44 +02:00
Don't use name mangling for LVM - it never uses dm names with wrong char set.
2014-05-21 12:32:12 +02:00
Remove default.profile and add {command,metadata}_profile_template.profile.
2014-05-21 10:10:24 +02:00
Use proper umask for systemd units generated by lvm2-activation-generator.
2014-05-20 12:57:42 +02:00
Check for failing mirror_remove_missing() function.
2014-05-20 16:21:14 +02:00
Prompt before converting volumes to thin pool and thin pool metadata.
2014-05-20 14:45:20 +02:00
Add dumpconfig --type profilable-{metadata,command} to select profile type.
config: differentiate command and metadata profiles and consolidate profile handling code
- When defining configuration source, the code now uses separate
CONFIG_PROFILE_COMMAND and CONFIG_PROFILE_METADATA markers
(before, it was just CONFIG_PROFILE that did not make the
difference between the two). This helps when checking the
configuration if it contains correct set of options which
are all in either command-profilable or metadata-profilable
group without mixing these groups together - so it's a firm
distinction. The "command profile" can't contain
"metadata profile" and vice versa! This is strictly checked
and if the settings are mixed, such profile is rejected and
it's not used. So in the end, the CONFIG_PROFILE_COMMAND
set of options and CONFIG_PROFILE_METADATA are mutually exclusive
sets.
- Marking configuration with one or the other marker will also
determine the way these configuration sources are positioned
in the configuration cascade which is now:
CONFIG_STRING -> CONFIG_PROFILE_COMMAND -> CONFIG_PROFILE_METADATA -> CONFIG_FILE/CONFIG_MERGED_FILES
- Marking configuration with one or the other marker will also make
it possible to issue a command context refresh (will be probably
a part of a future patch) if needed for settings in global profile
set. For settings in metadata profile set this is impossible since
we can't refresh cmd context in the middle of reading VG/LV metadata
and for each VG/LV separately because each VG/LV can have a different
metadata profile assinged and it's not possible to change these
settings at this level.
- When command profile is incorrect, it's rejected *and also* the
command exits immediately - the profile *must* be correct for the
command that was run with a profile to be executed. Before this
patch, when the profile was found incorrect, there was just the
warning message and the command continued without profile applied.
But it's more correct to exit immediately in this case.
- When metadata profile is incorrect, we reject it during command
runtime (as we know the profile name from metadata and not early
from command line as it is in case of command profiles) and we
*do continue* with the command as we're in the middle of operation.
Also, the metadata profile is applied directly and on the fly on
find_config_tree_* fn call and even if the metadata profile is
found incorrect, we still need to return the non-profiled value
as found in the other configuration provided or default value.
To exit immediately even in this case, we'd need to refactor
existing find_config_tree_* fns so they can return error. Currently,
these fns return only config values (which end up with default
values in the end if the config is not found).
- To check the profile validity before use to be sure it's correct,
one can use :
lvm dumpconfig --commandprofile/--metadataprofile ProfileName --validate
(the --commandprofile/--metadataprofile for dumpconfig will come
as part of the subsequent patch)
- This patch also adds a reference to --commandprofile and
--metadataprofile in the cmd help string (which was missing before
for the --profile for some commands). We do not mention --profile
now as people should use --commandprofile or --metadataprofile
directly. However, the --profile is still supported for backward
compatibility and it's translated as:
--profile == --metadataprofile for lvcreate, vgcreate, lvchange and vgchange
(as these commands are able to attach profile to metadata)
--profile == --commandprofile for all the other commands
(--metadataprofile is not allowed there as it makes no sense)
- This patch also contains some cleanups to make the code handling
the profiles more readable...
2014-05-20 14:13:10 +02:00
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.
2014-05-19 14:51:11 +02:00
Fix dumpconfig --type diff when run as second and later cmd in lvm shell.
2014-05-19 13:59:23 +02:00
Fix wrong profile reuse from previous run if another cmd is run in lvm shell.
2014-06-23 14:03:32 +01:00
Move cache description from lvm(8) to new lvmcache(7) man page.
2014-05-15 11:58:49 +02:00
Display skipped prompt in silent mode.
2014-05-15 10:58:05 +02:00
Make reporting commands show help about possible sort keys on '-O help'.
2014-05-15 08:32:27 +01:00
Add metadata_percent to lvs_cols.
2014-05-14 16:25:43 +01:00
Take account of parity areas with alloc anywhere in _calc_required_extents.
2014-05-07 11:12:05 +02:00
Use proper uint64 casting for calculation of cache metadata size.
2014-05-02 17:30:27 +02:00
Better support for nesting of blocking signals.
2014-05-02 17:27:51 +02:00
Use only sigaction handler and drop duplicate signal handler.
2014-05-01 20:07:17 +01:00
Separate signal handling and flock code out into lib/misc.
2014-04-30 10:13:35 +02:00
Don't start dmeventd checking seg_monitor and monitoring is disabled.
2014-04-29 08:16:28 +01:00
Catch CTRL-c during pvremove prompts.
2014-04-28 11:58:26 +02:00
Show correct availability status for snapshot origin in lvscan.
2014-04-28 11:56:07 +02:00
Move segment thin pool/volume info into segment display 'lvdisplay --maps'.
2014-04-28 11:50:38 +02:00
Display thin pool usage even when just thin volume is available.
2014-04-28 11:53:56 +02:00
Display monitoring status for monitorable segments in 'lvdisplay --maps'.
2014-04-28 11:19:51 +02:00
Display virtual extents for virtual LVs in 'lvdisplay --maps'.
2014-04-25 16:24:50 -05:00
Make vgsplit fail cleanly when not all PVs are specified for RAID 4/5/6.
2014-04-25 14:55:32 -05:00
Make vgsplit work on mirrors with logs that share PVs with images.
2014-04-24 12:12:28 +02:00
Use devices/ignore_suspended_devices=0 by default if not defined in lvm.conf.
2014-04-17 10:42:41 +02:00
Use proper libmem mempool for allocation of unknown segment name.
2014-04-18 02:46:34 +01:00
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.
2014-04-18 02:27:16 +01:00
Fix _recover_vg() error path when lock conversion fails.
2014-04-18 02:23:39 +01:00
Use X for LV attributes that are unknown when activation disabled.
Only output lvdisplay 'LV Status' field when activation is enabled.
2014-04-18 02:13:46 +01:00
Use lvmetad_used() in pvscan instead of config_tree.
2014-04-16 11:33:44 +02:00
Configure --enable-udev-systemd-background-jobs if not disabled explicitly.
2014-04-15 15:27:30 +02:00
Add lvmdump -s to collect system info and context (currently systemd only).
2014-04-15 01:13:47 +01:00
Refactor allocation code to make A_POSITIONAL_FILL explicit.
2014-04-09 07:51:36 +02:00
Use thread-safe ctime_r() for clvmd debug logging.
2014-04-14 12:40:23 +02:00
Skip adding replies to already finished reply thread.
2014-04-14 11:39:24 +02:00
Use mutex to check number of replies in request_timed_out() in clvmd.
2014-04-09 08:12:13 +02:00
Drop usage of extra reply_mutex for localsock in clvmd.
2014-04-09 10:36:25 +02:00
Protect manipulation with finished flag with mutex in clvmd.
2014-04-09 08:06:16 +02:00
Shift mutex creation and destroy for localsock in clvmd to correct place.
2014-04-09 07:58:40 +02:00
Fix usage of --test option in clvmd.
2014-04-10 10:52:44 +02:00
Skip more libraries to be mlocked in memory.
2014-04-10 20:31:39 +02:00
Remove LOCKED flag for pvmove replaced with error target.
2014-04-10 10:08:09 +02:00
Return invalid command when specifying negative polling interval.
2014-04-10 17:13:27 +01:00
2014-04-10 16:28:28 +01:00
Version 2.02.106 - 10th April 2014
==================================
2014-04-10 13:43:46 +02:00
Fix ignored --dataalignment/dataalignment offset for pvcreate --restorefile.
2014-04-09 14:42:40 +02:00
Fix lost information about bootloader area when using lvmetad.
2014-04-04 13:29:39 +02:00
Don't require --major to be specified when using -My option on kernels > 2.4.
2014-04-04 02:22:40 +01:00
Add configure --disable-thin_check_needs_check to support old thin_check.
Use thin_check --clear-needs-check-flag by default.
2014-04-04 01:26:19 +01:00
Export lvm_even_rand() for controlled provision of random numbers.
2014-04-04 01:14:25 +01:00
Add lvmthin man page to section 7.
2014-04-10 16:28:28 +01:00
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.
2014-03-27 10:35:07 +01:00
Drop unused cmd pointer for internal function for_each_sub_lv().
2014-03-27 10:35:51 +01:00
Validate name for renamed sub LVs.
2014-04-10 16:28:28 +01:00
When lvrename fails on argument parsing return EINVALID_CMD_LINE.
2014-03-27 11:27:42 +01:00
Fix exit code regression in failing pvchange command (2.02.66).
2014-03-25 13:06:59 +01:00
Include 'lvm dumpconfig --type missing' and '--type diff' output to lvmdump.
2014-03-25 11:52:03 +01:00
Return failure when specifying negative size for pvresize.
2014-03-25 10:53:42 +01:00
Fix memory corruption in cmd context refresh if clvmd leaks opened device.
2014-03-25 11:00:44 +01:00
Reinitialise lvmcache properly on fork to fix premature polldaemon exit.
2014-03-24 13:19:15 +01:00
Add 'lvm dumpconfig --type diff' to show differences from defaults.
2014-03-22 20:36:14 +01:00
Fix swap signature detection for devices smaller then 2MB.
2014-03-21 22:00:54 +01:00
Use dm_malloc function in clvmd.c.
Resolve memory release order for clvmd shutdown.
Report error when lvm2 activation is released in critical_section.
2014-03-19 00:17:36 +01:00
Fix memory corruption when pvscan reports long pv names.
2014-03-18 23:54:46 +01:00
Do not report internal orphan VG names when reporting pvdisplay/pvscan.
2014-03-18 09:24:01 +01:00
Fix pvdisplay -c man page referencing KB instead of sectors.
2014-03-19 00:25:51 +01:00
Skip redundant synchronization calls on local clvmd.
2014-03-19 00:22:18 +01:00
Use correct PATH_MAX for locking dir path.
2014-03-19 00:20:39 +01:00
Do not check for backups when when its creation is disabled.
2014-03-18 11:04:21 +01:00
Don't allow --mergedconfig without --type current in dumpconfig. Fix memleak.
2014-03-18 09:49:53 +01:00
Make global/lvdisplay_shows_full_device_path lvm.conf setting profilable.
2014-03-18 09:28:52 +01:00
Make global/{units|si_unit_consistency|suffix} lvm.conf setting profilable.
2014-03-17 13:06:00 +01:00
Validate minimal chunk size for snapshot COW volume in lvconvert.
2014-03-17 09:41:36 +01:00
Disallow lvconvert of origin to snapshot COW volume.
2014-03-17 16:03:53 +01:00
Make report lvm.conf settings profilable.
2014-03-17 14:24:21 +01:00
Add existing report settings to lvm.conf.
2014-03-14 12:07:41 +01:00
Use VG read lock during 'pvscan --cache -aay' autoactivation.
2014-03-14 10:44:14 +01:00
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.
2014-03-19 09:49:09 +01:00
Also add vgname to lvmetad protocol when referencing VGs for PVs scanned.
2014-03-13 13:01:06 +01:00
Add man page for lvm2-activation-generator.
2014-03-12 15:53:20 +01:00
Don't print an error and accept empty value for global/thin_disabled_features.
2014-03-11 17:13:47 +01:00
Update API for internal function build_dm_uuid().
2014-03-11 22:54:33 +01:00
Do not try to check empty pool with scheduled messages.
2014-03-11 22:50:23 +01:00
Fix return value in pool_has_message() when quering for any message.
2014-03-08 23:16:31 +01:00
Cleanup all client resources on clvmd exit.
2014-03-08 22:55:47 +01:00
Use dm_zalloc to clear members of clvmd client struct.
2014-03-06 16:03:08 +01:00
Use BLKID_CFLAGS when compiling with blkid support.
2014-03-06 16:04:19 +01:00
Use correct rl_completion_func_t typedef for new readline.
2014-03-06 13:03:51 +01:00
Make lvm 'dumpconfig --type default' complete for it to be consumed by lvm.
2014-03-05 14:25:08 +01:00
Run pvscan --cache via systemd-run in udev if the PV label is detected lost.
2014-03-01 11:36:05 +01:00
Fix memleak when lvmetad discovers PV to appear on another device.
2014-02-25 19:43:07 +01:00
Fix calculation of maximum size of COW device for snapshot (2.02.99).
2014-02-26 10:14:18 +08:00
Do not allow stripe size to be bigger then extent size for lvresize.
2014-02-26 00:17:11 +01:00
Zero snapshot COW header when creating read-only snapshot.
2014-02-25 11:05:23 +01:00
Comment out config lines in dumpconfig output without default values defined.
2014-02-24 14:18:26 +01:00
Improve detection of clustered mirror support.
2014-02-24 13:15:40 +01:00
Enhance raid code with feature flags, for now checks for raid10.
2014-02-22 01:44:21 +01:00
Move parsing of VG metadata from vg_commit() back to vg_write() (2.02.99)
2014-02-21 11:36:55 +01:00
Avoid a PV label scan while in a critical section.
2014-02-19 11:02:16 +01:00
Remove (always 0) skip argument from lv_activation_skip().
2014-02-18 11:27:21 +01:00
Create /dev/disk/by-id/lvm-pv-uuid-<PV_UUID> symlink for each PV via udev.
RAID: Allow implicit stripe (and parity) when creating RAID LVs
There are typically 2 functions for the more advanced segment types that
deal with parameters in lvcreate.c: _get_*_params() and _check_*_params().
(Not all segment types name their functions according to this scheme.)
The former function is responsible for reading parameters before the VG
has been read. The latter is for sanity checking and possibly setting
parameters after the VG has been read.
This patch adds a _check_raid_parameters() function that will determine
if the user has specified 'stripe' or 'mirror' parameters. If not, the
proper number is computed from the list of PVs the user has supplied or
the number that are available in the VG. Now that _check_raid_parameters()
is available, we move the check for proper number of stripes from
_get_* to _check_*.
This gives the user the ability to create RAID LVs as follows:
# 5-device RAID5, 4-data, 1-parity (i.e. implicit '-i 4')
~> lvcreate --type raid5 -L 100G -n lv vg /dev/sd[abcde]1
# 5-device RAID6, 3-data, 2-parity (i.e. implicit '-i 3')
~> lvcreate --type raid6 -L 100G -n lv vg /dev/sd[abcde]1
# If 5 PVs in VG, 4-data, 1-parity RAID5
~> lvcreate --type raid5 -L 100G -n lv vg
Considerations:
This patch only affects RAID. It might also be useful to apply this to
the 'stripe' segment type. LVM RAID may include RAID0 at some point in
the future and the implicit stripes would apply there. It would be odd
to have RAID0 be able to auto-determine the stripe count while 'stripe'
could not.
The only draw-back of this patch that I can see is that there might be
less error checking. Rather than informing the user that they forgot
to supply an argument (e.g. '-i'), the value would be computed and it
may differ from what the user actually wanted. I don't see this as a
problem, because the user can check the device count after creation
and remove the LV if they have made an error.
2014-02-17 20:18:23 -06:00
lvcreate computes RAID4/5/6 stripes if not given from # of allocatable PVs.
2014-02-17 21:48:27 +01:00
Fix merging of old snapshot into thin volume origin.
2014-02-17 16:25:32 +01:00
Use --ignoreskippedcluster in lvm2-monitor initscript/systemd unit.
2014-02-13 14:42:29 +01:00
Do not use VG read/write state for LV read/write state.
2014-02-14 11:59:12 +01:00
Use --ignoreskippedcluster in activation systemd units if use_lvmetad=0.
2014-02-13 21:12:28 -06:00
Allow approximate allocation when specifying size in percentage terms.
2014-02-12 10:29:07 -06:00
Add basic LVM support for cache[pool] segment types.
2014-02-11 13:34:22 +01:00
Use local exclusive activation for creation of raid in cluster.
2014-02-09 21:34:55 +01:00
Use correctly signed 64b constant when selecting raid volumes.
2014-02-11 13:48:04 +01:00
Add systemd native service for clvmd, cmirrord and clustered LV activation.
2014-02-10 16:18:48 +01:00
Remove ExecReload from lvmetad systemd unit: lvmetad -R undefined. (2.02.98)
Do not fork lvmetad if running under systemd.
2014-02-10 13:28:13 +01:00
Wipe DM_snapshot_cow signature without prompt in new LVs with blkid wiping.
2014-02-04 14:47:52 +01:00
Avoid exposing temporary devices when initializing raid metadata volumes.
2014-01-30 13:09:15 +00:00
Add internal tags command to display any tags defined on the host.
2014-01-29 14:27:13 +01:00
Prohibit use of external origin with size incompatible with thin pool.
2014-01-28 13:21:39 +01:00
Avoid trying to convert single to thin pool and volume at the same time.
2014-01-27 13:13:32 +01:00
Add support for partitions on ZFS zvol.
2014-01-27 12:11:09 +01:00
Fix unwanted drop of hold flocks on forked children.
2014-01-24 15:59:38 +01:00
Respect LVM_LVMETAD_PIDFILE env var for lvm command.
2014-01-24 12:28:35 +01:00
Avoid exposing temporary devices when initializing thin pool volume.
2014-01-23 13:47:23 +01:00
Fix test when checking target version for available thin features.
2014-01-23 13:10:29 +01:00
Detect thin feature external_origin_extend and limit extend when missing.
2014-01-23 11:47:10 +01:00
Rename internal pool_can_resize_metadata() to thin_pool_feature_supported().
2014-01-22 16:26:49 +01:00
Issue error if libbblkid detects signature and fails to return offset/length.
2014-01-21 22:00:15 +00:00
Update autoconf config.guess/sub to 2014-01-01.
2014-01-21 13:48:57 +01:00
Online thin pool metadata resize requires 1.10 kernel thin pool target.
2014-01-20 19:41:30 +00:00
2014-01-20 19:22:56 +00:00
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.
2014-01-14 03:27:45 +00:00
Mark lvm1 format metadata as FMT_OBSOLETE. Do not use it with lvmetad.
2014-01-14 02:57:03 +00:00
Invalidate cached VG struct after a PV in it gets orphaned. (2.02.87)
Mark pool format metadata as FMT_OBSOLETE.
2013-12-18 12:00:02 +01:00
Use major:minor in lvm2-pvscan@.service for proper global_filter application.
2013-12-17 20:26:10 +02:00
Syntax and spelling fixes in some man pages.
2013-12-17 13:53:15 +01:00
Dependency scan counts with snapshots and external origins.
2013-12-12 11:26:35 +01:00
Make sure VG extent size is always greater or equal to PV phys. block size.
2011-11-25 10:01:37 +01:00
Optimize double call of stat() for cached devices.
2013-12-12 13:07:59 +01:00
Enable support for thin provisioning for default configuration.
2011-11-08 23:29:40 +01:00
Improve process_each_lv_in_vg() tag processing.
2014-01-20 19:22:56 +00:00
Reordered and simplified logging code.
2013-12-11 16:50:52 +01:00
Fix SYSTEMD_READY assignment for foreign devices in lvmetad udev rules.
2013-12-10 11:10:53 +01:00
Disable online thin pool metadata resize for 1.9 kernel thin target.
2013-12-06 16:38:11 +01:00
Shortened code for initialization of raid segment types.
2013-12-06 16:35:54 +01:00
Cache global library dir in command context.
2013-12-05 11:11:26 +01:00
Return success when inserting dirs and links into device cache.
2013-11-28 23:22:03 +01:00
Test for remote exclusive activation after activation fails.
2013-11-29 21:28:18 +01:00
Support lvconvert --merge for thin snapshots.
2013-12-04 13:57:27 +01:00
Add support to read thin device id from table line entry.
2013-11-29 11:01:02 +01:00
Drop extra test for origin when testing merging origin in lv_refresh().
2013-11-29 17:00:55 +01:00
Extend lv_remove_single() to not print info about removed LV.
2013-11-29 15:02:57 +01:00
Replace open_count check with lv_check_not_in_use() for snapshot open test.
2013-11-29 11:10:41 +01:00
Add error messages with LV names for failing lv refresh.
2013-12-05 14:03:10 +01:00
Compile/link executables with new RELRO and PIE options (non-static builds).
2013-12-04 12:35:02 +01:00
Support per-object compilation cflags via CFLAGS_object.o.
2013-12-04 09:58:58 +01:00
Automatically detect support for compiler/linker options to use RELRO and PIE.
2013-12-04 02:09:37 +00:00
Add --splitsnapshot to lvconvert to separate out cow LV.
2013-12-04 02:04:29 +00:00
Reinstate origin reload to complete lvconvert -s with active LVs. (2.02.98)
2013-12-03 14:41:25 +01:00
Select only active volume groups if vgdisplay -A is used.
2014-01-24 15:59:38 +01:00
Add -p and LVM_LVMETAD_PIDFILE env var to lvmetad to change pid file.
2013-11-29 20:56:29 +00:00
Allow lvmetad to reuse stale socket.
Only unlink lvmetad socket on error if created by the same process.
2013-11-28 19:16:25 +00:00
Append missing newline to lvmetad missing socket path error message.
2020-10-03 11:52:37 +00:00
Check for non-zero alignment in _text_pv_add_metadata_area() to not div by 0.
2013-11-27 13:52:15 +01:00
Add allocation/use_blkid_wiping to lvm.conf to enable blkid wiping.
2013-11-29 15:27:56 +01:00
Enable blkid_wiping by default if the blkid library is present.
Add configure --disable-blkid_wiping to disable libblkid signature detection.
2013-11-06 16:05:50 +01:00
Add -W/--wipesignatures lvcreate option to support wiping on new LVs.
2013-12-09 09:35:47 +00:00
Add allocation/wipe_signatures_when_zeroing_new_lvs to lvm.conf.
2013-11-27 08:33:02 +01:00
Do not fail the whole autoactivation if the VG refresh done before fails.
2013-11-26 14:51:23 +01:00
Do not connect to lvmetad on vg/lvchange --sysinit -aay and socket absent.
2013-11-22 15:27:47 +01:00
Use lv_check_not_in_use() when testing device in use before merging.
2013-11-22 14:52:35 +01:00
Move test for target present from init_snapshot_merge() to lvconvert.
2013-11-22 13:25:27 +01:00
Check for failure of lvmcache_add_mda() when writing pv.
2013-11-22 13:21:52 +01:00
Check for failure of dev_get_size() when reporting device size.
2013-11-21 17:50:12 +01:00
Drop extra unneeded '/' when scanning sysfs directory.
2013-11-22 18:11:04 +00:00
Fix undef value if skipped clustered VG ignored for toollib PV seg. (2.02.103)
2014-01-20 19:22:56 +00:00
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.
2013-11-11 10:05:45 +01:00
Add reporting of thin_id device id for thin volumes.
2014-01-20 19:22:56 +00:00
Fix reporting of empty numerical values for recently-added fields.
Use _field_set_percent/value in reporting code.
2013-11-13 14:11:11 +00:00
2013-11-13 14:02:34 +00:00
Version 2.02.104 - 13th November 2013
=====================================
2013-11-12 10:55:34 +01:00
Workaround VG refresh race during autoactivation by retrying the refresh.
2013-11-08 09:52:00 -06:00
Handle failures in temporary mirror used when adding images to mirrors.
2013-11-01 10:31:31 +01:00
Fix and improve logic for implicitely exclusive activations.
2013-11-01 10:28:42 +01:00
Return success when LV cannot be activated because of volume_list filter.
2013-11-01 10:26:43 +01:00
Return proper error state for remote exclusive activation.
2013-10-30 14:02:38 +01:00
Fix missing lvmetad scan for PVs found on MD partitions.
2013-10-29 13:49:55 +01:00
Respect DM_UDEV_DISABLE_OTHER_RULES_FLAG in lvmetad udev rules.
2013-10-29 11:04:32 +01:00
Fix clvmd message verification to not reject REMOTE flag. (2.02.100)
2013-10-25 10:38:09 +02:00
Compare equality of double values with DBL_EPSILON predefined constant.
2013-10-24 17:10:24 +01:00
Use additional gcc warning flags by default.
Mirror: Fix hangs and lock-ups caused by attempting label reads of mirrors
There is a problem with the way mirrors have been designed to handle
failures that is resulting in stuck LVM processes and hung I/O. When
mirrors encounter a write failure, they block I/O and notify userspace
to reconfigure the mirror to remove failed devices. This process is
open to a couple races:
1) Any LVM process other than the one that is meant to deal with the
mirror failure can attempt to read the mirror, fail, and block other
LVM commands (including the repair command) from proceeding due to
holding a lock on the volume group.
2) If there are multiple mirrors that suffer a failure in the same
volume group, a repair can block while attempting to read the LVM
label from one mirror while trying to repair the other.
Mitigation of these races has been attempted by disallowing label reading
of mirrors that are either suspended or are indicated as blocking by
the kernel. While this has closed the window of opportunity for hitting
the above problems considerably, it hasn't closed it completely. This is
because it is still possible to start an LVM command, read the status of
the mirror as healthy, and then perform the read for the label at the
moment after a the failure is discovered by the kernel.
I can see two solutions to this problem:
1) Allow users to configure whether mirrors can be candidates for LVM
labels (i.e. whether PVs can be created on mirror LVs). If the user
chooses to allow label scanning of mirror LVs, it will be at the expense
of a possible hang in I/O or LVM processes.
2) Instrument a way to allow asynchronous label reading - allowing
blocked label reads to be ignored while continuing to process the LVM
command. This would action would allow LVM commands to continue even
though they would have otherwise blocked trying to read a mirror. They
can then release their lock and allow a repair command to commence. In
the event of #2 above, the repair command already in progress can continue
and repair the failed mirror.
This patch brings solution #1. If solution #2 is developed later on, the
configuration option created in #1 can be negated - allowing mirrors to
be scanned for labels by default once again.
2013-10-22 19:14:33 -05:00
Add ignore_lvm_mirrors to config file to read/ignore labels on mirrors.
activation: flag temporary LVs internally
Add LV_TEMPORARY flag for LVs with limited existence during command
execution. Such LVs are temporary in way that they need to be activated,
some action done and then removed immediately. Such LVs are just like
any normal LV - the only difference is that they are removed during
LVM command execution. This is also the case for LVs representing
future pool metadata spare LVs which we need to initialize by using
the usual LV before they are declared as pool metadata spare.
We can optimize some other parts like udev to do a better job if
it knows that the LV is temporary and any processing on it is just
useless.
This flag is orthogonal to LV_NOSCAN flag introduced recently
as LV_NOSCAN flag is primarily used to mark an LV for the scanning
to be avoided before the zeroing of the device happens. The LV_TEMPORARY
flag makes a difference between a full-fledged LV visible in the system
and the LV just used as a temporary overlay for some action that needs to
be done on underlying PVs.
For example: lvcreate --thinpool POOL --zero n -L 1G vg
- first, the usual LV is created to do a clean up for pool metadata
spare. The LV is activated, zeroed, deactivated.
- between "activated" and "zeroed" stage, the LV_NOSCAN flag is used
to avoid any scanning in udev
- betwen "zeroed" and "deactivated" stage, we need to avoid the WATCH
udev rule, but since the LV is just a usual LV, we can't make a
difference. The LV_TEMPORARY internal LV flag helps here. If we
create the LV with this flag, the DM_UDEV_DISABLE_DISK_RULES
and DM_UDEV_DISABLE_OTHER_RULES flag are set (just like as it is
with "invisible" and non-top-level LVs) - udev is directed to
skip WATCH rule use.
- if the LV_TEMPORARY flag was not used, there would normally be
a WATCH event generated once the LV is closed after "zeroed"
stage. This will make problems with immediated deactivation that
follows.
2013-10-23 14:06:39 +02:00
Add internal flag for temporary LVs to properly direct udev to not interfere.
2013-10-22 16:37:02 +02:00
Fix endless loop in blkdeactivate <device>... if unable to umount/deactivate.
2013-10-22 14:03:53 +02:00
Add dev-block-<major>:<minor>.device systemd alias for complete PV tracking.
2013-10-22 13:52:18 +02:00
Use major:minor as short form of --major and --minor arg for pvscan --cache.
2013-10-21 18:04:14 -04:00
Remove 2>/dev/null from three lvm commands executed by vgimportclone.
2013-10-18 11:07:21 +02:00
Add configure --enable-udev-systemd-background-jobs.
Add lvm2-pvscan@.service to run pvscan as a service for lvmetad/autoactivation.
2013-11-13 13:56:29 +00:00
Use #ifdef __linux__ instead of linux throughout.
2013-10-16 10:11:37 +02:00
Fix lvconvert swap of poolmetadata volume for active thin pool.
2013-10-15 12:44:42 +02:00
Check for open count with a timeout before removal/deactivation of an LV.
2013-10-14 10:48:44 -05:00
Report RAID images split with tracking as out-of-sync ("I").
2013-10-09 14:50:51 +02:00
Improve parsing of snapshot lv segment.
2013-10-11 23:53:28 +02:00
Add workaround for deactivation problem of opened virtual snapshot.
2013-10-11 22:47:45 +02:00
Disable unsupported merge for virtual snapshot.
2013-10-11 22:42:34 +02:00
Move code to remove virtual snapshot from tools to lib for lvm2app.
2013-10-10 09:07:42 +02:00
Fix possible race during daemon worker thread creation (lvmetad).
Fix possible deadlock while clearing lvmetad cache for full rescan.
2013-10-09 20:08:07 +01:00
Recognise NVM Express devices in filter.
2013-10-09 15:59:19 +02:00
Fix failing metadata repair when lvmetad is used.
2013-10-09 12:11:12 +02:00
Fix incorrect memory handling when reading messages from lvmetad.
Fix locking in lvmetad when handling the PV which is gone.
2013-10-08 13:33:28 +02:00
Recognize new flag to skip udev scanning in udev rules and act appropriately.
2013-10-08 13:27:21 +02:00
Add support for flagging an LV to skip udev scanning during activation.
2013-10-07 23:50:09 +01:00
Improve message when unable to change discards setting on active thin pool.
2013-10-08 11:15:05 +02:00
Run full scan before vgrename operation to avoid any cache name collision.
2013-11-13 14:02:34 +00:00
Fix lvconvert when converting to a thin pool and thin LV at once. (2.02.99)
2013-10-04 14:41:32 +01:00
2013-10-04 14:32:23 +01:00
Version 2.02.103 - 4th October 2013
===================================
Ensure vgid matches before removing vgname entry from lvmetad cache.
2013-10-01 21:20:10 +01:00
Add --ignoreskippedcluster for exit status success when clustered VGs skipped.
2013-10-04 14:32:23 +01:00
Fix 3 minute udev timeout so that it is applied for all LVM volumes.
Fix thin/raid & activation config defaults with configure --disable-devmapper.
2013-09-26 11:30:07 -05:00
Fix RAID calculation for sufficient allocatable space.
2013-10-04 14:32:23 +01:00
lvconvert from linear to mirror or RAID1 now honors mirror_segtype_default.
2013-09-25 16:02:38 +02:00
Add thin-performance configuration profile.
2013-10-04 12:36:32 +02:00
Add lvm.conf allocation/thin_pool_chunk_size_policy option.
2013-09-24 21:32:10 -05:00
Fix contiguous & cling allocation policies for parity RAID. (2.02.100)
2013-10-01 21:20:10 +01:00
Have lvmconf --enable/disable-cluster reset/set use_lvmetad.
2013-10-04 14:32:23 +01:00
Don't install separate command symlink for 'lvm devtypes'. (2.02.101)
2013-09-23 21:50:14 +01:00
Add seg_size_pe field to reports.
2013-09-23 19:50:34 +01:00
Support start+length notation with command line PE ranges.
2013-09-23 19:46:28 +01:00
Exit cleanly with message when pvmove cannot restart because LV is inactive.
2013-09-23 15:55:11 +01:00
2013-09-23 15:43:37 +01:00
Version 2.02.102 - 23rd September 2013
2013-09-19 14:05:55 +02:00
======================================
2013-09-05 11:32:42 +02:00
Fix missing build dependency for scripts subdir in Makefile.
2013-09-19 14:05:55 +02:00
Extend lv_info() for more efficient lv_is_active_locally() check.
2013-09-23 13:23:00 +01:00
Fix node up/down handling in clvmd corosync module.
2013-09-19 14:05:55 +02:00
2013-09-20 13:56:29 +01:00
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.
2013-09-18 01:16:48 +01:00
Use strtoull instead of strtol in _get_int_arg.
2013-09-18 01:09:15 +01:00
Add devtypes report command to display built-in recognised block device types.
2013-09-16 19:57:14 +01:00
Fix CC Makefile override which had reverted to using built-in value. (2.02.75)
2013-09-16 16:56:55 +01:00
Recognise bcache block devices in filter (experimental).
2013-09-16 11:47:09 +02:00
Run lvm2-activation-net after lvm2-activation service to prevent parallel run.
2013-09-12 14:16:54 +02:00
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.
2013-09-11 23:46:20 +02:00
Improve of clvmd singlenode locking simulation.
2013-09-16 15:37:48 -05:00
lvconvert no longer converts LVs of "mirror" segment type to thinpool.
lvconvert no longer converts thinpool sub-LVs to "mirror" segment type.
2013-09-11 12:58:43 +02:00
Direct udev to use 3min timeout for LVM devices. Recent udev has default 30s.
2013-09-11 13:15:53 +02:00
Do not scan multipath or RAID components and avoid incorrect autoactivation.
2013-09-11 12:58:43 +02:00
Fix MD/loop udev handling to fire autoactivation after setup or coldplug only.
2013-09-10 16:33:22 -05:00
Make RAID capable of single-machine exclusive operations in a cluster.
2013-09-07 02:48:19 +02:00
Drop calculation of read ahead for deactivated volume.
2013-09-06 14:07:39 +02:00
Check for exactly one lv segment in validation of thin pools and volumes.
2013-09-07 02:46:48 +02:00
Fix dmeventd unmonitoring of thin pools.
2013-09-06 10:54:50 +02:00
Fix lvresize for stacked thin pool volumes (i.e. mirrors).
2013-09-06 01:47:41 +01:00
Write Completed debug message before reinstating log defaults after command.
2013-09-03 16:45:18 +02:00
Refresh existing VG before autoactivation (event retrigger/device reappeared).
2013-09-03 16:06:16 +02:00
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.
2013-08-28 23:55:14 +01:00
Don't assume stdin file descriptor is readable.
2013-08-28 22:56:23 +01:00
Avoid unlimited recursion when creating dtree containing inactive pvmove LV.
Require exactly 3 arguments for lvm2-activation-generator. Remove defaults.
2013-08-26 15:52:15 +02:00
Inform lvmetad about any lost PV label to make it in sync with system state.
2013-08-10 01:13:27 +02:00
Support most of lvchange operations on stacked thin pool meta/data LVs.
2013-09-16 16:56:55 +01:00
Enable non-clustered pvmove of snapshots and snapshot origins.
Add ability to pvmove non-clustered RAID, mirror, and thin volumes.
2013-08-22 08:14:11 +02:00
Make lvm2-activation-generator silent unless it's in error state.
2013-08-21 14:07:01 +02:00
Remove "mpath major is not dm major" msg for mpath component scan (2.02.94).
2013-08-20 13:21:09 -05:00
Prevent cluster mirror logs from being corrupted by redundant checkpoints.
2013-08-16 15:45:00 +02:00
Fix ignored lvmetad update on loop device configuration (2.02.99).
2013-08-15 09:57:30 +02:00
Use LVM_PATH instead of hardcoded value in lvm2 activation systemd generator.
2013-08-14 10:18:02 +02:00
Fix vgck to notice on-disk corruption even if lvmetad is used.
2013-08-13 23:26:58 +01:00
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.
2013-08-13 18:20:11 +01:00
Require confirmation for vgchange -c when no VGs listed explicitly.
2013-08-13 18:25:54 +02:00
Also skip /var and /var/log by default in blkdeactivate when unmounting.
2013-08-13 17:26:36 +02:00
Add support for bind mounts in blkdeactivate.
2013-08-13 17:17:25 +02:00
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.
2013-08-13 11:54:48 +01:00
2013-08-13 11:29:21 +01:00
Version 2.02.100 - 13th August 2013
===================================
2013-08-12 13:56:47 -05:00
Fix inability to remove a VG's cluster flag if it contains a mirror.
2013-08-12 18:40:41 +01:00
Suppress arg: prefix in log_sys_error macro when arg is empty string.
2013-08-09 17:09:47 -05:00
Fix bug making lvchange unable to change recovery rate for RAID.
2013-08-09 17:17:53 -05:00
Prohibit conversion of thin pool to external origin.
workaround: gcc v4.8 on 32 bit param. passing bug when -02 opimization used
gcc -O2 v4.8 on 32 bit architecture is causing a bug in parameter
passing. It does not happen with -01 nor -O0.
The problematic part of the code was strlen use in config.c in
the config_def_check fn and the call for _config_def_check_tree in it:
<snip>
rplen = strlen(rp);
if (!_config_def_check_tree(handle, vp, vp + strlen(vp), rp, rp + rplen, CFG_PATH_MAX_LEN - rplen, cn, cmd->cft_def_hash)) ...
</snip>
If compiled with -O0 (correct):
Breakpoint 1, config_def_check (cmd=0x819b050, handle=0x81a04f8) at config/config.c:775
(gdb) p vp
$1 = 0x8189ee0 <_cfg_path> "config"
(gdb) p strlen(vp)
$2 = 6
(gdb)
_config_def_check_tree (handle=0x81a04f8, vp=0x8189ee0 <_cfg_path>
"config", pvp=0x8189ee6 <_cfg_path+6> "", rp=0xbfffe1e8 "config",
prp=0xbfffe1ee "", buf_size=58, root=0x81a2568, ht=0x81a65
48) at config/config.c:680
(gdb) p vp
$4 = 0x8189ee0 <_cfg_path> "config"
(gdb) p pvp
$5 = 0x8189ee6 <_cfg_path+6> ""
If compiled with -O2 (incorrect):
Breakpoint 1, config_def_check (cmd=cmd@entry=0x8183050, handle=0x81884f8) at config/config.c:775
(gdb) p vp
$1 = 0x8172fc0 <_cfg_path> "config"
(gdb) p strlen(vp)
$2 = 6
(gdb) p vp + strlen(vp)
$3 = 0x8172fc6 <_cfg_path+6> ""
(gdb)
_config_def_check_tree (handle=handle@entry=0x81884f8, pvp=0x8172fc7
<_cfg_path+7> "host_list", rp=rp@entry=0xbffff190 "config",
prp=prp@entry=0xbffff196 "", buf_size=buf_size@entry=58, ht=0x
818e548, root=0x818a568, vp=0x8172fc0 <_cfg_path> "config") at
config/config.c:674
(gdb) p pvp
$4 = 0x8172fc7 <_cfg_path+7> "host_list"
The difference is in passing the "pvp" arg for _config_def_check_tree.
While in the correct case, the value of _cfg_path+6 is passed
(the result of vp + strlen(vp) - see the snippet of the code above),
in the incorrect case, this value is increased by 1 to _cfg_path+7,
hence totally malforming the string that is being processed.
This ends up with incorrect validation check and incorrect warning
messages are issued like:
"Configuration setting "config/checks" has invalid type. Found integer, expected section."
To workaround this issue, remove the "static" qualifier from the
"static char _cfg_path[CFG_PATH_MAX_LEN]". This causes the optimalizer
to be less aggressive (also shuffling the arg list for
_config_def_check_tree call helps).
2013-08-09 13:06:17 +02:00
Workaround gcc v4.8 -O2 bug causing failures if config/checks=1 (32bit arch).
2013-08-08 10:04:53 +02:00
Verify clvmd message validity before processing and log error if incorrect.
2013-08-13 11:29:21 +01:00
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.
2013-08-07 16:01:45 -05:00
When converting mirrors, default segtype should be the same unless specified.
2013-08-06 14:13:55 -05:00
Make "raid1" the default mirror segment type.
2013-08-06 16:08:31 +02:00
Fix clogd descriptor leak when daemonizing.
2013-08-06 16:07:50 +02:00
Fix clvmd descriptor leak on restart.
2013-08-13 11:29:21 +01:00
Add pipe_open/close() to use instead of less efficient/secure popen().
2013-08-06 14:03:43 +02:00
Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad.
2013-08-06 11:42:40 +02:00
Inherit and apply any profile attached to a VG if creating new thin pool.
2013-07-24 15:25:34 +02:00
Add initial support thin pool lvconvert --repair.
2013-07-31 14:38:10 +02:00
Add --with-thin-repair and --with-thin-dump configure options.
Add lvm.conf thin_repair/dump_executable and thin_repair_options.
2013-07-25 14:35:08 +02:00
Require 1.9 thin pool target version for online thin pool metadata resize.
2013-07-29 19:35:45 +01:00
Ignore previous LV seg with alloc contiguous & cling when num stripes varies.
2013-07-26 12:47:28 +02:00
Fix segfault if devices/global_filter is not specified correctly.
2013-07-25 00:38:53 +01:00
2013-07-24 23:59:03 +01:00
Version 2.02.99 - 24th July 2013
================================
2013-07-24 01:11:15 +02:00
Do not zero init 4KB of thin snapshot for non-zeroing thin pool (2.02.94).
2013-07-23 17:04:43 +02:00
Issue an error msg if lvconvert --type used incorrectly with other options.
2013-07-22 14:04:12 +02:00
Use LOG_DEBUG/ERR msg severity instead default for lvm2-activation-generator.
2013-07-19 20:37:43 +01:00
Support ARG_GROUPABLE with merge_synonym (for --raidwritemostly).
2013-07-19 10:01:48 -05:00
Fix segfault when reporting raid_syncaction for older kernels.
2013-07-24 22:10:37 +01:00
Add LV report fields: raid_mismatch_count/raid_sync_action/raid_write_behind.
2013-07-19 01:30:02 +01:00
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.
2013-07-18 17:55:58 +01:00
Use units B or b (never E) with no decimal places when displaying sizes < 1k.
2013-07-05 17:10:47 +02:00
Add support for poolmetadataspare LV, that will be used for pool recovery.
2013-07-18 16:44:39 +02:00
Improve activation order when creating thin pools in non-clustered VG.
2013-07-18 16:06:26 +02:00
List thin-pool and thin modules for thin volumes.
2013-07-17 15:26:41 +02:00
Correct thin creation error paths.
2013-07-18 16:20:48 +02:00
Use local activation for clearing snapshot COW device.
2013-07-17 16:21:18 +02:00
Add lvm2-activation-net systemd unit to activate LVs on net-attached storage.
2013-07-14 15:08:26 +02:00
Release memory allocated with _cached_info().
2013-07-15 13:39:53 +02:00
Add whole log_lv and metadata_lv sub volumes when creating partial tree.
2013-07-15 11:47:10 +02:00
Properly use snapshot layer for origin which is also thin volume.
2013-07-15 11:39:03 +02:00
Avoid generating metadata backup when calling update_pool_lv().
2013-07-15 11:27:57 +02:00
Send thin messages also for active thin pool and inactive thin volume.
2013-07-12 19:52:32 +02:00
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.
2013-07-09 09:57:46 +02:00
Add --type profilable to lvm dumpconfig to show profilable config settings.
2013-07-08 15:34:27 +02:00
Add --mergedconfig to lvm dumpconfig for merged --config/--profile/lvm.conf.
2013-07-06 10:58:56 +02:00
Relase memory and unblock signals in lock_vol error path.
2013-07-06 03:28:21 +01:00
Define LVM2_* command errors in lvm2cmd.h and use in dmeventd plugins.
Move errors.h to tools dir.
2013-07-03 16:45:27 +02:00
Add man page entries for profile configuration and related options.
2013-07-01 16:30:12 +02:00
Improve error loging when user tries to interrupt commands.
2013-07-02 17:02:25 -04:00
Rename _swap_lv to _swap_lv_identifiers and move to allow an additional user.
2013-07-02 16:26:03 -04:00
Rename snapshot segment returning methods from find_*_cow to find_*_snapshot.
2013-07-01 17:23:06 -04:00
liblvm/python API: Additions: PV create/removal/resize/listing
liblvm/python API: Additions: LV attr/origin/Thin pool/Thin LV creation
2013-07-02 15:51:21 +02:00
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.
2013-07-02 15:57:46 +02:00
Add config/profile_dir to set working directory to load profiles from.
2013-07-02 15:51:21 +02:00
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.
2013-06-30 18:01:19 +02:00
Avoid creation of multiple archives for one command.
2013-06-19 17:50:10 -05:00
Use mirror_segtype_default if type not specified for linear->mirror upconvert.
2013-06-18 21:58:13 +02:00
Fix use of too big chunks of memory when communication with lvmetad.
2013-06-18 21:50:29 +02:00
Fix vgcfgrestore crash when specified incorrect vg name.
2013-06-14 09:36:56 +02:00
Refine lvm.conf and man page documentation for autoactivation feature.
2013-06-13 12:05:53 +02:00
Add support for thin volumes in vgsplit.
2013-06-12 12:20:10 +02:00
Also filter partitions on mpath components if multipath_component_detection=1.
2013-06-11 13:45:49 +02:00
Add lvresize support for online thin pool metadata volume resize.
2013-06-11 12:32:01 +02:00
Add helper functions find_pool_lv() and pool_can_resize_metadata().
2013-06-11 12:31:01 +02:00
Add detection for thin pool metadata resize kernel support.
2013-06-05 13:46:38 +02:00
Report lvs volume type 'e' with higher priority.
2013-06-05 13:45:31 +02:00
Report lvs volume type 'o' also for external origin volumes.
2013-06-05 13:44:10 +02:00
Report lvs target type 't' only for thin pools and thin volumes.
2013-06-11 13:07:13 +02:00
Fix test for active snapshot in cluster before resizing it.
2013-07-24 22:10:37 +01:00
Allow local activation to receive a locally-supplied LV struct.
Add vg->vg_ondisk / lv_ondisk() holding committed metadata.
2013-06-02 23:27:34 +02:00
Report backtrace from dump filter error path.
2013-05-27 01:55:14 +02:00
Do not use persistent filter with lvmetad.
2013-06-02 21:59:57 +02:00
Composable persistent filter functionality for global filter.
2013-04-28 22:38:22 +02:00
Override system's global_filter settings for vgimportclone.
2013-05-29 21:23:02 +02:00
Detect maximum usable size for snapshot for lvresize.
2013-05-29 21:43:46 +02:00
Creation of snapshot takes at most 100% origin coverage.
2013-05-29 12:44:54 +02:00
Add cow_max_extents() to calc extents for 100% origin coverage.
2013-05-29 12:39:33 +02:00
For creation of snapshot require size for at least 3 chunks.
2013-05-29 21:17:15 +02:00
Fix lvresize --use-policies of VALID but 100% full snapshot.
2013-05-29 14:50:21 +02:00
Do not accept size parameters bigger then 16EiB.
2013-05-29 12:42:09 +02:00
Fix release of PV's fid in free_pv_fid().
2013-05-27 10:20:06 +02:00
Skip monitoring of snapshots that are already bigger then origin.
2013-05-27 10:18:20 +02:00
Add lv_is_cow_covering_origin() to check if cow covers origin size.
2013-05-26 17:04:14 +02:00
Use libdm dm_get_status_snapshot() to parse snapshot status.
2012-03-08 23:43:28 +01:00
Add detection of mounted fs also for vgchange deactivation.
2013-05-16 10:36:56 -05:00
Replace 'lv_is_active' with more correct/specific variants (e.g. *_locally).
2013-05-16 11:02:18 +02:00
Refuse to init a snapshot merge in lvconvert if there's no kernel support.
2013-05-14 19:29:26 +01:00
Fix exported symbols regex for non-GNU busybox sed.
2013-05-14 18:45:37 +01:00
Accept --yes in all commands so test scripts can be simpler.
2013-05-13 15:56:47 -04:00
Fix alignment of PV data area if detected alignment less than 1 MB (2.02.74).
2013-05-13 12:59:38 +02:00
Fix memory resource leak in memlocking error path.
2013-05-13 11:46:24 +02:00
Fix premature DM version checking which caused useless mapper/control access.
2013-04-25 12:12:05 +02:00
Add "active" LV reporting field to show activation state.
2013-04-25 12:07:57 +02:00
Add "monitor" segment reporting field to show dmevent monitoring status.
2013-04-24 23:41:05 +02:00
Document lvextend --use-policies option in man.
2013-04-21 10:37:52 +02:00
Fix creation and removal of clustered snapshot.
2013-04-21 10:11:29 +02:00
Fix clvmd caching of metadata when suspending inactive volumes.
2013-04-23 12:24:17 +02:00
Find newest timestamp of merged config files.
2013-04-21 21:36:08 +02:00
Fix assignment order for vg fid for lvm1 and pool format.
2013-04-21 12:19:25 +02:00
Fix memleak in dmeventd thin plugin in device list obtaining err path.
2013-04-21 08:49:17 +02:00
Add explicit message about unsupported pvmove for thin/thinpool volumes.
2013-04-19 21:19:54 +02:00
Fix lvmetad error path in lvmetad_vg_lookup() for null vgname.
2013-04-19 21:11:32 +02:00
Fix clvmd _cluster_request() return code in memory fail path.
2013-07-19 19:24:54 +01:00
Add lvcreate/lvchange --[raid]{min|max}recoveryrate for raid LVs.
Add lvchange --[raid]writemostly/writebehind support for RAID1
2013-04-11 13:51:08 +02:00
Add lv_change_activate() for common activation code in vg/lvchange.
2013-07-19 19:24:54 +01:00
Add lvchange --[raid]syncaction for scrubbing of RAID LVs.
2013-04-08 15:17:12 -05:00
Improve RAID kernel status retrieval to include sync_action/mismatch_cnt.
2013-04-05 12:56:19 +02:00
Add external origin support for lvcreate.
2013-04-05 12:24:32 +02:00
Improve lvcreate, lvconvert and lvm man pages.
2013-03-25 14:30:40 +01:00
Clean up format1 PV write to remove a need for an orphan VG for it to pass.
2013-03-19 15:41:21 +01:00
Fix vgextend to not allow a PV with 0 MDAs to be used while already in a VG.
2013-03-11 12:37:09 +01:00
Move update_pool_params() from /tools to /lib for better reuse.
2013-03-11 20:10:49 +00:00
Give precedence to EMC power2 devices with duplicate PVIDs.
2013-03-06 10:38:40 +01:00
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.
2013-07-23 14:44:30 +02:00
Add pvs -o pv_ba_start,pv_ba_size to report bootloader area start and size.
2013-07-24 22:10:37 +01:00
Add --bootloaderareasize to pvcreate and vgconvert to create bootloader area.
2013-05-28 12:37:22 +02:00
Add PV header extension: extension version, flags and bootloader areas.
2013-02-05 11:26:27 +01:00
Initial support for lvconvert of thin external origin.
2013-02-20 16:13:17 +01:00
Add _lv_remove_segs_using_this_lv() for removal of dependent lvs.
2013-02-21 10:39:47 +01:00
Improve activation code for better support of stacked devices.
2013-02-21 10:24:28 +01:00
Add _add_layer_target_to_dtree() for adding linear layer into dtree.
2013-02-18 00:08:38 +01:00
Extend _cached_info() to accept layer string.
2013-07-24 22:10:37 +01:00
vgimport '--force' now allows import of VGs with missing PVs.
2013-02-21 14:47:49 +01:00
Fix PV alignment to incorporate alignment offset if the PV has zero MDAs.
2013-07-24 22:10:37 +01:00
Add global/raid10_segtype_default to lvm.conf.
Allow removal or replacement of RAID LV components that are error segments.
2013-02-20 14:52:46 -06:00
Make 'vgreduce --removemissing' able to handle RAID LVs with missing PVs.
2013-07-24 22:10:37 +01:00
Accept activation/raid_region_size in preference to mirror_region_size config.
2013-02-21 13:28:07 +01:00
Fix pvs -o pv_free reporting for PVs with zero PE count.
2013-02-05 11:07:09 +01:00
Fix missing cleanup of flags when the LV is detached from pool.
2013-02-02 12:48:52 +01:00
Fix check for some forbidden discards conversion of thin pools.
2013-02-05 10:52:39 +01:00
Add pool_is_active() to check for any pool related active LV.
2013-06-15 01:28:54 +01:00
Report blank origin_size field if the LV doesn't have an origin instead of 0.
2013-02-04 13:56:54 +01:00
Do not take a free lv name argument for lvconvert --thinpool option.
2013-06-15 01:28:54 +01:00
Avoid flushing thin pool when just requesting transaction_id.
2013-02-01 11:09:34 +01:00
Add internal function lv_layer() to obtain layer name for LV.
2013-02-01 11:52:25 -06:00
Report partial and in-sync RAID attribute based on kernel status
2013-01-23 14:45:41 +01:00
Fix blkdeactivate to handle nested mountpoints and mangled mount paths.
2013-06-15 01:28:54 +01:00
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.
2013-01-07 22:25:19 +00:00
Add log/debug_classes to lvm.conf to control debug log messages.
2012-12-21 10:54:31 +01:00
Synchronize with udev in pvscan --cache and fix dangling udev_sync cookies.
2012-12-21 10:34:48 +01:00
Fix autoactivation to not autoactivate VG/LV on each change of the PVs used.
2012-12-18 14:40:42 -06:00
Limit RAID device replacement to repair only if LV is not in-sync.
Disallow RAID device replacement or repair on inactive LVs.
2012-12-18 12:12:58 +01:00
Fix possible race while removing metadata from lvmetad.
Fix possible deadlock when querying and updating lvmetad at the same time.
2012-12-14 14:06:33 +01:00
Check lvmcache_info_from_pvid and recall only when needed in _pv_read.
2012-12-14 21:36:27 +01:00
Check for memory failure of dm_config_write_node() in lvmetad.
2012-12-14 21:31:22 +01:00
Fix socket leak on error path in lvmetad's handle_connect.
2012-12-14 16:45:15 +01:00
Check for failing id_read_format() in _pv_populate_lvmcache.
2012-12-14 16:43:42 +01:00
Fix memleak on error path for lvmetad's pv_found.
2012-12-14 16:35:26 +01:00
Unlock vg mutex in error path when lvmetad tries to lock_vg.
2013-05-15 01:50:42 +01:00
Detect key string duplication failure in config_make_nodes_v in libdaemon.
Detect fid creation failure in _scan_file in format_text.
2012-12-14 13:57:01 +01:00
Log output also to syslog when abort_on_internal_error is set.
2012-12-14 10:17:29 -08:00
Add LV snapshot support to liblvm and python-lvm.
2012-12-12 15:17:08 +01:00
Avoid a global lock in pvs when lvmetad is in use.
2012-12-12 13:27:25 +01:00
Fix crash in pvscan --cache -aay triggered by non-mda PV.
2012-12-11 15:50:25 +01:00
Allow lvconvert --stripes/stripesize only with --mirrors/--repair/--thinpool.
2012-12-06 23:37:21 +01:00
Fix memleak in device_is_usable mirror testing function.
2012-12-11 09:52:54 +01:00
Do not ignore -f in lvconvert --repair -y -f for mirror and raid volumes.
2012-12-04 17:47:47 -06:00
Disallow pvmove on RAID LVs until they are addressed properly
2012-12-04 10:33:54 +01:00
Allow empty activation/{auto_activation|read_only|}_volume_list config option.