summaryrefslogtreecommitdiff
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* autoreconf: support newer archsZdenek Kabelac2022-08-151-4298/+5521
| | | | | | | | | | | Update to more recent version of configure script to support more new architecture types like RISCV64. Tools in use ATM: autoconf-2.71-3.fc37.noarch autoconf-archive-2022.02.11-3.fc37.noarch automake-1.16.5-9.fc37.noarch Resolves https://bugzilla.redhat.com/show_bug.cgi?id=2118243
* configure: updateZdenek Kabelac2021-10-181-95/+21
|
* configure: fix use of withvalZdenek Kabelac2021-10-151-2/+1
| | | | Newly added option --with-default-use-devices-file needs to use withval.
* configure: updateZdenek Kabelac2021-10-151-98/+63
|
* configure: bash var typoZdenek Kabelac2021-10-151-1/+1
|
* configure: missed bracesZdenek Kabelac2021-10-151-4/+6
| | | | | Missed [] around AS_IF internals, Also missed to call pkg_config_init prior PKG_CHECK_MODULES().
* configure: updatesZdenek Kabelac2021-10-141-156/+136
|
* configure: updateMarian Csontos2021-10-071-0/+112
|
* configure: check ffs __builtin_ffs versionsortZdenek Kabelac2021-09-271-8/+57
| | | | Check for presence of ffs(), __builtin_ffs() and versionsort().
* vdo: rename vdoimport to lvm_import_vdoZdenek Kabelac2021-08-261-13/+13
| | | | Missed bits in previous rename commits.
* vdo: Rename vdoimport to lvm_import_vdo.Marian Csontos2021-08-261-3/+3
|
* vdo: add vdoimport supportZdenek Kabelac2021-07-091-0/+25
| | | | | | | | | | | | | Add tool 'vdoimport' to support easy conversion of an existing VDO manager managed VDO volumes into lvm2 managed VDO LV. When physical converted volume is already a logical volume, conversion happens with the VG itself, just with validation for extent_size, so the virtually sized logical VDO volume size can be expressed in extents. Example of basic simple usage: vdoimport --name vg/vdolv /dev/mapper/vdophysicalvolume
* configure: updatesZdenek Kabelac2021-07-091-12/+14
|
* lvmlockd: idm: Introduce new locking schemeLeo Yan2021-05-201-0/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Alongside the existed locking schemes of DLM and sanlock, this patch is to introduce new locking scheme: In-Drive-Mutex (IDM). With the IDM support in the drive, the locks are resident in the drive, thus, the locking lease is maintained in a central place: the drive firmware. We can consider this is a typical client-server model, every host (or node) in the server cluster launches the request for leasing mutex to a drive firmware, the drive firmware works as an arbitrator to grant the mutex to a requester and it can reject other applicants if the mutex has been acquired. To satisfy the LVM activation for different modes, IDM supports two locking modes: exclusive and shareable. Every IDM is identified with two IDs, one is the host ID and another is the resource ID. The resource ID is a unique identifier for what the resource it's protected, in the integration with lvmlockd, the resource ID is combined with VG's UUID and LV's UUID; for the global locking, the bytes in resource ID are all zeros, and for the VG locking, the LV's UUID is set as zero. Every host can generate a random UUID and use it as the host ID for the SCSI command, this ID is used to clarify the ownership for mutex. For easily invoking the IDM commands to drive, like other locking scheme (e.g. sanlock), a daemon program named IDM lock manager is created, so the detailed IDM SCSI commands are encapsulated in the daemon, and lvmlockd uses the wrapper APIs to communicate with the daemon program. This patch introduces the IDM locking wrapper layer, it forwards the locking requests from lvmlockd to the IDM lock manager, and returns the result from drives' responding. One thing should be mentioned is the IDM's LVB. IDM supports LVB to max 7 bytes when stores into the drive, the most significant byte of 8 bytes is reserved for control bits. For this reason, the patch maps the timestamp in macrosecond unit with its cached LVB, essentially, if any timestamp was updated by other nodes, that means the local LVB is invalidate. When the timestamp is stored into drive's LVB, it's possbile to cause time-going-backwards issue, which is introduced by the time precision or missing synchronization acrossing over multiple nodes. So the IDM wrapper fixes up the timestamp by increment 1 to the latest value and write back into drive. Currently LVB is used to track VG changes and its purpose is to notify lvmetad cache invalidation when detects any metadata has been altered; but lvmetad is not used anymore for caching metadata, LVB doesn't really work. It's possible that the LVB functionality could be useful again in the future, so let's enable it for IDM in the first place. Signed-off-by: Leo Yan <leo.yan@linaro.org>
* man: with internal build install cache, thin, vdoZdenek Kabelac2021-04-191-0/+4
| | | | | Do not install .7 man pages when building --without internal segtype support for types: cache, thin, vdo.
* configure: make aio optionalZdenek Kabelac2021-04-121-2/+32
| | | | | | Add support for external AIO_CFLAGS and AIO_LIBS so user can point to his own build - this might be useful when user wants to use own libaio library.
* configure: better support for use of --withoutZdenek Kabelac2021-04-121-16/+17
| | | | | | | When --with-... option is used as --without-... it gets assigned value 'no' - so support it better where we can. Also remove 'shared' from help as it's not supported.
* configure: support builds without versioningZdenek Kabelac2021-03-301-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* configure: use rawhide versionZdenek Kabelac2021-03-221-7/+18
|
* lvm: Fix editline compilationMarian Csontos2021-03-221-1/+1
|
* lvmlockctl: replace popen and systemDavid Teigland2021-03-031-3/+0
| | | | | | | | | with fork and exec to avoid use of shell. largely copied from lib/misc/lvm-exec.c require lvmlockctl_kill_command to be full path use lvm config instead of lvmconfig to avoid need for LVM_DIR
* lvmlockctl: use lvm.conf lvmlockctl_kill_commandDavid Teigland2021-03-031-0/+3
| | | | which specifies a command to run by lvmlockctl --kill.
* configure: updateMarian Csontos2020-12-111-1/+1
|
* configure: use our ordered list of python namesZdenek Kabelac2020-10-021-1/+1
| | | | | Since it seems it's prefered now to use python3 in path name, prefer this name as first in the list.
* configure: update with latest AM_PATH_PYTHONZdenek Kabelac2020-10-021-1/+3
| | | | | World has moved towards python3.9. Although we still don't like path ordering.
* configure: check for BLKZEROOUT supportZdenek Kabelac2020-10-021-0/+57
|
* configure: update helpZdenek Kabelac2020-09-291-5/+5
| | | | Help shows new defaults.
* configure: editline updatesZdenek Kabelac2020-09-291-1/+122
| | | | Update configure file.
* configure: enable integrity by defaultDavid Teigland2020-09-161-1/+1
|
* configure: just upper case start of sentenceZdenek Kabelac2020-09-141-2/+2
|
* configure: compile with vdo and writecache by defaultZdenek Kabelac2020-09-101-2/+2
| | | | | | | | | | Enable compilation of vdo and writecache support as internaly supported segment types by default. For disabling use: --with-vdo=none --with-writcache=none
* Allow dm-integrity to be used for raid imagesDavid Teigland2020-04-151-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dm-integrity stores checksums of the data written to an LV, and returns an error if data read from the LV does not match the previously saved checksum. When used on raid images, dm-raid will correct the error by reading the block from another image, and the device user sees no error. The integrity metadata (checksums) are stored on an internal LV allocated by lvm for each linear image. The internal LV is allocated on the same PV as the image. Create a raid LV with an integrity layer over each raid image (for raid levels 1,4,5,6,10): lvcreate --type raidN --raidintegrity y [options] Add an integrity layer to images of an existing raid LV: lvconvert --raidintegrity y LV Remove the integrity layer from images of a raid LV: lvconvert --raidintegrity n LV Settings Use --raidintegritymode journal|bitmap (journal is default) to configure the method used by dm-integrity to ensure crash consistency. Initialization When integrity is added to an LV, the kernel needs to initialize the integrity metadata/checksums for all blocks in the LV. The data corruption checking performed by dm-integrity will only operate on areas of the LV that are already initialized. The progress of integrity initialization is reported by the "syncpercent" LV reporting field (and under the Cpy%Sync lvs column.) Example: create a raid1 LV with integrity: $ lvcreate --type raid1 -m1 --raidintegrity y -n rr -L1G foo Creating integrity metadata LV rr_rimage_0_imeta with size 12.00 MiB. Logical volume "rr_rimage_0_imeta" created. Creating integrity metadata LV rr_rimage_1_imeta with size 12.00 MiB. Logical volume "rr_rimage_1_imeta" created. Logical volume "rr" created. $ lvs -a foo LV VG Attr LSize Origin Cpy%Sync rr foo rwi-a-r--- 1.00g 4.93 [rr_rimage_0] foo gwi-aor--- 1.00g [rr_rimage_0_iorig] 41.02 [rr_rimage_0_imeta] foo ewi-ao---- 12.00m [rr_rimage_0_iorig] foo -wi-ao---- 1.00g [rr_rimage_1] foo gwi-aor--- 1.00g [rr_rimage_1_iorig] 39.45 [rr_rimage_1_imeta] foo ewi-ao---- 12.00m [rr_rimage_1_iorig] foo -wi-ao---- 1.00g [rr_rmeta_0] foo ewi-aor--- 4.00m [rr_rmeta_1] foo ewi-aor--- 4.00m
* configure: continue build if prlimit is missingZdenek Kabelac2019-08-261-1/+12
|
* configure: check for prlimitZdenek Kabelac2019-08-261-2/+2
| | | | | | Update configure and make code compilable if prlimit() is not present. Since the code is suspicious do not cope yet with it's replacement with set/getrlimit().
* configure: Fix setting of CLDFLAGS defaultMarian Csontos2019-08-191-3/+3
|
* build: autoreconfMarian Csontos2019-06-071-0/+105
|
* configure: check for pselectZdenek Kabelac2019-04-161-1/+1
|
* headers: use configure.h as 1st. headerZdenek Kabelac2018-12-141-0/+9
| | | | | | | | | | | Ensure configure.h is always 1st. included header. Maybe we could eventually introduce gcc -include option, but for now this better uses dependency tracking. Also move _REENTRANT and _GNU_SOURCE into configure.h so it doesn't need to be present in various source files. This ensures consistent compilation of headers like stdio.h since it may produce different declaration.
* build: Upse PYTHON_CONFIG env.variable when setMarian Csontos2018-12-061-1/+0
| | | | This adds up to Commit 6462e8dffc7ed53973ce796cec18fecc0fb89d77.
* configure: updateZdenek Kabelac2018-11-301-21/+2
|
* configure: updateZdenek Kabelac2018-11-081-0/+27
|
* build: Fix CLDFLAGS defaultMarian Csontos2018-10-301-2/+5
|
* build: Use PYTHON env. variable when providedMarian Csontos2018-10-101-1/+1
|
* build: Update configureMarian Csontos2018-09-141-3/+3
|
* configure: fix LVMCONFIG_PATH assignmentPeter Rajnoha2018-08-301-1/+1
|
* build: Update configureMarian Csontos2018-07-241-77/+3
|
* build: add vdo configuration option --with-vdo=Zdenek Kabelac2018-07-091-0/+172
| | | | | | | | | | | | | Checks whether VDO support is enabled. Detects presence of 'vdoformat' tool which is required for to format VDO pool. ATM build of VDO is NOT automatically enabled (None is default). To enable build of LVM with VDO support use: configure --with-vdo=internal TODO: Maybe future version may switch to link some small VDO library for formating (would require linking and package dependency).
* dmeventd: base vdo pluginZdenek Kabelac2018-07-091-1/+2
| | | | | | | | | | | Introduce VDO plugin for monitoring VDO devices. This plugin can be used also by other users, as plugin checks for UUID prefix 'LVM-' and run lvm actions only on those devices. Non LVM- device are only monitored and log warnings when usage threshold reaches 80%.
* utils: add clzllZdenek Kabelac2018-06-221-0/+44
| | | | Check for __builtin_clzll and add wrapper when missing.
* build: support --disable-silent-rulesZdenek Kabelac2018-06-221-0/+17
| | | | | Add support for standardized option for have verbose builds. Useful for distro builds where more details can be useful.