]>
sourceware.org Git - lvm2.git/log
Zdenek Kabelac [Sun, 12 May 2024 13:39:18 +0000 (15:39 +0200)]
command: refactor code for simplier lookup
We can more efficiently use command_name struct to
lookup for lvm_command_enum and avoid many repeated
command name searches since we already know
the enum index that is now stored in 'struct command'.
Zdenek Kabelac [Sun, 12 May 2024 10:04:54 +0000 (12:04 +0200)]
lvmcmdline: use strcut as const
Constity members in cmdline_context, would be nice, to replace
this static struct with couple function calls.
Also replace some 'while' loops with for loops, so code
is more readable.
Zdenek Kabelac [Sun, 12 May 2024 08:17:11 +0000 (10:17 +0200)]
command: return if already factored
We can directly return here, when we spot already counted varitants.
Zdenek Kabelac [Sat, 11 May 2024 23:14:14 +0000 (01:14 +0200)]
command: refactor struct command_name
Split struct command_name to the constant part (keep the name)
and new 'struct command_name_args' which holds runtime computed
info. To get to the _args part - we can easily use
lvm_command_enum as equivalent index.
Constified part 'struct command_name' is now fully stored
in .data.rel.ro segment, while command_name_args part goes
to .bss segment.
Code will be further reduced with next refactoring.
Zdenek Kabelac [Sat, 11 May 2024 20:27:36 +0000 (22:27 +0200)]
command: better const usage for struct cmd_name
No need to store _CMD string - as it's not used anywhere.
Use LVM_COMMAND_COUNT as end of array.
Zdenek Kabelac [Sat, 11 May 2024 20:00:42 +0000 (22:00 +0200)]
command: reduce struct size
Reduce memory usage for parser.
If the sizes would need to be bigger, man-generator warns.
For struct command_name use just uint8_t to keep 1|0.
Zdenek Kabelac [Sat, 11 May 2024 19:59:48 +0000 (21:59 +0200)]
command: no need to duplicate const mem
No need to duplicate const char* here as
we refer already constant string in .rodata segment.
Zdenek Kabelac [Fri, 10 May 2024 22:42:49 +0000 (00:42 +0200)]
command: futher move to single struct
Refactor code to not allocate memory for rule->opts,
instead use uint16_t array of MAX_RULE_OPTS within cmd_rule.
Also print more info if array would not be enough (>= 8).
Zdenek Kabelac [Fri, 10 May 2024 20:04:06 +0000 (22:04 +0200)]
tests: check vg fields with one command
Zdenek Kabelac [Fri, 10 May 2024 19:42:00 +0000 (21:42 +0200)]
tests: keep more LVs inactive
Zdenek Kabelac [Fri, 10 May 2024 19:41:13 +0000 (21:41 +0200)]
tests: mask result from kill command
Zdenek Kabelac [Fri, 10 May 2024 15:48:47 +0000 (17:48 +0200)]
tests: wait for running dmeventd
Add slight delay for waiting until 'started' dmeventd is
responsing to other 'dmeventd -i' command.
TODO: race observed here is somewhat unclear, might need some more
details
Zdenek Kabelac [Fri, 10 May 2024 15:36:48 +0000 (17:36 +0200)]
tests: kill process in flock group
There is no reason to wait for 10sec when removing 'vg' at test
exit - we just need to kill 'sleep 10' process forked from flock.
(Not using 'flock -F' as this flag is not across all machines used
for testing)
Zdenek Kabelac [Fri, 10 May 2024 15:35:07 +0000 (17:35 +0200)]
tests: skip test on systems without delay_dev
On such systems this test only sleeps for 30sec.
Zdenek Kabelac [Fri, 10 May 2024 11:53:11 +0000 (13:53 +0200)]
libdm: reapply "fix condition"
This reverts commit
d16a8f80e9dd21d97b10056858a21b7e8fbd8c94 .
So the correction was OK, however we missed to fix also
cut&paste bug here - as the second check should be
actually checking field->type.
Zdenek Kabelac [Thu, 9 May 2024 23:08:55 +0000 (01:08 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Thu, 9 May 2024 12:16:07 +0000 (14:16 +0200)]
make: generate
Zdenek Kabelac [Thu, 9 May 2024 22:24:23 +0000 (00:24 +0200)]
tests: vdo conversion updates
Zdenek Kabelac [Thu, 9 May 2024 12:05:24 +0000 (14:05 +0200)]
commands: move tabs to eol
Make the source code a bit easier to read.
Zdenek Kabelac [Thu, 9 May 2024 12:15:45 +0000 (14:15 +0200)]
commands: enable more options for vdo conversion
Update definitions to add support for some more VDO options
when converting volumes to be used as thin-pool with vdo data volume.
Split some option in existing OO_LVCONVERT_VDO to OO_LVCONVERT_VDO_POOL
and reused then with OO_LVCONVERT_THINPOOL.
Zdenek Kabelac [Thu, 9 May 2024 22:26:29 +0000 (00:26 +0200)]
lvconvert: vdo support conversion options
When convert already existing vdopool to be used as
thin-pool backend and user is passinng option for VDO configuration
process them - as we know converted LV is offline, we can do such
change easily instead of telling user to run separate lvchange later.
Zdenek Kabelac [Thu, 9 May 2024 22:25:39 +0000 (00:25 +0200)]
lvconvert: vdo control for signature wiping
When converting volumes to be used for thin-pool with VDO, allow
users to control wipesingature behaviour.
By default volumes should be checked against signature, and if
they are present, we promt user whether he wants to process with
conversion and lose i.e. filesystem present on such volume.
Users that want to bypass prompt in script can use either --yes
or they can disable wipe signature -Wn.
David Teigland [Wed, 8 May 2024 15:29:22 +0000 (10:29 -0500)]
man: lvmthin more extend options
Zdenek Kabelac [Wed, 8 May 2024 14:02:44 +0000 (16:02 +0200)]
tests: runner updates line with last timestamp
Zdenek Kabelac [Wed, 8 May 2024 12:24:21 +0000 (14:24 +0200)]
clean: use struct initializer
Zdenek Kabelac [Wed, 8 May 2024 12:35:20 +0000 (14:35 +0200)]
dmsetup: const string_args array
Convert _string_args to const char*.
Do not modify options read from getopt().
Zdenek Kabelac [Wed, 8 May 2024 12:19:17 +0000 (14:19 +0200)]
dmsetup: use tab for indent
Use \t for help indention.
Zdenek Kabelac [Wed, 8 May 2024 12:14:27 +0000 (14:14 +0200)]
dmsetup: more const strings
More strings into .rodata segment.
Zdenek Kabelac [Wed, 8 May 2024 12:04:12 +0000 (14:04 +0200)]
dmsetup: reduce parser code
Switch set upfront.
Only add code, which is not common for every switch.
Use just 16bit for switch counting.
Zdenek Kabelac [Wed, 8 May 2024 07:54:30 +0000 (09:54 +0200)]
libdm: fix invalid conversion
Previous commit missed to also add one to added 'len'.
Zdenek Kabelac [Wed, 8 May 2024 07:36:39 +0000 (09:36 +0200)]
libdm: stats uses overflowing counter
Here we need to annotate counter as it starts with UINT64_MAX
and overflows to 0 is expected.
Zdenek Kabelac [Tue, 7 May 2024 23:15:33 +0000 (01:15 +0200)]
clenaup: update local static with _
Zdenek Kabelac [Tue, 7 May 2024 20:06:35 +0000 (22:06 +0200)]
const: tests
Zdenek Kabelac [Mon, 6 May 2024 21:56:47 +0000 (23:56 +0200)]
man-generator: remove unused declarations
Zdenek Kabelac [Tue, 7 May 2024 13:25:32 +0000 (15:25 +0200)]
cov: remove dead code
Zdenek Kabelac [Tue, 7 May 2024 13:21:19 +0000 (15:21 +0200)]
cov: eliminate dead code
Deduplicate code and also drop some warn about dead code.
Zdenek Kabelac [Tue, 7 May 2024 12:48:55 +0000 (14:48 +0200)]
cov: avoid TOCTOU
Use just opendir() call and produce error message from errno state.
Zdenek Kabelac [Tue, 7 May 2024 15:19:55 +0000 (17:19 +0200)]
cov: enum mapping cache format
Cleanly map cache metadata format enumeration.
Zdenek Kabelac [Tue, 7 May 2024 14:33:03 +0000 (16:33 +0200)]
cov: enum health status
Cleanly map health char status to enum.
Zdenek Kabelac [Tue, 7 May 2024 14:27:08 +0000 (16:27 +0200)]
cov: enum matching type
Zdenek Kabelac [Tue, 7 May 2024 11:58:21 +0000 (13:58 +0200)]
cov: enum correct prototype
Cleanup enum usage.
Zdenek Kabelac [Tue, 7 May 2024 11:38:10 +0000 (13:38 +0200)]
cov: cast to matching prototype
Match function prototype with casting.
Zdenek Kabelac [Tue, 7 May 2024 11:24:01 +0000 (13:24 +0200)]
cov: check for overlow math
Add some extre protection to avoid integer overflow type of problems.
Zdenek Kabelac [Mon, 6 May 2024 21:59:59 +0000 (23:59 +0200)]
cov: annotate to silent some coverity warning
Zdenek Kabelac [Mon, 6 May 2024 20:46:09 +0000 (22:46 +0200)]
cov: use literal for printf
Use literal for printf and just empty string if needed.
Zdenek Kabelac [Mon, 6 May 2024 20:41:58 +0000 (22:41 +0200)]
cov: use literal for printf format
Prepare suffix ahead and use literal for printf().
Zdenek Kabelac [Tue, 7 May 2024 22:00:28 +0000 (00:00 +0200)]
cov: sanitize input buffer
Make coverity aware the input line is legit.
Eventually add more sanitize functionality.
Zdenek Kabelac [Mon, 6 May 2024 20:26:31 +0000 (22:26 +0200)]
cov: sanitize string for file path
Zdenek Kabelac [Sat, 4 May 2024 21:07:45 +0000 (23:07 +0200)]
cov: wrap pvck call
Resolve reported leak by renaming existing pckk() to pvck_mf()
and wrapping pvck() over this. This function can easily
free allocated buffer within the subfunction.
Zdenek Kabelac [Sat, 4 May 2024 20:31:21 +0000 (22:31 +0200)]
cov: strcpy mempcy
Zdenek Kabelac [Sat, 4 May 2024 20:00:51 +0000 (22:00 +0200)]
cov: replace strcat with safe snprintf
Zdenek Kabelac [Sat, 4 May 2024 19:56:34 +0000 (21:56 +0200)]
cov: replace strcpy with memcpy
Zdenek Kabelac [Sat, 4 May 2024 19:14:41 +0000 (21:14 +0200)]
cov: use sscanf buffer size limits
String parsing with buffer size limit.
Zdenek Kabelac [Sat, 4 May 2024 10:38:13 +0000 (12:38 +0200)]
cov: check for valid raid0 LV segment
Add internal error to quiet Coverity fear of NULL pointer deref.
Zdenek Kabelac [Sat, 4 May 2024 18:30:10 +0000 (20:30 +0200)]
raid: easier prompt message
Use printf capability of 'prompt()' funtions so use literal
when building this message.
Zdenek Kabelac [Sat, 4 May 2024 10:25:36 +0000 (12:25 +0200)]
lvmlockd-dlm: log_error message with literal
Use literals for printf() message construction.
Zdenek Kabelac [Tue, 7 May 2024 20:34:17 +0000 (22:34 +0200)]
libdm: unlink checks for ENOENT
Zdenek Kabelac [Sat, 4 May 2024 09:30:50 +0000 (11:30 +0200)]
libdm: use literal for error message
Use literals for printf messages.
Zdenek Kabelac [Tue, 7 May 2024 18:41:40 +0000 (20:41 +0200)]
const: daemon server logging backend struct
Zdenek Kabelac [Tue, 7 May 2024 14:55:24 +0000 (16:55 +0200)]
const: lvmpolld long_options
Rework usage of long_options so it can be constified,
and also correct use of 'enum action_index'.
Zdenek Kabelac [Sat, 4 May 2024 09:25:58 +0000 (11:25 +0200)]
const: rework conversion to enum
Easier code with string and also avoids mixing enums.
Zdenek Kabelac [Sat, 4 May 2024 09:17:29 +0000 (11:17 +0200)]
const: array of const values
Zdenek Kabelac [Sat, 4 May 2024 09:10:10 +0000 (11:10 +0200)]
const: libdm err_fmt as string
David Teigland [Mon, 6 May 2024 17:01:52 +0000 (12:01 -0500)]
man: lvmthin update
major refresh of text and organization
Zdenek Kabelac [Fri, 3 May 2024 23:53:54 +0000 (01:53 +0200)]
dmsetup: fix invalid loop test
Last patcheds had incorrect merging bug - fix loop test.
Zdenek Kabelac [Fri, 3 May 2024 23:37:51 +0000 (01:37 +0200)]
Revert "libdm: fix condition"
This reverts commit
2a1e200f7af3d4c52afbb4627c8cf87f98baa71e .
Breaks some test - more analysis is needed.
Zdenek Kabelac [Fri, 3 May 2024 22:49:51 +0000 (00:49 +0200)]
WHATS_NEW: update
Zdenek Kabelac [Fri, 3 May 2024 22:47:06 +0000 (00:47 +0200)]
make: generate
Update for --wipesignatures for lvconvert.
Zdenek Kabelac [Fri, 3 May 2024 20:44:06 +0000 (22:44 +0200)]
dmsetup: use getopt defines
Replace 0/1 with getopts defines no/required_argument
Zdenek Kabelac [Fri, 3 May 2024 19:28:34 +0000 (21:28 +0200)]
const: dmsetup long_options
Zdenek Kabelac [Fri, 3 May 2024 15:12:23 +0000 (17:12 +0200)]
const: dmsetup string
Zdenek Kabelac [Fri, 3 May 2024 18:24:29 +0000 (20:24 +0200)]
const: cmirrord array
Zdenek Kabelac [Fri, 3 May 2024 18:17:39 +0000 (20:17 +0200)]
const: lvmlockctl options
Zdenek Kabelac [Fri, 3 May 2024 15:36:18 +0000 (17:36 +0200)]
const: dmfilemapd strings
Zdenek Kabelac [Fri, 3 May 2024 14:37:27 +0000 (16:37 +0200)]
const: array for _vdo_split
Zdenek Kabelac [Fri, 3 May 2024 13:39:32 +0000 (15:39 +0200)]
const: report_name
Zdenek Kabelac [Fri, 3 May 2024 13:18:46 +0000 (15:18 +0200)]
const: use common error path
Instead of defining _field_selection_value_alloc_failed_msg[],
use common error path code for printing field_id.
Zdenek Kabelac [Fri, 3 May 2024 12:16:39 +0000 (14:16 +0200)]
const: log level string
Zdenek Kabelac [Fri, 3 May 2024 12:28:58 +0000 (14:28 +0200)]
const: libdm cmd_data_v4
Zdenek Kabelac [Fri, 3 May 2024 10:58:40 +0000 (12:58 +0200)]
const: libdm tok_op
Zdenek Kabelac [Fri, 3 May 2024 10:43:14 +0000 (12:43 +0200)]
const: suffixes list
dm_tree_set_optional_uuid_suffixes() is safe to use with overcasted
array to (const char**)
Zdenek Kabelac [Fri, 3 May 2024 10:38:39 +0000 (12:38 +0200)]
const: suffixes
Zdenek Kabelac [Fri, 3 May 2024 10:24:02 +0000 (12:24 +0200)]
const: _reserved
Zdenek Kabelac [Fri, 3 May 2024 10:50:18 +0000 (12:50 +0200)]
const: use arrays of strings 2
Next set of changes.
Zdenek Kabelac [Fri, 3 May 2024 22:25:33 +0000 (00:25 +0200)]
const: use arrays of strings
Such string is stored directly in '.rodata' section.
Zdenek Kabelac [Fri, 3 May 2024 17:43:21 +0000 (19:43 +0200)]
const: drop static keyword
We don't need relocatable space to store 'const' number.
Zdenek Kabelac [Fri, 3 May 2024 17:43:33 +0000 (19:43 +0200)]
const: static array
Such array can be stored in .rodata section.
Zdenek Kabelac [Fri, 3 May 2024 22:25:48 +0000 (00:25 +0200)]
const: config items
Zdenek Kabelac [Fri, 3 May 2024 09:35:38 +0000 (11:35 +0200)]
const: raid takover arrays
Zdenek Kabelac [Fri, 3 May 2024 12:01:59 +0000 (14:01 +0200)]
const: _fns poll_function
Zdenek Kabelac [Fri, 3 May 2024 12:43:22 +0000 (14:43 +0200)]
const: _ops text_vg_version
Zdenek Kabelac [Fri, 3 May 2024 13:41:02 +0000 (15:41 +0200)]
const: _ops labeler _text_ops
Zdenek Kabelac [Fri, 3 May 2024 09:59:05 +0000 (11:59 +0200)]
const: _ops segtype handler
Zdenek Kabelac [Thu, 2 May 2024 18:52:40 +0000 (20:52 +0200)]
const: _ops text handler
Making sure these structures ends in '.data.rel.ro' section.
(instead of plain '.data' section).
Zdenek Kabelac [Fri, 3 May 2024 19:50:38 +0000 (21:50 +0200)]
libdm: fix condition
When we switch supported_reserved_types_with_range to const
gcc repots this problem:
warning: ‘and’ of mutually exclusive equal-tests is always 0
!(iter->type & supported_reserved_types_with_range))) {
It's not clear from the history what was the actual intention of this
internal error test, let's assume the check wanted to make sure
that when DM_REPORT_FIELD_RESERVED_VALUE_RANGE is set,
some other fields from supported_reserved_types_with_range set
are also selected.
Zdenek Kabelac [Fri, 3 May 2024 21:05:40 +0000 (23:05 +0200)]
libdm: ensure suffixes list elements are const
This was rather API mistake - the internal of libdm
do handle suffixes list as const string, just the API
was only using 'const char **'.
So the user may pass safely casted 'const char * const`.
Zdenek Kabelac [Fri, 3 May 2024 22:46:45 +0000 (00:46 +0200)]
lvonvert: support control over wipingsignature
When converting volume to a thin-pool allow control over
signature wiping.
TODO: likely should become more commonly supported option...
Zdenek Kabelac [Fri, 3 May 2024 19:12:45 +0000 (21:12 +0200)]
vdo: enhance error path
When the conversion to VDO fails, try to restore previous VG state
and also remove orphan DM node from table.
Zdenek Kabelac [Fri, 3 May 2024 14:16:16 +0000 (16:16 +0200)]
lvcreate: --yes option for thin-pool vdo creation
Correct typo and accept proper --yes option instead
of misplaced --force option.
Zdenek Kabelac [Thu, 2 May 2024 11:18:08 +0000 (13:18 +0200)]
command: correct lvresize
Code for supporting size reduction of pool metadata is not yet present
so don't pretend the option can work as pushed in previous commit.
This page took 0.072725 seconds and 5 git commands to generate.