summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add metadata-based autoactivation property for VG and LVdev-dct-autoactivation-settingDavid Teigland2021-04-0714-12/+466
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autoactivation property can be specified in lvcreate or vgcreate for new LVs/VGs, and the property can be changed by lvchange or vgchange for existing LVs/VGs. --autoactivation n|y disables|enables autoactivation of a VG or LV. Autoactivation is enabled by default, which is consistent with past behavior. (The disabled state is stored as a new flag in the VG metadata, and the absence of the flag allows autoactivation.) If autoactivation is disabled for the VG, then no LVs in the VG will be autoactivated (the LV autoactivation property will have no effect.) When autoactivation is enabled for the VG, then autoactivation can be controlled on individual LVs. The state of this property can be reported for LVs/VGs using the "-o autoactivation" option in lvs/vgs commands, which will report "enabled", and "" for the disabled state. Previous versions of lvm do not recognize this property. Since autoactivation is enabled by default, the disabled setting will have no effect in older lvm versions. If the VG is modified by older lvm versions, the disabled state will also be dropped from the metadata. The autoactivation property is an alternative to using the lvm.conf auto_activation_volume_list, which is still applied to to VGs/LVs in addition to the new property. If VG or LV autoactivation is disabled either in metadata or in auto_activation_volume_list, it will not be autoactivated. To determine the effective autoactivation behavior for a specific LV, multiple settings would need to be checked: the VG autoactivation property, the LV autoactivation property, the auto_activation_volume_list. The "activation skip" property would also be relevant, since it applies to both normal and auto activation.
* libdm: fix compiling with older gccZdenek Kabelac2021-04-061-1/+4
|
* WHATS_NEW: updatesZdenek Kabelac2021-04-062-0/+4
|
* tests: pvmove updatesZdenek Kabelac2021-04-064-59/+41
| | | | | | | | | | | Switch to plain 'kill' we should no longer need SIGKILL as polling can be interrupted. Resolve problem in aux wait_pvmove_lv_ready() that was using lvm command to check for UUID - but this was interferring with VG lock and it's been delaying confirmation. So reducing slow-down of test - so it can run faster.
* lib: remove unused macrosZdenek Kabelac2021-04-061-54/+0
| | | | Internally lvm2 is not using versioning for device-mapper.
* makefiles: remove unneeded var changesZdenek Kabelac2021-04-061-3/+0
|
* makefiles: cscope only predefined dirsZdenek Kabelac2021-04-061-1/+2
| | | | Avoid scanning for source duplicates in various build dirs.
* makefiles: plugins can be build after shared libraryZdenek Kabelac2021-04-061-0/+1
|
* polldaemon: improve support for interruptionsZdenek Kabelac2021-04-062-23/+18
| | | | | | Enhance handling of interruptions of polling process and lvmpoll daemon. Daemon should now react much faster on interrups (i.e. shutdown sequence) and avoid taking lenghty sleep waiting on pvmove signaling.
* mirror_percent: support interruptible checkZdenek Kabelac2021-04-061-8/+28
| | | | | When checking for mirror percentage with WAITEVENT (i.e. during pvmove) handle intrruption (^C) of such wait.
* daemon-server: handle reaping threads betterZdenek Kabelac2021-04-061-10/+13
| | | | | Avoid sleeping in pselect when thread missed reap() handling. This speedup handling of daemon shutdown sequences.
* signals: support also SIGTERM for breaking commandZdenek Kabelac2021-04-061-27/+49
| | | | | | | | If we are signaled with SIGTERM it should be at least as good as with SIGINT - as the command should stop ASAP. So when lvm2 command allows signal handling we also enable SIGTERM handling. If there are some other signals we should handle equally - we could just extend array.
* lvreduce: support --yesZdenek Kabelac2021-04-061-1/+1
| | | | Missed support for --yes with 'lvreduce' to answer 'y' to prompt.
* libdm: eliminate some abi-dumper errorsZdenek Kabelac2021-04-065-25/+25
| | | | | | | | | ABI dumper does not like missing enum/union/struct names, so add them with _e, _u suffix. Usage reference: https://doc.dpdk.org/guides-16.04/contributing/versioning.html
* symver: sortingZdenek Kabelac2021-04-066-14/+14
|
* symver: restore and uncomment some symbolsZdenek Kabelac2021-04-064-2/+5
|
* makefiles: add check for versioned symbolsZdenek Kabelac2021-04-061-1/+11
| | | | | Simple check produced library has the latest symbol as well as its versioned older version with check for dm_stats_create_region().
* makefiles: slight change in .export.symZdenek Kabelac2021-04-062-12/+14
| | | | | | | Avoid emitting Local symbol and sort symbols from start and add dependency on previous version Should not change anything, just better followup linkage guidlines.
* libdm: move dm_task_get_info_with_deferred_removeZdenek Kabelac2021-04-061-1/+2
| | | | | | Version is only needed for dm_task_get_info(). dm_task_get_info_with_deferred_remove() shall be compiled for non-versioned library as well.
* libdm: symbol versioning with -fltoZdenek Kabelac2021-04-065-25/+47
| | | | | | | | | | | | | Gcc10 introduced different strategy how to build shared libraries with their new LTO optimizer. Insired by: https://akkadia.org/drepper/symbol-versioning https://sourceware.org/pipermail/elfutils-devel/attachments/20200414/1c0c2903/attachment.bin https://github.com/InBetweenNames/gentooLTO/issues/459 https://github.com/linux-rdma/rdma-core/blob/master/util/symver.h https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200
* hints: don't use hints when --sysinit is usedDavid Teigland2021-04-011-0/+8
| | | | | | Devices are not in a steady state during system init, so hints are repeatedly invalidated, and hardly used, so maintaining them is wasted effort.
* all: fix typosSamanta Navarro2021-03-3030-60/+60
|
* man: show config options with commentsZdenek Kabelac2021-03-301-2/+2
|
* man: describe profile support lvmcache.7Zdenek Kabelac2021-03-301-48/+112
| | | | | | Add missing description for profile usage with cache pool. List cache-pools as first option for dm-cache as it provides better performance and more functionality over cachevols.
* man: writecache missed for --typeZdenek Kabelac2021-03-305-11/+11
| | | | Add missing writecache type into man pages.
* libdm: use libdm header util.hZdenek Kabelac2021-03-302-1/+42
| | | | Avoid using lvm header for libdm build.
* device_mapper: remove unused linesZdenek Kabelac2021-03-303-119/+0
| | | | No need for versioning history in internal version.
* configure: support builds without versioningZdenek Kabelac2021-03-3010-16/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | Not all libc (like musl, uclibc dietlibc) libraries support full symbol version resolution in runtime like glibc. Add support to not generate symbol versions when compiling against them. Additionally libdevmapper.so was broken when compiled against uclibc. Runtime linker loader caused calling dm_task_get_info_base() function recursively, leading to segmentation fault. Introduce --with-symvers=STYLE option, which allows to choose between gnu and disabled symbol versioning. By default gnu symbol versioning is used. __GNUC__ check is replaced now with GNU_SYMVER. Additionally ld version script is included only in case of gnu option, which slightly reduces output size. Providing --without-symvers to configure script when building against uclibc library fixes segmentation fault error described above, due to lack of several versions of the same symbol in libdevmapper.so library. Based on: https://patchwork.kernel.org/project/dm-devel/patch/20180831144817.31207-1-m.niestroj@grinn-global.com/ Suggested-by: Marcin Niestroj <m.niestroj@grinn-global.com>
* tests: sleep tunningZdenek Kabelac2021-03-284-52/+16
| | | | | Check different sleep properties for lvmpolld. Use aux remove_dm_devs.
* tests: add aux remove_dm_devsZdenek Kabelac2021-03-281-0/+22
| | | | | Add function to remove DM devices and dies if some device can't be removed.
* tests: bash quotesZdenek Kabelac2021-03-286-630/+627
|
* tests: test_pv_symlinks works only with /dev dirZdenek Kabelac2021-03-281-0/+3
| | | | Skip test with LVM_TEST_DEVDIR != /dev
* tests: fix unfinished check for 4.18 kernelZdenek Kabelac2021-03-281-2/+2
|
* tests: ensure raid is synchronizedZdenek Kabelac2021-03-271-0/+2
|
* tests: reoder killing orderZdenek Kabelac2021-03-271-6/+6
| | | | | We need to stop pvmove while still in progress, so restart lvmpolld after pvmoving devices are gone
* tests: fight with losetup creation errorZdenek Kabelac2021-03-271-3/+14
| | | | Try losetup few times in loop if we can succeed.
* tests: restore removed prefixZdenek Kabelac2021-03-271-1/+1
| | | | During debugging this prefix was unintentionally lost, restore.
* tests: use known path for test in findZdenek Kabelac2021-03-271-1/+1
| | | | | Actually make sure which 'test' binary is executed. Since we used to have 'test' binary in tests.
* tests: for 4.18 use already 1.20 logicZdenek Kabelac2021-03-271-1/+4
| | | | | | | | Looks like there was some missed versioning increase during devel. So with kernel >= 4.18 version 1.19 is enough to look like 1.20 However backported 1.19 targets seems to not provide all the capabilities.
* tests: correct thin-pool versionZdenek Kabelac2021-03-271-1/+1
| | | | Use thin-pool target version 1.20 for changed behavior.
* tests: increase mirror throttlingZdenek Kabelac2021-03-271-1/+1
|
* tests: more skipped tests for lvmpolldZdenek Kabelac2021-03-263-2/+5
|
* tests: use shell commentZdenek Kabelac2021-03-261-5/+4
|
* tests: update dbus test_nestingZdenek Kabelac2021-03-261-5/+11
| | | | | | | | | Test has to use PV with suffix pv[0..9] otherwise it's ignored by test suite filter. Better fix for VG names to use prefix LVMTEST. Skip the test for runs without LVM_TEST_DEVDIR != /dev
* tests: update for newer thin-poolZdenek Kabelac2021-03-261-1/+16
| | | | Newer thin-pool handle metadata read-only recovery better.
* tests: use blkid without cachingZdenek Kabelac2021-03-263-23/+23
| | | | | Always use blkid without caching to avoid poluting cache stored in /run/blkid or /etc on older distros
* tests: use aux mdadm_assemble wrapperZdenek Kabelac2021-03-262-19/+4
|
* tests: add aux mdadm_assembleZdenek Kabelac2021-03-261-0/+16
| | | | Wrapper for slowed version of mdadm --assemble
* tests: better reporting of problematic servicesZdenek Kabelac2021-03-261-6/+6
|
* tests: skip more tests for lvmpolld passZdenek Kabelac2021-03-2611-21/+27
| | | | These test do not test polling, so skip them for lvmpolld pass.