]>
sourceware.org Git - lvm2.git/log
Zdenek Kabelac [Fri, 26 Apr 2024 21:53:29 +0000 (23:53 +0200)]
dmeventd: use standard reopening mechanism
Apply same code for reopening /dev/null for 0,1,2 when daemonizing.
Zdenek Kabelac [Fri, 26 Apr 2024 21:51:38 +0000 (23:51 +0200)]
daemon-stray: correct size limitation for filename
Correct the buffer size for filename printing.
Kai Kang [Tue, 5 Dec 2023 07:50:21 +0000 (15:50 +0800)]
lvmdbusd: create dirs for lock file
Create leading dirs for lvmdbusd lock file, otherwise it fails to start:
| systemd[1]: Starting LVM2 D-Bus service...
| lvmdbusd[1602]: [1602]: Error during creation of lock file(/var/lock/lvm/lvmdbusd): errno(2), exiting!
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Zdenek Kabelac [Fri, 26 Apr 2024 14:44:07 +0000 (16:44 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Fri, 26 Apr 2024 18:54:57 +0000 (20:54 +0200)]
make: generate
Zdenek Kabelac [Fri, 26 Apr 2024 18:54:09 +0000 (20:54 +0200)]
cmdlines: use OO_LVCREATE_RAID
Common options in one OO_
Zdenek Kabelac [Fri, 26 Apr 2024 18:16:23 +0000 (20:16 +0200)]
cmdlines: simplify OO_LVCONVER/LVCREATE_THINPOOL
OO_LVCONVERT_THINPOOL always constains OO_LVCONVERT_POOL
OO_LVCREATE_THINPOOL always contains OO_LVCREATE_POOL
More readable description.
Zdenek Kabelac [Fri, 26 Apr 2024 17:56:58 +0000 (19:56 +0200)]
tests: resize thin-pool with vdo data
Zdenek Kabelac [Fri, 26 Apr 2024 17:55:47 +0000 (19:55 +0200)]
tests: correcting test for invalid commnad
Correting typo in specification of create --typo.
Also removing some unnecessary parts...
Zdenek Kabelac [Fri, 26 Apr 2024 14:20:59 +0000 (16:20 +0200)]
makefile: avoid creating shared lib for static only build
Zdenek Kabelac [Fri, 26 Apr 2024 17:10:04 +0000 (19:10 +0200)]
vdo: fix setting VDO size when stacked
When VDO is used as data LV for thin-pool, we need
to use correct function to propagate this through
the stack of volumes.
David Teigland [Fri, 26 Apr 2024 19:13:46 +0000 (14:13 -0500)]
lvmcache: stop saving duplicate pvs info between scans
In the past it was common for a single command to run
multiple lvmcache_label_scan, and this code was a way
to make each call select the same duplicate pvs. Now
commands run a single lvmcache_label_scan, so this is
not needed.
Zdenek Kabelac [Fri, 26 Apr 2024 10:43:03 +0000 (12:43 +0200)]
tests: wait for raid being in sync
Zdenek Kabelac [Thu, 25 Apr 2024 21:53:46 +0000 (23:53 +0200)]
cov: unused headers
Zdenek Kabelac [Thu, 25 Apr 2024 21:51:58 +0000 (23:51 +0200)]
cov: validation
Add internal error for missing vg.
Zdenek Kabelac [Thu, 25 Apr 2024 19:20:36 +0000 (21:20 +0200)]
toolcontext: check runtime valgrind
When reseting stream buffer - check for being run within valgrind
and only in this case skip this code.
Define VALGRIND_POOL was incorrectly used for this logic.
Zdenek Kabelac [Thu, 25 Apr 2024 19:07:36 +0000 (21:07 +0200)]
daemon-stray: compile also with VALGRIND_POOL
We can run and build this code just fine with VALGRIND_POOL
and just rely on runtime detection - so we do not close
descriptors also within running valgrind session.
Zdenek Kabelac [Wed, 24 Apr 2024 18:53:04 +0000 (20:53 +0200)]
spec: require ncurses only for readline
Hopefully editline can go without ncurses dependency.
Zdenek Kabelac [Wed, 24 Apr 2024 18:48:27 +0000 (20:48 +0200)]
makefiles: change condition
Old system do not work well with -l% in findstring,
so use a different strategy to recognize whether -lreadline needs
another library (-ltinfo, -lncourses...)
(So we don't need to solve this via 'configure')
Also for now comment out -Wl,-z,pack-relative-relocs and leave it
for the package maintainer whether they want to use.
Possibly add some 'configure' autodetection for usable switch,
as it's relatively new feature..
Zdenek Kabelac [Wed, 24 Apr 2024 11:54:05 +0000 (13:54 +0200)]
tests: avoid race check
Zdenek Kabelac [Wed, 24 Apr 2024 11:44:58 +0000 (13:44 +0200)]
tests: accept also closing status
Zdenek Kabelac [Wed, 24 Apr 2024 11:42:05 +0000 (13:42 +0200)]
makefiles: comman escape needs this trick
Zdenek Kabelac [Wed, 24 Apr 2024 09:35:05 +0000 (11:35 +0200)]
makefiles: add as-needed only for newer systems
Add some -Wl flags separatly and avoid their duplication.
Also add --as-needed only when system is using 'newer' readline
library - on these older system the usage of '--as-needed'
seems to be causing some hard to solve problem - so avoid it.
Zdenek Kabelac [Wed, 24 Apr 2024 09:34:35 +0000 (11:34 +0200)]
tests: correct linking order for RT_LIBS
Zdenek Kabelac [Tue, 23 Apr 2024 21:08:39 +0000 (23:08 +0200)]
configure: autoreconf
Zdenek Kabelac [Tue, 23 Apr 2024 21:30:35 +0000 (23:30 +0200)]
configure.ac: update ldflags args
Attach -Wl,-z,relro,-z,now,-z,pack-relative-relocs,--as-needed
to LDFLAGS, but only if LDFLAGS already doesn't contain 'relro'
(so it's not given repeatedly).
Also start to use -z,now linkage also when building libraries
with default compilation - this avoid calling symbol resolver
while library function are using function needing resolving.
Note: Fedora or RHEL rpm building is using:
CFLAGS=$(rpm --eval %{build_cflags})
LDFLAGS=$(rpm --eval %{build_ldflags})
Also split -DUSE_SD_NOTIFY into DEFS from CFLAGS.
Zdenek Kabelac [Tue, 23 Apr 2024 21:09:48 +0000 (23:09 +0200)]
configure.ac: leave LDFLAGS resolving on make time
Use LDFLAGS separately with every use of CLDFLAGS and leave
this flag only for handling versioning.
This will reflect any LDFLAGS setting use during make.
Zdenek Kabelac [Tue, 23 Apr 2024 14:07:36 +0000 (16:07 +0200)]
tests: update dmsecuretest
Look not only for whole 64byte sequence,
but seek also 32byte, 16byte and 8byte parts of the
key.
Currently to pass memcpy ZMM problems add possible
workaround in the form of GLIBC_TUNABLES setting.
Zdenek Kabelac [Fri, 19 Apr 2024 21:57:07 +0000 (23:57 +0200)]
make: generate
Zdenek Kabelac [Fri, 19 Apr 2024 21:46:40 +0000 (23:46 +0200)]
tests: look also for 16byte sequences
Zdenek Kabelac [Fri, 19 Apr 2024 21:08:11 +0000 (23:08 +0200)]
tests: add explicit call to lvs
Avoid using 'lvs' from 'get' shell - as that would wait until
whole group of processes is finished.
TODO: rethink what would be the point of starting 'dmeventd' with lvs.
It seems to break some rules.
Zdenek Kabelac [Fri, 19 Apr 2024 18:45:15 +0000 (20:45 +0200)]
spec: define rhel_version_file for rhel only
Do not define rhel_minor_version on non-rhel systems.
Zdenek Kabelac [Fri, 19 Apr 2024 18:45:00 +0000 (20:45 +0200)]
libdevmapper: _do_event waits for working dmeventd
Refactor _start_daemon and add synchronization delay waiting
untill new forked dmeventd actually open fifos and is ready
to process messages.
This closes some race window in testing.
David Teigland [Fri, 19 Apr 2024 15:48:19 +0000 (10:48 -0500)]
lvmlockd: check for multiple lock managers running
When no lock manager for the global lock had been set yet,
and the first global lock request was received, and both
dlm and sanlock were running, lvmlockd would assume it
should use the dlm for the global lock, and would start
the "lvm_global" dlm lockspace automatically. That's
not always correct, so don't assume the dlm should be used,
fail the lock request, and wait until a VG with a specific
lock type is started to determine the lock manager to use.
David Teigland [Wed, 17 Apr 2024 18:40:33 +0000 (13:40 -0500)]
lvcreate: allow raidintegrity option with implicit raid type
Allow "lvcreate -m1 --raidintegrity y" when raid1 is used, but
not explicit on the command line.
Zdenek Kabelac [Tue, 16 Apr 2024 19:08:22 +0000 (21:08 +0200)]
spec: correct condition
Test needs to make sure that it's either <RHX or <FXX.
However they are set to 0 when on different system.
So use '&&'.
Zdenek Kabelac [Tue, 16 Apr 2024 19:14:26 +0000 (21:14 +0200)]
tests: add extra dmsetup table
Strange race seems to be occuring here from time to time...
Zdenek Kabelac [Tue, 16 Apr 2024 19:13:53 +0000 (21:13 +0200)]
tests: add another explicit barrier
Just to be sure compiler cannot optimize this out.
Zdenek Kabelac [Tue, 16 Apr 2024 19:10:46 +0000 (21:10 +0200)]
tests: update aux for vdo checking
Detect also presence of 'vdoformat' tool.
Fallback to 'kvdo' modprobe only when dm-vdo fails
(removed ugly error message from log)
Also add extra check for scsi model being present
so the test can wait a bit if 'scsi_debug' takes longer time.
No need for 'aux' within aux.
Zdenek Kabelac [Mon, 15 Apr 2024 16:14:50 +0000 (18:14 +0200)]
tests: ensure sscan buffer is nul terminated
Avoid reading past the read buffer when sscanf is used.
Zdenek Kabelac [Mon, 15 Apr 2024 14:43:44 +0000 (16:43 +0200)]
spec: sanlock 3.7 with version >fc27 and >rh7.4
Decode minor version for rhel.
Zdenek Kabelac [Mon, 15 Apr 2024 16:12:54 +0000 (18:12 +0200)]
clang: implicit conversion from 'long' to 'double'
implicit conversion from 'long' to 'double' changes value
from
9223372036854775807 to
9223372036854775808 .
So rather compare same integer types.
Zdenek Kabelac [Mon, 15 Apr 2024 11:43:13 +0000 (13:43 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Mon, 15 Apr 2024 11:36:26 +0000 (13:36 +0200)]
configure: autoreconf
Zdenek Kabelac [Mon, 15 Apr 2024 11:37:16 +0000 (13:37 +0200)]
configure.ac: 3.7.0 is new minimal sanlock versioh
Require this minimal version of sanlock for usage with lvmlockd.
Zdenek Kabelac [Sat, 13 Apr 2024 19:20:18 +0000 (21:20 +0200)]
dmeventd: use daemon_close_stray_fds
Use common code for close stray descriptors.
Zdenek Kabelac [Fri, 12 Apr 2024 22:39:43 +0000 (00:39 +0200)]
libdaemon: implement daemon_close_stray_fds
Refactor existing code from tools/lvmcmdline.c to
libdaemon/server/daemon-stray.h daemon_close_stray_fds()
used to close stray descriptors above some specified Fd.
This is code parses content of /proc dir to minimize 'blind' closing
of all possible descriptors within rlimits range.
As we have the same code in few other places in it's more 'trivial'
version - these were actually sensitive to high amount of descriptors,
which might be configured on some system.
With this patch we effectively resolve this reported gitlab issue:
https://gitlab.com/lvmteam/lvm2/-/issues/5
TODO: Current placement might not be ideal - however considering
existing code base constrains it's not so simple.
ATM it uses lib/misc/lvm-file.h for custom_fds declaration
and rest of functinality is included in daemon header file.
Zdenek Kabelac [Sun, 14 Apr 2024 22:31:30 +0000 (00:31 +0200)]
lvm: use configure proc dir in lvm.conf
Update some code parts to use configurer /proc from lvm.conf
(so i.e. our testing can use some fake values)
Zdenek Kabelac [Mon, 15 Apr 2024 11:36:35 +0000 (13:36 +0200)]
configure.ac: define DEFAULT_PROC_DIR in one place
Let's move proc into include/configure.h so this define can
be easily used across the source base.
Configure defines it - but ATM we do not provide any configure
option to change it - there should be no need to ever change it.
Zdenek Kabelac [Fri, 12 Apr 2024 19:30:30 +0000 (21:30 +0200)]
dmeventd: typo fix
Fix typo and minor reorder of struct member for better alignment.
David Teigland [Wed, 3 Apr 2024 22:54:48 +0000 (17:54 -0500)]
lvmcache: fix memleaks on list removal
Free members released from the list.
Zdenek Kabelac [Thu, 11 Apr 2024 21:27:07 +0000 (23:27 +0200)]
spec: disable LTO
Currently there is not much gain in using LTO when building
testing rpms
Zdenek Kabelac [Thu, 11 Apr 2024 23:10:49 +0000 (01:10 +0200)]
spec: replace exists macro with plain shell test
seems this macro works only with recent rpm.
Zdenek Kabelac [Thu, 11 Apr 2024 21:43:27 +0000 (23:43 +0200)]
tests: better handling for dmeventd restart
Handle the case, where we 'kill -9' running dmeventd,
and restarting 'dmeventd -R' manages to still contact this
'zombie' damone and manages to get list of monitored devices
out of this and eventually 'run' new and in this case
unexpected instance of dmeventd.
Zdenek Kabelac [Thu, 11 Apr 2024 14:28:52 +0000 (16:28 +0200)]
tests: fallback to normal hostname on older machines
hostname -I is newer option, add some fallback
Zdenek Kabelac [Thu, 11 Apr 2024 14:21:11 +0000 (16:21 +0200)]
tests: explicitely use event_activation=1
Some test do expect event_activation to be set.
So add explicit configuring of this setting in tests,
but also add new default which kind of does it globally
as it's expected default (yet our testing rpms might
be create with disabled event_activation)
By adding this to each test individually - it's now easy
to locate such tests...
Zdenek Kabelac [Thu, 11 Apr 2024 22:19:08 +0000 (00:19 +0200)]
dmeventd: reduce some static variable usage
Move static to main() local vars.
Initilize libdm logging also before starting _restart_dmeventd()
so function there can be also logged.
Move call of _info_dmevent() out of option processing - so some
options like -V are processed with higher priority.
Zdenek Kabelac [Thu, 11 Apr 2024 21:21:43 +0000 (23:21 +0200)]
dmeventd: no log when after unlink file is gone
Check for errno ENOENT.
TODO: there should be global wrapper for this...
Zdenek Kabelac [Thu, 11 Apr 2024 21:19:20 +0000 (23:19 +0200)]
devmapper-event: add unlock into init_fifo error path
Unlock server path if there is open failure for client_path
and whole init_fifos() function is returning failure.
Zdenek Kabelac [Thu, 11 Apr 2024 21:26:46 +0000 (23:26 +0200)]
dmeventd: rework _restart_dmeventd
Use _restart_dmeventd() with return values 0,1,2.
Also let's use already created fifos struct.
Make sure the _systemd_activation variable is properly initialized
from _systemd_handover before calling _restart_dmeventd() as
this variable is used there to decide where 1 or 2 should
be returned - aka either letting systemd to initilize
or restart dmeventd itself.
David Teigland [Thu, 11 Apr 2024 15:50:06 +0000 (10:50 -0500)]
lvmlockd: use sanlock.h for defines
Zdenek Kabelac [Wed, 10 Apr 2024 15:31:41 +0000 (17:31 +0200)]
spec: try with default dependency tracking
Check whether we have now all dependencies right.
Zdenek Kabelac [Wed, 10 Apr 2024 15:29:21 +0000 (17:29 +0200)]
spec: when building rpm on test machine disable event_activation
This is initial test how to disable event_activation on
machines, where lvm2-testsuite packages are installed
with its lvm.conf file.
TODO: find more elegant mechanism
Zdenek Kabelac [Wed, 10 Apr 2024 15:28:18 +0000 (17:28 +0200)]
spec: update default values
Reverse condition and downgrade setting for older versions.
Also define proper version strings
Zdenek Kabelac [Wed, 10 Apr 2024 15:33:53 +0000 (17:33 +0200)]
tests: aux extend lvmdbusd timeout for startup
Unclear yet what's going on here - so try waiting up 10second
to see if our service will get there.
Print task list if not...
Zdenek Kabelac [Wed, 10 Apr 2024 13:46:24 +0000 (15:46 +0200)]
tests: use lvname with space
Occasionally this test fails as soemtimes UUID actually
may constain LV[d] string causing it to grep mismatch
UUID and LV name and eventually fail test for wrong reason.
As a simple workaround print the LV name first and
check the name is followed by a space character.
Zdenek Kabelac [Tue, 9 Apr 2024 15:51:47 +0000 (17:51 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Tue, 9 Apr 2024 21:04:25 +0000 (23:04 +0200)]
tests: update unit-tests
Fix some memleaks.
Drop call of bcache_clear_fd() when bache was not initialized.
Zdenek Kabelac [Tue, 9 Apr 2024 21:29:15 +0000 (23:29 +0200)]
tests: update for faster dmeventd
We can drop sleep 6, since dmeventd will quit immediatelly
when no running dmeventd can be restarted.
Also restart itself check more conditions.
Zdenek Kabelac [Tue, 9 Apr 2024 14:20:07 +0000 (16:20 +0200)]
tests: add missing vgck
This test missed being adjusted with this updated workflow
so it's been testing something different...
Zdenek Kabelac [Mon, 8 Apr 2024 22:33:16 +0000 (00:33 +0200)]
tests: aux fallback to sleep
When dbus-send tool is not present on system, fallback to sleep.
Zdenek Kabelac [Mon, 8 Apr 2024 22:33:59 +0000 (00:33 +0200)]
tests: drop test warning
These kernel are not going to be ever fixed, so drop warning
being displayed for these tests.
Zdenek Kabelac [Tue, 9 Apr 2024 16:34:01 +0000 (18:34 +0200)]
cov: mask false positive
This code is somewhat complex and involves recursion and pointer
shuffling which confuses coverity here.
Let's add masking comment for this warning as there is no double
free in this code.
Zdenek Kabelac [Tue, 9 Apr 2024 15:36:20 +0000 (17:36 +0200)]
cov: pass buffer size
Zdenek Kabelac [Tue, 9 Apr 2024 14:43:38 +0000 (16:43 +0200)]
gcc: remove warning about inlining failure
Persuade gcc we want this function to be inline and avoid:
warning: inlining failed in call to ‘lvmlockd_open.constprop.0’:
Zdenek Kabelac [Tue, 9 Apr 2024 14:37:04 +0000 (16:37 +0200)]
cov: use check of snprintf result
Do validation in one go with snprintf() result,
so there is no extra strlen() and uncheck possibly truncating snprintf()
visible to coverity.
Zdenek Kabelac [Tue, 9 Apr 2024 14:18:05 +0000 (16:18 +0200)]
cov: use stream ptr in its original form
Let's stop Coverity thinking here we are using freed FILE*
for anything else then comparing numbers.
For this use the original source of old_stream pointer.
Zdenek Kabelac [Tue, 9 Apr 2024 09:43:14 +0000 (11:43 +0200)]
cov: use dm_strncpy variant
Zdenek Kabelac [Tue, 9 Apr 2024 09:42:06 +0000 (11:42 +0200)]
cov: make obvious how free of memory happens
When there is allocation, it needs also deallocator.
Remove no longer needed coverity warning masking.
Zdenek Kabelac [Tue, 9 Apr 2024 09:36:31 +0000 (11:36 +0200)]
cov: use safer version with size limitation
Although there is likely not much risk of having chance of overwritting
given buffers use safer variant.
Use dm_strncpy() when just copying %s.
Zdenek Kabelac [Tue, 9 Apr 2024 09:35:23 +0000 (11:35 +0200)]
cov: extra pointer validation
Add few more internal errors to enusure there is no use of NULL pointers
along the code path.
Zdenek Kabelac [Tue, 9 Apr 2024 09:40:20 +0000 (11:40 +0200)]
cov: replace strcpy with memcpy
When we know the size we can avoid using strcpy.
Zdenek Kabelac [Mon, 8 Apr 2024 22:31:57 +0000 (00:31 +0200)]
cov: use memccpy
When we want to copy string which may not be null terminated,
replace strncpy with more correct memccpy.
Zdenek Kabelac [Tue, 9 Apr 2024 21:29:02 +0000 (23:29 +0200)]
dmeventd: restart checks for running daemon
Check whether the pid file is associated with running daemon.
If not there is not much point to wait many seconds in loop.
Zdenek Kabelac [Tue, 9 Apr 2024 15:27:12 +0000 (17:27 +0200)]
toolib: skip when there is no vg and error_vg
We must skip even if the skip would be suggesting otherwise
if there is no vg and no error_vg as there is nothing to process.
Zdenek Kabelac [Tue, 9 Apr 2024 12:50:52 +0000 (14:50 +0200)]
configure: add --with-default-event-activaion=ON
Add new configurable option for building lvm2 with enable/disable
default autoactivation setting.
Might be useful for building i.e. rpms for systems where
this event_activation is not desired.
Zdenek Kabelac [Tue, 9 Apr 2024 15:40:45 +0000 (17:40 +0200)]
reporter: correcting failure return value
This function do use ECMD_ return values,
so use ECMD_FAILED as initial value - used for internal error paths
Zdenek Kabelac [Mon, 8 Apr 2024 17:52:41 +0000 (19:52 +0200)]
gitignore: add more ignored suffixes
Zdenek Kabelac [Mon, 8 Apr 2024 20:19:33 +0000 (22:19 +0200)]
makefiles: add libdm as deps for unit-test
When using just 'make check' ensure we make also dmsetup
so it's not needed to run explicit 'make' to get all the tools.
Zdenek Kabelac [Mon, 8 Apr 2024 19:16:33 +0000 (21:16 +0200)]
tests: include date and hostname IPs in test log
When our testing machines are going wild with NetworkManager,
this might be slightly helping.
Zdenek Kabelac [Mon, 8 Apr 2024 19:14:54 +0000 (21:14 +0200)]
tests: add timestamp to kernel line
Parse timestamps included in kernel kmsg line and add current system
time to the messsage as well - this makes it easier to look over,
when chasing some messages in journal after some time...
Zdenek Kabelac [Mon, 8 Apr 2024 17:48:50 +0000 (19:48 +0200)]
tests: check for supported dBus interface
Instead of blindly relying on sleeping, that dBus understands our
dBus interface, query the info with dbus-send.
Zdenek Kabelac [Mon, 8 Apr 2024 17:47:37 +0000 (19:47 +0200)]
tests: query dmeventd instead of sleep
Checking status of running instance of dmeventd should be a better 'sleep'.
Zdenek Kabelac [Mon, 8 Apr 2024 17:44:39 +0000 (19:44 +0200)]
dmeventd: check for running dmeventd for status
Before initiation fifo communication, check whether there is
running dmeventd - in case there is no running instance, this
would be just blocked for 5 seconds trying to open fifo.
Zdenek Kabelac [Mon, 8 Apr 2024 12:31:22 +0000 (14:31 +0200)]
tests: use non inlined copy constructor
gcc would like to see code without trying to inline large
copy constructor used for std::vector
Zdenek Kabelac [Mon, 8 Apr 2024 11:31:24 +0000 (13:31 +0200)]
makefiles: avoid using # with awk
Also awk got annoyed by this \# char sequence which is reported
as incorrect, however older rpm builder were failing without this.
So let's just try other variant.
Zdenek Kabelac [Mon, 8 Apr 2024 11:10:16 +0000 (13:10 +0200)]
makefiles: use SHOW
Zdenek Kabelac [Mon, 8 Apr 2024 12:10:18 +0000 (14:10 +0200)]
gcc: clear some complains
Use dm_strncpy() were possible to get rid of gcc compile warnings.
Zdenek Kabelac [Sun, 7 Apr 2024 12:25:37 +0000 (14:25 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Sun, 7 Apr 2024 17:58:30 +0000 (19:58 +0200)]
tests: add sleep
mdadm may eventually be too slow...
This page took 0.075267 seconds and 5 git commands to generate.