1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
Commit Graph

18748 Commits

Author SHA1 Message Date
Zdenek Kabelac
984c024ef2 typos: misc 2023-09-19 14:54:51 +02:00
Zdenek Kabelac
c7c51329f4 tests: check pvmove with raid legs
Check pvmove correctly handles raid legs on input
(testing previous pvmove fix).
2023-09-19 14:54:51 +02:00
Zdenek Kabelac
e2f29c4989 pvmove: fix building sibling raid lv name
Make a local copy of the 'idx' string to avoid
overlapping during the rebuild of name.

This fixes cases where users specified raid
component LVs for moving.

Reported-by: kotarou3@github.com
2023-09-19 14:47:27 +02:00
Zdenek Kabelac
970e4d295e tests: add fsck after split 2023-09-14 10:08:26 +02:00
Zdenek Kabelac
f5781144ab vdo: typo fix
Argh - lastmin mods...
2023-09-14 10:01:43 +02:00
Zdenek Kabelac
9d7061f1a3 tests: skip test when lvmdbusd runs on the system
lvmdbusd changes $RUNDIR results.
2023-09-14 01:45:34 +02:00
Zdenek Kabelac
f9d17f1f6d tests: update for work in fake dev environment
No write outside of $LVM_TEST_DIR  (removed /test access).
Use 'aux prepare_scsi_debug_dev' for automated scsi_debug handling
Properly use "" around shell vars.
Smarter read of PVS values.
Relax requirement to only work with real /dev dir.
2023-09-14 01:45:34 +02:00
Zdenek Kabelac
fac2e07333 tests: enforce full fs check 2023-09-14 01:45:34 +02:00
Zdenek Kabelac
fba81cf3e9 tests: pvmove large disk area
With some faster test hw machine we need to make this test
a bit more resource consuming.
2023-09-14 01:45:34 +02:00
Zdenek Kabelac
738c4b84fb tests: missing to check for writecache support
Ono more case requires writecache presence.
2023-09-14 01:45:34 +02:00
Zdenek Kabelac
de4cb219fb tests: aux using singl lvmconf call
lvmconf can handle multiple options in a single pass.
2023-09-14 01:45:34 +02:00
Zdenek Kabelac
4276c703c5 tests: aux try with extra sleep
Since udev_wait is not really adding any major delay to wait
for any udev worker processing - add extra sleep .1.
2023-09-14 01:45:34 +02:00
Zdenek Kabelac
f968833570 vdo: avoid using of valuesonly
To retain backward compatibility with some older version of lvm
avoid using --valuesonly option with lvmconfig.
2023-09-14 01:44:27 +02:00
Zdenek Kabelac
1885655e9a test: improve aux teardown
Handle the case of device teardown where the first pass
could have only a single, but opened device, for removal.
In such case we want to at least once go through
the udev_wait and retry removal again.

TODO: maybe a sleep .1  might be usable as well with udev_wait
2023-09-13 13:38:15 +02:00
Zdenek Kabelac
e75ac1b4c0 gcc: warning: missing braces around initializer
Fix warning emitted by some older gcc...
2023-09-13 13:38:15 +02:00
Zdenek Kabelac
e1cfc075c2 vdo: better support for devicesfile
Instead of relying on 'pvs' output - check directly system
configuation and use lvmdevice accrording to use_devicesfile setting.

Also drop use of --fs ignore for filesystem extension for better
backward compatibility with older lvm version.

Shuffle code a bit so the '--no-snapshot' path does not execute
a few unnecessary commands.
2023-09-13 13:38:15 +02:00
Zdenek Kabelac
8cbfd72f68 WHATS_NEW: updates 2023-09-12 14:44:32 +02:00
Mikulas Patocka
ab73ad4e5f gcc: fix warnings for x32 architecture
Warning from x32 ABI compilation.
2023-09-12 14:41:22 +02:00
Zdenek Kabelac
b1b60887f0 debug: missing dots 2023-09-12 14:39:14 +02:00
Zdenek Kabelac
d9cebeaf34 vdo: lvm_import_vdo enhancements
Work also with devices that may have ':' inside their generated
/dev/disk/by-id

Ensure there is no race with systems' auto activation while using
the snapshot for conversion.

Update system's vdoconf.yml after the use of snapshot for conversion.

Skip unnecesary prompt for 'convert' while using snapshot and query only
for final snaphot merge.

Prohibit conversion for a device with the PV header.

Enhance 'trap' protection for more signals.

Improve clean() recovery path.

Replace bash 'test' command with [].

Correct some output message to print $TOOL.

Support also options without '-' in the middle i.e. --nosnapshot.

For shellcheck predefine all variables extracted from vdoconf.yml.
2023-09-12 14:30:48 +02:00
David Teigland
fa49651301 lvresize: fix 32 bit overflow in size calculation 2023-09-11 12:18:12 -05:00
Zdenek Kabelac
2eb34edeba make: generate 2023-09-04 18:52:02 +02:00
Zdenek Kabelac
5a44135233 tests: disable logging for lvmdbusd
Since lvmdbusd testing tends to do its own logging,
try for now to disable very generic logging mechnanism
of the test suite and see the result.

Some lvmdbusd test seems to rely on some log/file logic
which is modified with the use of these shell vars.
2023-09-04 18:52:02 +02:00
Zdenek Kabelac
2b8b51291f tests: check for writecache
Writecache needs writecache kernel target to be present.
2023-09-04 18:52:02 +02:00
Zdenek Kabelac
cc8178e911 tests: check for binaries
vdo wrapper tool uses some 'locally installed' binaries
for vdoformat and vdoprepareforlvm
Chech for their presence.

