]>
sourceware.org Git - lvm2.git/log
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...
Zdenek Kabelac [Sun, 7 Apr 2024 11:01:26 +0000 (13:01 +0200)]
pools: no checking for lv/vgremove deactivation
Thin-pool and cache-pool targets got already quite stable so let's try
to remove checking of pools when using lvremove or vgremove commands.
This skips checking pools when they are going to be removed, but it
also when removing thin volume that was the only user of a thin-pool.
In this case thin-pool will be still there and could be activated
again with another thin volume and thin_check will be executed
in this moment. In this case it can delay discovery of metadata damage.
Zdenek Kabelac [Sun, 7 Apr 2024 10:58:34 +0000 (12:58 +0200)]
thin-pool: avoid reactivation on new thin-pool
Shortens processing of 'lvcreate -L -V -T' command and
avoid deactivation and its activation with thin_check of the empty
created thin-pool that will be used for the new thin volume
made with a single lvcreate command.
Zdenek Kabelac [Sun, 7 Apr 2024 10:56:33 +0000 (12:56 +0200)]
vdo: modprobe dm-vdo for kernels >= 6.9
Modprobe "dm-vdo" with new kernels >= 6.9 and go for
'kvdo' with older Linux kernels.
Zdenek Kabelac [Fri, 5 Apr 2024 12:30:25 +0000 (14:30 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Fri, 5 Apr 2024 12:25:27 +0000 (14:25 +0200)]
tests: skip convertions tests for usptream driver
Zdenek Kabelac [Fri, 5 Apr 2024 11:17:13 +0000 (13:17 +0200)]
tests: add correct condition for skip of lvmpolld tests
Check when flavour want to test lvmlockd & lvmpolld tests and
in for case ignore SKIP_WITH_LVMPOLLD from test script.
Zdenek Kabelac [Fri, 5 Apr 2024 12:00:11 +0000 (14:00 +0200)]
vdo: use stats msg parser for also segment status
Shuffle code to parsing VDO message also for lvs segment status
so it can report correctly data usage for VDO LVs.
For this change move code and also change its API to use just mempool.
Fixes usage with upstream 6.9 vdo target driver.
Zdenek Kabelac [Fri, 5 Apr 2024 11:09:10 +0000 (13:09 +0200)]
vdo: fix status message parsing
When using message API for parsing VDO stats info, 0 was wrongly
used for fallback for trying the old sysfs API.
Switch to use ULLONG_MAX for values that could not have been obtained
through the message call.
Fixes lvdisplay info for freshly created VDO volume with 0 used data
blocks.
Zdenek Kabelac [Thu, 4 Apr 2024 17:30:38 +0000 (19:30 +0200)]
tests: updated check for dm-vdo module
With new kernels dm-vdo is now correct name,
so use standard loading and just try extra for kvdo.
Zdenek Kabelac [Thu, 4 Apr 2024 14:50:18 +0000 (16:50 +0200)]
tests: inittest fix skipping condition
Zdenek Kabelac [Wed, 3 Apr 2024 23:29:30 +0000 (01:29 +0200)]
dev_manager: improve readability
Make a seperate function to decode which ID should be user
for cvol meta or data volume - also avoids duplication of code.
As a result it's now also easier to see how the lvid is build.
Zdenek Kabelac [Wed, 3 Apr 2024 22:09:29 +0000 (00:09 +0200)]
device_id: add comment for trim
Zdenek Kabelac [Wed, 3 Apr 2024 19:01:40 +0000 (21:01 +0200)]
lvmlocks: rework dm_strncpy
Fix cutting away 1 character via incorrect usage of dm_strncpy
introduced in last batch of commits and use sizeof(buffer) to
get proper sizes.
In case of use strcpy_name_len() the replacement was invalid,
so we need to restore this case since sanlock uses buffer without
nul ending, so we would strip one more character from the buffer.
Also start to use dm_strncpy() without (void) for unchecked usage.
Zdenek Kabelac [Thu, 4 Apr 2024 16:42:24 +0000 (18:42 +0200)]
refactor: update dm_strncpy to _dm_strncpy
For checked versions of dm_strncpy use inline wrapper _dm_strncpy.
Zdenek Kabelac [Thu, 4 Apr 2024 15:03:30 +0000 (17:03 +0200)]
refactor: remove (void) from dm_strncpy usage
Start to use dm_strncpy() as unchecked version within source tree.
Zdenek Kabelac [Thu, 4 Apr 2024 16:41:42 +0000 (18:41 +0200)]
util: add _dm_strncpy
Add internal inline function wrapper for dm_strncpy().
Use it for calls where we test the result.
Avoids emitting warnings in Coverity for unchecked usage.
Zdenek Kabelac [Thu, 4 Apr 2024 15:54:52 +0000 (17:54 +0200)]
util: swap header file load order
Ensure libdevmapper is included before util.h since
we are going to add function that is using it.
TODO: maybe add include directly here...
Zdenek Kabelac [Wed, 3 Apr 2024 21:59:21 +0000 (23:59 +0200)]
cov: missing initializer
Ensure there is no code path with uninitialized takes_arg.
David Teigland [Wed, 3 Apr 2024 20:59:25 +0000 (15:59 -0500)]
lvmcache: free list of add_cache_devs
David Teigland [Wed, 3 Apr 2024 20:29:17 +0000 (15:29 -0500)]
lvmdevices: fix memleak of use_old du
missed in the the prev done_old commit
Zdenek Kabelac [Fri, 29 Mar 2024 14:42:38 +0000 (15:42 +0100)]
cleanup: remove lvmcache_has_bad_metadata
Zdenek Kabelac [Fri, 29 Mar 2024 23:08:47 +0000 (00:08 +0100)]
cleanup: drop unused code
Zdenek Kabelac [Fri, 29 Mar 2024 14:58:51 +0000 (15:58 +0100)]
filtes: remove lvmetad bits from usable filter
Eliminate some dead code from usable filter, that is no longer usable
after removal of lvmetad.
Zdenek Kabelac [Fri, 29 Mar 2024 21:44:21 +0000 (22:44 +0100)]
device_id: simplier loop control
Zdenek Kabelac [Fri, 29 Mar 2024 21:43:48 +0000 (22:43 +0100)]
device_id: use dm_strncpy
Simplify code.
Zdenek Kabelac [Fri, 29 Mar 2024 21:43:06 +0000 (22:43 +0100)]
deviced_id: use zalloc
While moving to dm_strncpy, in this case since pvid is also
passed to crc calc, make sure whole buffer is always initilized.
Zdenek Kabelac [Fri, 29 Mar 2024 20:27:06 +0000 (21:27 +0100)]
filter: zero internal structure
Valgrind noticed access to unitialized warned_filter.
Zdenek Kabelac [Fri, 29 Mar 2024 21:44:48 +0000 (22:44 +0100)]
lvmdevices: fix memleak of done_old du
'done_old' list missed released.
Zdenek Kabelac [Thu, 28 Mar 2024 23:32:37 +0000 (00:32 +0100)]
cov: cast to uint32
Zdenek Kabelac [Thu, 28 Mar 2024 23:07:38 +0000 (00:07 +0100)]
cov: validate count is bigger then 0
To avoid teoretical underflow...
Zdenek Kabelac [Thu, 28 Mar 2024 23:07:13 +0000 (00:07 +0100)]
tests: better constructor
Zdenek Kabelac [Thu, 28 Mar 2024 22:37:51 +0000 (23:37 +0100)]
cov: validate major and minor
Check major and minor is >= 0.
Zdenek Kabelac [Thu, 28 Mar 2024 22:21:46 +0000 (23:21 +0100)]
cov: store 64b flags
Alhtough no target is currently using that many bits for their flags,
preserve the size for loaded segment internally.
Zdenek Kabelac [Thu, 28 Mar 2024 22:14:29 +0000 (23:14 +0100)]
cov: validate i before underflow
Although it can't happen in this code, ensure 'i' is not 0
before decrementing it.
Zdenek Kabelac [Thu, 28 Mar 2024 21:43:16 +0000 (22:43 +0100)]
cov: remove unnecessary sanity check
This sanity check actually confused in some way Coverity
giving it some assumption about array access.
Since these two checks basically validated compiler's capability
to add and then substract the number from char pointer we likely
don't really need them - as if this base math would not work,
compiler would be having far more troubles...
So drop them - and get rid of report:
Event overrun-call: Overrunning callee's array of size 513 by...
Zdenek Kabelac [Thu, 28 Mar 2024 21:08:41 +0000 (22:08 +0100)]
cov: use dm_strncpy
Use better variant.
Zdenek Kabelac [Thu, 28 Mar 2024 20:33:53 +0000 (21:33 +0100)]
cov: no overwrite of const qualified fields
Zdenek Kabelac [Thu, 28 Mar 2024 20:15:38 +0000 (21:15 +0100)]
cov: reset FILE on error path
Although fclose() fails - we should not be retrying with
already released stucture.
Tony Asleson [Wed, 27 Mar 2024 17:26:19 +0000 (12:26 -0500)]
tests: lvmdbusest.py faster test_z_sigint
Reduce #lv and intervals.
We are trying to ensure that the daemon stops while it's busy processing
its internal queues. Decrease the number of LVs and intervals to allow
this test to complete in less time.
This page took 0.071957 seconds and 5 git commands to generate.