Zdenek Kabelac
7bf404db3b
validate_lvname: early exit
...
If the LV name does not any have '_' chr,
there is no point trying to call 'strstr()' to look for "_suffix".
Also we can search from _.
2024-10-31 17:55:31 +01:00
Zdenek Kabelac
ae8ba49142
cov: validate string with lock mode
...
Check the dev_mode string is not NULL before use.
2024-10-30 13:09:31 +01:00
Zdenek Kabelac
6ebcb0015e
cov: add stacktraces
...
Add stacktraces for unexpected paths.
2024-10-30 13:08:56 +01:00
Zdenek Kabelac
699696b0a6
vdo: reader checks there is enough data
...
Validate enough of data was read from disk to parse vdo header.
TODO: there should be a loop for buffer reading.
2024-10-30 12:59:08 +01:00
Zdenek Kabelac
8095a6c14c
metadata: pahole logical_volume
...
Shuffle some variables to remove 'extra' alignment holes
within the structure thus making it smaller.
2024-10-30 12:59:08 +01:00
Zdenek Kabelac
9e8bd57e15
metadata: lv_set_name use uniq_insert
...
With presence of uniq_insert, use this function also
here for extra protection and check for duplicate lv_name
when inserting a new name into radix_tree.
2024-10-30 12:59:08 +01:00
Zdenek Kabelac
b66b72b115
get_alloc_string: compare only enum
...
Instead of possibly checking for cling_by_tags string twice,
just compare resulting alloc number from search loop.
2024-10-30 12:57:34 +01:00
Zdenek Kabelac
30adf7e91c
toolcontext: use the striped string first
2024-10-30 12:57:34 +01:00
Zdenek Kabelac
e2a5715a60
cache_manip: reset sigint handler
...
After processing interrupt, reset the interrupt counter,
so further code is not mislead and continues processing
in 'locked' section as expected.
2024-10-30 12:57:34 +01:00
Zdenek Kabelac
0e64d49642
tests: use longer tag
...
Avoid config 'grep' with actual 'randomly' generated path name
which may eventually contain 'cc' as part the path and
causing a mismatch of the grep test.
2024-10-30 12:57:34 +01:00
Zdenek Kabelac
608418e4f2
debug: missing stacktrace
2024-10-28 20:07:37 +01:00
Zdenek Kabelac
16241b2dc7
lv_manip: init major minor in alloc_lv
...
Move initialization of major and minor to alloc_lv().
2024-10-28 20:07:37 +01:00
Zdenek Kabelac
e2b00dd162
device_mapper: use static array for dm_size_to_string
...
Avoid copying this structure on stack with every call.
2024-10-28 20:07:37 +01:00
Zdenek Kabelac
b05e0df4e1
tests: add reproducer for failing raid5 activation
...
For now use 'should' to mark this 'known' failure.
This case needs solution.
2024-10-28 20:07:37 +01:00
Zdenek Kabelac
86dc72c28c
tests: flip to use FSLASTBLOCK
...
It seems FSSIZE is newer then FSLASTBLOCK so use this one instead.
2024-10-28 20:07:37 +01:00
Zdenek Kabelac
a934231623
tests: correcting expected return code
...
Expecting success when using with '-r'.
2024-10-28 20:07:37 +01:00
Heinz Mauelshagen
708435d187
man: lvchange update about --syncaction being transient
2024-10-25 22:03:18 +02:00
Zdenek Kabelac
034b6a262c
WHATS_NEW: update
2024-10-25 15:08:03 +02:00
Zdenek Kabelac
143545a08c
lvmlockd: fix incorrect function definition
...
In commit 7f29afdb06
this function
was added with misplaced ';'.
2024-10-25 15:08:03 +02:00
Zdenek Kabelac
c8a8c7286f
tests: add test to resize to same size
...
Check that 'lvresize/extend -r' resizing to the same size is
doing the fs resize.
2024-10-25 15:08:03 +02:00
Zdenek Kabelac
5a293968ec
lvresize: fix regression when resizing with fs
...
When 'lvresize -r' is used to resize the volume, it's valid to
resize even to the same size of an LV, as the command then runs
fs-resize utility to eventually upsize the fs to the current
volume size.
Return code of such command then reflects the return value
of this fs-resize tool.
This fixes the regression introduced when the support
for option --fs was added (2.03.17).
2024-10-25 15:06:39 +02:00
Peter Rajnoha
43ce78e5c6
tests: lvresize-fs: check blkid version for lvresize with swap test
2024-10-25 13:21:57 +02:00
Peter Rajnoha
aa0200c3ff
dev-type: update comment about swap info from blkid
2024-10-25 12:53:07 +02:00
Zdenek Kabelac
40010e3eb8
clang: close file on memory alloc error path
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
ebc5c0cb1d
clang: check for dirfd result
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
0fbcb3b308
clang: check segment lv is defined
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
5ec8f744d0
clang: ensure pointer is defined
...
Check for new_segtype and lv is defined
before dereferencing.
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
ea4daeb28e
cov: use 64bit arithmentic
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
1363a5ffb2
cov: ensure detached_log_lv exists before use
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
5a3375f958
debug: use major:minor
...
Print major:minor as in other places.
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
edfa4955d8
device_id: close only opened dir
...
After more of opendir, make sure 'dir' is closed
only when it's been opened.
2024-10-25 01:26:40 +02:00
Zdenek Kabelac
a5e3f0e6dd
metadata: check for mda_device existance
2024-10-25 01:26:39 +02:00
Zdenek Kabelac
f61572eef2
dev-cache: ensure list has elements
...
When updating DM cache, check whether the list even has entries
before comparing it with old cached instance.
2024-10-25 01:26:39 +02:00
Zdenek Kabelac
87f68f443c
metadata: fallback search without radix_tree
...
If we use some dummy vg struct, allow fallback
plain dm_list search.
2024-10-25 01:26:39 +02:00
Zdenek Kabelac
7d48c1f6e3
device_mapper: add omitted error message
2024-10-25 01:26:39 +02:00
Zdenek Kabelac
188dd3c357
device_mapper: check for pv before use in error msg
2024-10-25 01:26:39 +02:00
David Teigland
875012fb5d
lvmlockd: enable lockopt nodelay for lockstart
...
Avoid the sanlock add_lockspace delay in vgchange --lockstart
by adding --lockopt nodelay. This is for testing, and is not
safe to use in general.
2024-10-24 17:15:16 -05:00
Zdenek Kabelac
77332669d0
WHATS_NEW: update
2024-10-24 21:38:35 +02:00
long.yunjian@zte.com.cn
639fb633d3
cleanup: correct invalid function
...
Use proper function names in annotation
There are no fuction named print_common_options_cmd()
and print_common_options_lvm(). So, rename them to the
real function named print_usage_common_cmd() and
print_usage_common_lvm().
Signed-off-by: YunJian Long
2024-10-24 21:38:06 +02:00
Zdenek Kabelac
9295de7cea
tests: do not use shell pipe for reshape_len
...
Tricky one - as the pipe exit codes may result into whole
test failure depending on how quick/slow command exits
are within pipeline.
So get the len without piping.
2024-10-24 21:24:26 +02:00
Zdenek Kabelac
2c5bf25187
devicesfile: move opendir after fclose
...
Call opendir() after new file is stored within dir,
otherwise this new file would not accounted.
2024-10-24 21:24:26 +02:00
Zdenek Kabelac
b88cbc7f17
metadata: missed lv_set_name users
...
Missed when introduced lv_set_name().
2024-10-24 21:24:26 +02:00
Zdenek Kabelac
c27d6695c1
lv: add lv_set_vg
...
To keep vg->lv_names up-to-date also for merge & split,
add function lv_set_vg() the will update also radix tree
reference for a VG.
2024-10-24 21:23:49 +02:00
Zdenek Kabelac
73c7dac1a8
WHATS_NEW: update
2024-10-24 17:38:09 +02:00
Zdenek Kabelac
21517c2bd5
metadata: use radix tree to find lv_names
...
Replace usage of dm_hash with radix_tree to quickly find LV name
with a vg and also index PV names with set of available PVs.
This PV index is only needed during the import, but instead
of passing 'radix_tree *' everywhere, just keep this within
a VG struct as well and once the parsing is finished, release
this PV index radix_tree.
This also makes it easier to replace this structure
in the future if needed.
lv_set_name now uses radix_tree remove+insert to keep lv_names
tree in-sync and usable for find_lv queries.
2024-10-24 17:38:09 +02:00
Zdenek Kabelac
1825e782cc
revert "metadata: use lv_hash in segment-specific metadata parsing"
...
This reverts commit f42aef4706
.
Going to replace dm_hash with radix_tree and use 'find_lv()'
to abstract lookup for LV with VG.
2024-10-24 17:38:09 +02:00
Zdenek Kabelac
956b2c568f
metadata: use lv_set_name for raid and mirror
...
Use lv_set_name API also for raid and mirror LV manipulation.
2024-10-24 17:38:09 +02:00
Zdenek Kabelac
c681d4e61a
metadata: add lv_set_name
...
Add function to set lv->name.
Also when creating empty LV, first add this LV
to linked list in a VG and just after that allocate lv name.
2024-10-24 17:38:09 +02:00
Zdenek Kabelac
73f24443e5
check_pv_segments: resolve pv name once
2024-10-24 17:38:09 +02:00
Zdenek Kabelac
eb4b307d0c
log: postpone some initialization
...
Clear buffers when really logging.
2024-10-24 17:38:09 +02:00