Skip this test with lvmlockd.
2023-09-04 17:48:41 +02:00
Zdenek Kabelac
e9eeb84040 WHATS_NEW: update 2023-09-03 22:51:22 +02:00
Zdenek Kabelac
86cf593e87 tests: vdo scsi convert
Somewhat tricky test to check VDO import of a SCSI device.
2023-09-03 22:44:08 +02:00
Zdenek Kabelac
b85f9c183c tests: vdo convert
Require VDO version 6.2.3.

Skip the part of the test that needs vdo wrapper and 2 different
versions of vdoprepareforlvm to prepare shifted VDO header
at the 2MiB offset.
2023-09-03 22:33:11 +02:00
Zdenek Kabelac
39f312108d tests: check passing PV list 2023-09-03 22:33:11 +02:00
Zdenek Kabelac
06464f7cfc tests: vdo wrapper support symlinks
Enhance internal VDO replacement wrapper script to handle symlinks
for i.e. SCSI device like VDO manager.
2023-09-03 22:33:11 +02:00
Zdenek Kabelac
9087ace2af aux: teardown also devices with testing UUID
Hunt also for devices with LVMTEST prefix in UUID.

Call teardown_devs_prefixed - so if they hold RAM or SCSI
they are closed before trying to remove kernel modules.
2023-09-03 22:15:48 +02:00
Zdenek Kabelac
d34d1f0173 debug: trace result failure 2023-09-03 22:03:33 +02:00
Zdenek Kabelac
670d982568 debug: drop stack from regular path 2023-09-03 22:03:33 +02:00
Zdenek Kabelac
97770d5aeb debug: check for syscalls
Add some debug checks for possibly failing syscalls.
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
a48847269a clang: ensure all variables intialized
Just in case of some wierd kernel bug, which would forget
to report these values...
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
6a0e54f84f clang: ensure status is initilized
Initialize status before handling error path.
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
cb61d2294a filesystem: move stat after open check
To avoid time-of-check-time-of-use clash, take the stat()
after successful open with fstat().
Also add some debugs for failing sys calls.
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
29630b2d7f dmeventd: move var set to locked section
It should not change the actual code flow, however make the
set of the current_event variable inside locked section.
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
aa7f2ac954 lvconvert: thin conversion accept passed PVs
When creating thin pool or check pool there is allocated LV
for metadata and for such allocation user should be able to
specify list of PVs on cmdline.

Also fix unused passed list of PV for thick to thin conversion,
where the code was using whole PV set from a VG (but since it's
been not enabled on cmdline, user could not hit this issue).
Also remove unneeded initialization of use_pvh.
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
c693aa8dac vdo: enhance import script for devices file
When the import is used on a system, that uses devices file,
the final activation was impossible for the case the converted
volume was not present in devices file.
Currently add volume automatically in such case.

Also add some more debugging output from the script.

TODO: Consider enhnacing lvconvert with extending devices file.
2023-09-03 22:03:33 +02:00
Zdenek Kabelac
b81835b5ca vdo: lvm_import_vdo uses devname from vdoconf.yml
VDO is using specific path for some device paths.
i.e. for /dev/sda it could be /dev/disk/by-id/scsi-xxxxx.

This used to be not a problem before lvm2 started to use snapshot,
but now it needs to replace matching device path.
So switch to the path naming used in vdoconf.yml file.
2023-09-03 16:01:07 +02:00
David Teigland
c37416b6aa lvmlockd: client mutex ordering
Avoid deadlock between threads on mutexes (in theory.)
2023-08-31 13:15:07 -05:00
wangzhiqiang
65d23a1d75 vgchange: acquire an exclusive VG lock for refresh
Concurrent vgchange --refresh commands can lead to hung
tasks in dm code.

Signed-off-by: wangzhiqiang <wangzhiqiang95@huawei.com>
2023-08-30 15:47:42 -05:00
Peter Rajnoha
092f58a762
man: dmsetup: document --headings 2023-08-30 18:37:18 +02:00
Peter Rajnoha
1f02c5f2e4
tests: add shell/report-headings.sh 2023-08-28 15:44:58 +02:00
Peter Rajnoha
2ab2da5e02
man: update lvmreport man page about report/headings and --headings 2023-08-28 15:44:58 +02:00
Peter Rajnoha
5a6d1369f6
make: generate 2023-08-28 15:44:58 +02:00
Peter Rajnoha
5a1248f1d4
dmsetup: support printing full column names in report headings
Add '--headings none|abbrev|full|0|1|2' command line option to select
the heading type.

  none|0   - no headings
  abbrev|1 - column name abbreviations
  full|2   - full column names (column names are equal to exact names
             that -o|--options also accepts to set report output)
2023-08-28 15:44:57 +02:00
Peter Rajnoha
14d0a9eef6
report: support printing full column names in report headings
Reuse existing report/headings config setting to make it possible to
change the type of headings to display:
  0 - no headings
  1 - column name abbreviations (default and original functionality)
  2 - full column names (column names are equal to exact names that
      -o|--options also accepts to set report output)

Also, add '--headings none|abbrev|full|0|1|2' command line option
so we are able to select the heading type for each LVM reporting
command directly.
2023-08-28 15:44:57 +02:00
Peter Rajnoha
12b60e7c25
libdm: report: support reporting field IDs in headings
Add new DM_REPORT_OUTPUT_FIELD_IDS_IN_HEADINGS report output flag.
If enabled, column IDs are reported instead of column names in report
headings.

The 'column IDs' are IDs as found in 'const struct dm_report_field_type *fields'
array that is passed during report initialization (that is, a call to
dm_report_init/dm_report_init_with_selection). In this case, the 'id'
dm_report_field_type member is used instead of the 'heading' member.
2023-08-28 15:44:57 +02:00