Vojtech Trefny [Thu, 21 Nov 2024 14:14:10 +0000 (15:14 +0100)]
dbus: Add function for running lconvert --repair on RAID LVs
Zdenek Kabelac [Mon, 25 Nov 2024 13:16:55 +0000 (14:16 +0100)]
tests: increase mirror size
On fast machines mirror throttling starts to react much later
so try bigger mirror size to fight with race in test.
Zdenek Kabelac [Mon, 25 Nov 2024 13:03:51 +0000 (14:03 +0100)]
man: update display fields
The --sort option belongs to '-C' columned output only.
Also add short commmand description for specialized
vg/pv/lvdisplay command.
Zdenek Kabelac [Fri, 22 Nov 2024 12:25:37 +0000 (13:25 +0100)]
make: generate
Zdenek Kabelac [Fri, 22 Nov 2024 12:25:29 +0000 (13:25 +0100)]
tools: enhance lvdisplay vgdisplay pvdisplay
Split description for display commands so we can better describe
it's usage and combination of individual options in man page.
Now we can separately describe:
lvdisplay, lvdisplay -c, lvdisplay -C
vgdisplay, vgdisplay -c, vgdisplay -C
pvdisplay, pvdisplay -c, pvdisplay -C
TODO: Drop validation from command code itself.
Zdenek Kabelac [Thu, 21 Nov 2024 21:46:59 +0000 (22:46 +0100)]
args: add colon and column for pv/vg/lvdisplay
Better description for --colon and --column option for
pvdisplay, vgdisplay, lvdisplay.
Zdenek Kabelac [Wed, 20 Nov 2024 12:44:35 +0000 (13:44 +0100)]
man: clean
Both branches printed new line.
Zdenek Kabelac [Wed, 20 Nov 2024 11:35:17 +0000 (12:35 +0100)]
man: refactor check for variant
Remove unnecessary checks and move the comment to the 1st. check.
Zdenek Kabelac [Wed, 20 Nov 2024 11:35:01 +0000 (12:35 +0100)]
man: refactor printing option
When generating man pages, use a single function to print
option with its short & long name.
Zdenek Kabelac [Thu, 21 Nov 2024 21:47:11 +0000 (22:47 +0100)]
man: enhance handling of option description
Update the _print_man_option_desc() to also handle common parts
as the initial text without any specified section and also
add support for '#\n' to be able to revert to common part.
Zdenek Kabelac [Thu, 14 Nov 2024 16:49:36 +0000 (17:49 +0100)]
test: shellcheck: use quotation marks
Zdenek Kabelac [Thu, 14 Nov 2024 16:55:34 +0000 (17:55 +0100)]
test: shellcheck: add shell directive
Also add forgotten standard copyright message with shell reference.
Zdenek Kabelac [Thu, 14 Nov 2024 16:48:52 +0000 (17:48 +0100)]
shellcheck: separate declaration and assign
So the error exit code can be processed if needed...
Zdenek Kabelac [Thu, 14 Nov 2024 16:48:06 +0000 (17:48 +0100)]
shellcheck: validate cd success
Zdenek Kabelac [Wed, 13 Nov 2024 12:06:15 +0000 (13:06 +0100)]
WHATS_NEW: update
Zdenek Kabelac [Mon, 11 Nov 2024 21:17:05 +0000 (22:17 +0100)]
tests: improve tracing messages
Avoid printing lvm2 command trace, if the test finds the 'dmeventd'
was started unxpectedly during testing as the last command is hardly
ever responsible for this
Also reorder some messages when doing teardown of devices.
Do not print 'help' message from hostname command, when it does
not support option '-I'.
Zdenek Kabelac [Wed, 13 Nov 2024 11:59:27 +0000 (12:59 +0100)]
tests: check _tdata conversion to raid1
Zdenek Kabelac [Wed, 13 Nov 2024 11:52:18 +0000 (12:52 +0100)]
raid: fix name rotation
Since we now keep lv names valid all the time (as they are part
of radix_tree) - there is a problem with this renaming code, that
for a moment used duplicated name in vg struct.
Fix it by interating LVs backwared - which avoids breaking consitency
and also actually makes code more simple.
Zdenek Kabelac [Fri, 8 Nov 2024 18:34:00 +0000 (19:34 +0100)]
tests: aux check for leaked symlinks
Add check for 'leaked' symlinks after test and trap
the case when some 'danglink' links are present.
This might be some problem with udev synchronization
or some other strange race.
All such symlinks will be also removed so they will not
influence following tests.
Zdenek Kabelac [Fri, 8 Nov 2024 15:38:29 +0000 (16:38 +0100)]
tests: check vdo minimum_io_size
Zdenek Kabelac [Thu, 7 Nov 2024 21:39:41 +0000 (22:39 +0100)]
debug: remove unused define
Zdenek Kabelac [Thu, 7 Nov 2024 17:46:24 +0000 (18:46 +0100)]
device_mapper: suppress warns about inactive query
When command prints warning about suppressing query
for inactive table, because this is not supported
by kernel - 1 printed message is just enough, no
reason to 'spam' command output all the time, message
will remain only in debug log.
Also drop 'WARNING:' from real 'error' message.
WARNIGS are supposed to be just warning and command
then exists with 'success'.
Zdenek Kabelac [Fri, 8 Nov 2024 15:12:30 +0000 (16:12 +0100)]
vdo: fix input units for minimim_io_size
When specifying minimum_io_size with --vdosettings,
command assumed wrong unit (sectors).
So '--vdosettings minimum_io_size=512|4096' resulted into
an error that only 512 or 4096 values are allowed, but
at the same time values 1 or 8 were accepted.
So fix by converting any number >= 512 to 'sectors' and
keep input of 1 or 8 still valid if anyone has been using
this before.
So now we take 512 or 4096 and still also 1 or 8 with the
same effect.
Also correct the 'error' message when invalid minimum_io_size
is specified.
Peter Rajnoha [Wed, 6 Nov 2024 09:39:27 +0000 (10:39 +0100)]
WHATS_NEW: update
Peter Rajnoha [Tue, 5 Nov 2024 13:20:59 +0000 (14:20 +0100)]
tests: remove superfluous -a option for df used in lvresize-xfs.sh
The df -a looks at whole system and it returns an error code in case
there's an inaccessible fs which is not even part of the testing environment.
The -a for df is not actually needed here in the lvresize-xfs test, so remove it.
Peter Rajnoha [Tue, 5 Nov 2024 13:48:23 +0000 (14:48 +0100)]
lv_manip: use the same param validation for RAID 0 as for RAID 1/4/5/6
This actually reverts commit
83ae675f8df53010c984b78d0318d0d92d5ac83a.
Peter Rajnoha [Tue, 5 Nov 2024 08:26:03 +0000 (09:26 +0100)]
lv_manip: fix stripe count and size validation for RAID LVs
Fix stripe count and size parameter validation for RAID LVs and
include existing automatic setting of these parameters based
on current shape of the RAID LV in case these are not set
on command line fully.
Previously, this was done only to a certain subset given by this
condition (where the 'stripes' is the '-i|--stripes' cmd line arg
and the 'stripe_size' is actually the '-I|--stripesize' cmd line arg):
!(stripes == 1 || (stripes > 1 && stripe_size))
This condition is a bit harder to follow at first sight and there
are no comments around with explanation for why this one is used,
so let's analyze it a bit more.
First, let's convert this to an equivalent condition (De Morgan law)
so it's easier to read for humans:
stripes != 1 && !(stripes > 1 && stripe_size)
Note: Both stripe and stripesize are unsigned integers, so they can't be negative.
Now, based on that condition, we were running the code to deduce the
stripe/stripesize and do the checks ("the code") only if both of these
are true:
- stripes is different from 1
- we don't have stripes > 1 and stripe_size defined at the same time
But this is not correct in all cases, because:
A) if someone uses stripes = 0, then "the code" is executed
(correct)
B) if someone uses stripes = 1, then "the code" is not executed
(wrong: we still need to be able to check the args against
existing RAID LV stripes whether it matches)
- if someone uses stripes > 1, then "the code" is:
C) if stripe_size = 0, executed
(correct)
D) if stripe_size > 0, not executed
(wrong: we still want to check against existing RAID LV stripes)
Current issues with this condition:
The B) ends up with segfault.
❯ lvextend -i 1 -l+1 vg/lvol0
Rounding size 4.00 MiB (1 extents) up to stripe boundary size 8.00 MiB (2 extents).
Segmentation fault (core dumped)
The D) ends up with errors like:
❯ lvextend -i 3 -l+1 -I128k vg/lvol0
Rounding size 4.00 MiB (1 extents) up to stripe boundary size 8.00 MiB (2 extents).
Rounding size (4 extents) up to stripe boundary size for segment (5 extents).
Size of logical volume vg/lvol0 changed from 8.00 MiB (2 extents) to 20.00 MiB (5 extents).
LV lvol0: segment 1 with len=5 has inconsistent area_len 3
Couldn't read all logical volumes for volume group vg.
Failed to write VG vg.
Conclusion:
The condition needs to be removed so we always run "the code" to check
given striping args given on command line against existing RAID LV
striping. The reason is that we don't want to allow changing stripe
count for RAID LVs through lvextend and we need to end up with the
error:
"Unable to extend <RAID segment type> segment type with different number of stripes"
(We do support changing the striping by lvconvert's reshaping functionality only).
Zdenek Kabelac [Wed, 6 Nov 2024 11:33:24 +0000 (12:33 +0100)]
makefiles: flip condition
With previous commit, in this case we need to flip condition,
to make it working here as expected.
Zdenek Kabelac [Tue, 5 Nov 2024 23:03:53 +0000 (00:03 +0100)]
gcc: do not mix signess compare
Zdenek Kabelac [Mon, 4 Nov 2024 16:42:34 +0000 (17:42 +0100)]
gcc: make older compilers happier
Use {{}} for array initializer to quite warning for older gcc.
Zdenek Kabelac [Tue, 5 Nov 2024 19:04:23 +0000 (20:04 +0100)]
makefiles: eliminate error output
Hide error message from 'find', if the 'lib' dir has
not been create yet (in case of non-srcdir build).
Zdenek Kabelac [Tue, 5 Nov 2024 18:31:45 +0000 (19:31 +0100)]
makefiles: use filter
Zdenek Kabelac [Tue, 5 Nov 2024 13:39:04 +0000 (14:39 +0100)]
makefiles: fix clean rule for non srcdir builds
With commit
acbeaa7a8d86acc0f0e3c04723d066d995f29fe5 we started
to use symlinks to link test suite shell scripts, however
they remained within CLEAN_TARGETS.
So when running 'make clean' within non-srcdir build dir, we
were cleaning actuall shell script in this dir.
So remove list of this script from CLEAN_TARGETS in this case.
Zdenek Kabelac [Sat, 2 Nov 2024 21:23:42 +0000 (22:23 +0100)]
tests: runner better handle help messages
Postpone check for root uuid so we can print help message.
Zdenek Kabelac [Sat, 2 Nov 2024 20:54:27 +0000 (21:54 +0100)]
tests: check strftime result
Zdenek Kabelac [Sat, 2 Nov 2024 20:57:00 +0000 (21:57 +0100)]
cov: check result of sync_local_dev_names
Although ATM this function always returns 1.
(maybe should be void)
Zdenek Kabelac [Mon, 4 Nov 2024 16:41:02 +0000 (17:41 +0100)]
lvmdiskscan: use while loop
Use more readable while() loop like in other similar instancies.
Marian Csontos [Mon, 4 Nov 2024 15:42:12 +0000 (16:42 +0100)]
post-release
Marian Csontos [Mon, 4 Nov 2024 15:42:12 +0000 (16:42 +0100)]
pre-release 2.03.28
Zdenek Kabelac [Fri, 1 Nov 2024 14:20:50 +0000 (15:20 +0100)]
gcc: fix warning about uninitialized use
get_sizes_lockspace() may not always initilize all passed values
in case the bitfield would not trigger if() path.
So just in case keep the path initilized.
TODO: maybe add INTERNAL_ERROR to get_sizes_lockspace().
David Teigland [Fri, 1 Nov 2024 15:45:34 +0000 (10:45 -0500)]
lvmlockd: remove unused vg_sysid
from structs and info dump.
Zdenek Kabelac [Fri, 1 Nov 2024 12:27:20 +0000 (13:27 +0100)]
tests: skip test on older version
Prevent crashing kernel on older systems.
Zdenek Kabelac [Fri, 1 Nov 2024 10:27:02 +0000 (11:27 +0100)]
lvmlockd: update prototype for non-lvmlockd build
Match prototype to last updates of lockd_init_lv_args().
David Teigland [Fri, 1 Nov 2024 01:29:00 +0000 (20:29 -0500)]
lvmlockd: optimize new lv lease search
When converting a VG to locktype sanlock, a new
lease is allocated for each existing lv. Finding
a new lease location involved searching the lvmlock
LV from the start for an unused location, which
would be very slow with many LVs. Improve this by
starting each search from the last used location.
David Teigland [Thu, 31 Oct 2024 21:31:35 +0000 (16:31 -0500)]
lvmlockd: fix vgchange --locktype sanlock
Fix regression from commit
7f29afdb06d
"lvmlockd: configurable sanlock lease sizes on 4K disks"
That change failed to recognize that a running lockspace will not
exist in lvmlockd when converting a local VG to a sanlock VG, i.e.
vgchange --locktype sanlock vgname. When the vgchange attempted
to initialize new lv leases for existing LVs, lvmlockd would
return an error when it found no lockspace.
Zdenek Kabelac [Thu, 31 Oct 2024 16:56:59 +0000 (17:56 +0100)]
WHATS_NEW: update
Zdenek Kabelac [Sat, 26 Oct 2024 20:37:00 +0000 (22:37 +0200)]
vg: add radix_tree for lv uuids
When searching for committed LV by uuid, this search can
be expensive for commands like 'vgremove' - so for
this part introduce 'lv_uuids' radix_tree that is
build with first access to lv_committed().
Zdenek Kabelac [Sat, 26 Oct 2024 20:18:19 +0000 (22:18 +0200)]
metadata: use radix_tree for find_lv_in_vg
Since there is a group of commands that need to access 'lv_list'
while still need to search for LV by its name, make the whole
struct lv_list a member of logical_volume structure.
This makes it easy to return also 'lv_list' this list this LV
within VG.
Also the patch should not use more memory, since we were allocating
lv_list for each LV anyway when linkin LV to VG.
Since find_lv_by_name() is now using radix_tree(),
use the same 'search for /' in LV in name for both
find_lv() & find_lv_in_vg().
TODO: Possibly refactor code and use only dm_list
instead of lv_list and dereference LV with container_of()
(thus saving pointer within struct logical_volume) - but
we use 'lv_list' currently in many places...
Zdenek Kabelac [Thu, 31 Oct 2024 13:42:16 +0000 (14:42 +0100)]
config: introduce validate_metadata
Add lvm.conf config/validate_metadata configurable setting.
Allows to disable validation of volume_group structure before
writing to disk.
Call of vg_validate() is supposed to catch any inconsistency
of in-memory volume group structure and possibly early aborting
commnand before making any more 'damage' in case the VG struct
is found insistent after some metadata manipulation.
This is almost always useful for devel - and also for normal user
as for small metadata size this doesn't add too much overhead.
However if the volume_group size is large and operations are just
adding removing simple LVs - this validation time may add noticable
to final command running time.
So if the user seeks the highest perfomance of command and does
not do any 'complex' metadata manipulation - it's reasonably safe
to disable validation (with the use of setting "none") here.
Zdenek Kabelac [Thu, 31 Oct 2024 12:53:20 +0000 (13:53 +0100)]
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 _.
Zdenek Kabelac [Wed, 30 Oct 2024 10:54:42 +0000 (11:54 +0100)]
cov: validate string with lock mode
Check the dev_mode string is not NULL before use.
Zdenek Kabelac [Wed, 30 Oct 2024 10:40:30 +0000 (11:40 +0100)]
cov: add stacktraces
Add stacktraces for unexpected paths.
Zdenek Kabelac [Wed, 30 Oct 2024 10:44:54 +0000 (11:44 +0100)]
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.
Zdenek Kabelac [Tue, 29 Oct 2024 15:33:17 +0000 (16:33 +0100)]
metadata: pahole logical_volume
Shuffle some variables to remove 'extra' alignment holes
within the structure thus making it smaller.
Zdenek Kabelac [Tue, 29 Oct 2024 17:44:55 +0000 (18:44 +0100)]
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.
Zdenek Kabelac [Tue, 29 Oct 2024 17:37:18 +0000 (18:37 +0100)]
get_alloc_string: compare only enum
Instead of possibly checking for cling_by_tags string twice,
just compare resulting alloc number from search loop.
Zdenek Kabelac [Tue, 29 Oct 2024 21:26:55 +0000 (22:26 +0100)]
toolcontext: use the striped string first
Zdenek Kabelac [Tue, 29 Oct 2024 19:25:35 +0000 (20:25 +0100)]
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.
Zdenek Kabelac [Mon, 28 Oct 2024 20:41:30 +0000 (21:41 +0100)]
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.
Zdenek Kabelac [Fri, 25 Oct 2024 21:21:13 +0000 (23:21 +0200)]
debug: missing stacktrace
Zdenek Kabelac [Mon, 28 Oct 2024 10:05:59 +0000 (11:05 +0100)]
lv_manip: init major minor in alloc_lv
Move initialization of major and minor to alloc_lv().
Zdenek Kabelac [Sun, 27 Oct 2024 22:15:24 +0000 (23:15 +0100)]
device_mapper: use static array for dm_size_to_string
Avoid copying this structure on stack with every call.
Zdenek Kabelac [Fri, 25 Oct 2024 19:26:30 +0000 (21:26 +0200)]
tests: add reproducer for failing raid5 activation
For now use 'should' to mark this 'known' failure.
This case needs solution.
Zdenek Kabelac [Fri, 25 Oct 2024 17:55:13 +0000 (19:55 +0200)]
tests: flip to use FSLASTBLOCK
It seems FSSIZE is newer then FSLASTBLOCK so use this one instead.
Zdenek Kabelac [Fri, 25 Oct 2024 14:43:42 +0000 (16:43 +0200)]
tests: correcting expected return code
Expecting success when using with '-r'.
Heinz Mauelshagen [Fri, 25 Oct 2024 20:03:18 +0000 (22:03 +0200)]
man: lvchange update about --syncaction being transient
Zdenek Kabelac [Fri, 25 Oct 2024 13:05:16 +0000 (15:05 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Fri, 25 Oct 2024 12:01:11 +0000 (14:01 +0200)]
lvmlockd: fix incorrect function definition
In commit
7f29afdb06d9f3420b3d2174d6ed4c55a58ac706 this function
was added with misplaced ';'.
Zdenek Kabelac [Fri, 25 Oct 2024 12:47:40 +0000 (14:47 +0200)]
tests: add test to resize to same size
Check that 'lvresize/extend -r' resizing to the same size is
doing the fs resize.
Zdenek Kabelac [Fri, 25 Oct 2024 12:44:50 +0000 (14:44 +0200)]
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).
Peter Rajnoha [Fri, 25 Oct 2024 11:21:50 +0000 (13:21 +0200)]
tests: lvresize-fs: check blkid version for lvresize with swap test
Peter Rajnoha [Fri, 25 Oct 2024 10:47:26 +0000 (12:47 +0200)]
dev-type: update comment about swap info from blkid
Zdenek Kabelac [Thu, 24 Oct 2024 22:21:49 +0000 (00:21 +0200)]
clang: close file on memory alloc error path
Zdenek Kabelac [Thu, 24 Oct 2024 22:17:25 +0000 (00:17 +0200)]
clang: check for dirfd result
Zdenek Kabelac [Thu, 24 Oct 2024 22:14:09 +0000 (00:14 +0200)]
clang: check segment lv is defined
Zdenek Kabelac [Thu, 24 Oct 2024 22:07:16 +0000 (00:07 +0200)]
clang: ensure pointer is defined
Check for new_segtype and lv is defined
before dereferencing.
Zdenek Kabelac [Thu, 24 Oct 2024 21:26:19 +0000 (23:26 +0200)]
cov: use 64bit arithmentic
Zdenek Kabelac [Thu, 24 Oct 2024 21:04:54 +0000 (23:04 +0200)]
cov: ensure detached_log_lv exists before use
Zdenek Kabelac [Thu, 24 Oct 2024 23:19:21 +0000 (01:19 +0200)]
debug: use major:minor
Print major:minor as in other places.
Zdenek Kabelac [Thu, 24 Oct 2024 21:26:53 +0000 (23:26 +0200)]
device_id: close only opened dir
After more of opendir, make sure 'dir' is closed
only when it's been opened.
Zdenek Kabelac [Thu, 24 Oct 2024 21:00:44 +0000 (23:00 +0200)]
metadata: check for mda_device existance
Zdenek Kabelac [Thu, 24 Oct 2024 20:55:24 +0000 (22:55 +0200)]
dev-cache: ensure list has elements
When updating DM cache, check whether the list even has entries
before comparing it with old cached instance.
Zdenek Kabelac [Thu, 24 Oct 2024 20:41:00 +0000 (22:41 +0200)]
metadata: fallback search without radix_tree
If we use some dummy vg struct, allow fallback
plain dm_list search.
Zdenek Kabelac [Thu, 24 Oct 2024 20:38:56 +0000 (22:38 +0200)]
device_mapper: add omitted error message
Zdenek Kabelac [Thu, 24 Oct 2024 20:38:14 +0000 (22:38 +0200)]
device_mapper: check for pv before use in error msg
David Teigland [Thu, 24 Oct 2024 22:13:33 +0000 (17:13 -0500)]
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.
Zdenek Kabelac [Thu, 24 Oct 2024 19:23:40 +0000 (21:23 +0200)]
WHATS_NEW: update
long.yunjian@zte.com.cn [Wed, 16 Oct 2024 02:16:27 +0000 (10:16 +0800)]
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
Zdenek Kabelac [Thu, 24 Oct 2024 18:31:38 +0000 (20:31 +0200)]
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.
Zdenek Kabelac [Thu, 24 Oct 2024 19:19:01 +0000 (21:19 +0200)]
devicesfile: move opendir after fclose
Call opendir() after new file is stored within dir,
otherwise this new file would not accounted.
Zdenek Kabelac [Thu, 24 Oct 2024 19:00:52 +0000 (21:00 +0200)]
metadata: missed lv_set_name users
Missed when introduced lv_set_name().
Zdenek Kabelac [Thu, 24 Oct 2024 17:43:10 +0000 (19:43 +0200)]
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.
Zdenek Kabelac [Thu, 24 Oct 2024 15:28:31 +0000 (17:28 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Thu, 24 Oct 2024 14:12:18 +0000 (16:12 +0200)]
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.
Zdenek Kabelac [Sat, 12 Oct 2024 19:58:14 +0000 (21:58 +0200)]
revert "metadata: use lv_hash in segment-specific metadata parsing"
This reverts commit
f42aef47064fcc3fa8f78beea9e9b7e7c028e123.
Going to replace dm_hash with radix_tree and use 'find_lv()'
to abstract lookup for LV with VG.
Zdenek Kabelac [Mon, 21 Oct 2024 11:11:28 +0000 (13:11 +0200)]
metadata: use lv_set_name for raid and mirror
Use lv_set_name API also for raid and mirror LV manipulation.
Zdenek Kabelac [Thu, 24 Oct 2024 14:05:28 +0000 (16:05 +0200)]
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.
Zdenek Kabelac [Thu, 24 Oct 2024 09:54:41 +0000 (11:54 +0200)]
check_pv_segments: resolve pv name once
Zdenek Kabelac [Thu, 24 Oct 2024 09:54:05 +0000 (11:54 +0200)]
log: postpone some initialization
Clear buffers when really logging.
Zdenek Kabelac [Thu, 24 Oct 2024 14:11:51 +0000 (16:11 +0200)]
lv_manip: remove duplicate check for max lv
This check is always performed with call to link_lv_to_vg().
This page took 0.104018 seconds and 5 git commands to generate.