]> sourceware.org Git - lvm2.git/log
lvm2.git
3 years agothin: remove unneeded code test
Zdenek Kabelac [Sun, 27 Sep 2020 00:20:50 +0000 (02:20 +0200)]
thin: remove unneeded code test

Since we detect already transaction if before starting
to build dm tree - this extra check is a duplicate
that would only capture very tiny 'race' and we later
validate transaction_id with suspended snapshot origin.

3 years agothin: validate thin-pool state before sending messages
Zdenek Kabelac [Mon, 28 Sep 2020 21:12:48 +0000 (23:12 +0200)]
thin: validate thin-pool state before sending messages

Alhtough lvm2 does validation on its side, ensure DM code
is not sending messages to failed thin pool.

3 years agothin: use lv_status_thin and lv_status_thin_pool
Zdenek Kabelac [Sat, 26 Sep 2020 23:11:47 +0000 (01:11 +0200)]
thin: use lv_status_thin and lv_status_thin_pool

Introduce structures lv_status_thin_pool and
lv_status_thin  (pair to lv_status_cache, lv_status_vdo)

Convert lv_thin_percent() -> lv_thin_status()
and  lv_thin_pool_percent() + lv_thin_pool_transaction_id() ->
lv_thin_pool_status().

This way a function user can see not only percentages, but also
other important status info about thin-pool.

TODO:
This patch tries to not change too many other things,
but pool_below_threshold() now uses new thin-pool info to return
failure if thin-pool cannot be actually modified.
This should be handle separately in a better way.

3 years agowritecache: archive before modification of metadata
Zdenek Kabelac [Mon, 28 Sep 2020 17:17:54 +0000 (19:17 +0200)]
writecache: archive before modification of metadata

Archive before we start to modify metadata.

3 years agocleanup: avoid unneeded check
Zdenek Kabelac [Sat, 26 Sep 2020 17:32:52 +0000 (19:32 +0200)]
cleanup: avoid unneeded check

Since creation of thin snapshot already makes sure,
the message list is empty, there is no need to check
this again.

3 years agoactivation: move locking of critical section
Zdenek Kabelac [Sat, 26 Sep 2020 12:56:44 +0000 (14:56 +0200)]
activation: move locking of critical section

Move begining of 'suspending' critical section closer to _lv_suspend_lv()
for better correctness of error paths.

3 years agoconfigure: update help
Zdenek Kabelac [Mon, 28 Sep 2020 16:51:32 +0000 (18:51 +0200)]
configure: update help

Help shows new defaults.

3 years agoconfigure: editline updates
Zdenek Kabelac [Tue, 29 Sep 2020 08:15:45 +0000 (10:15 +0200)]
configure: editline updates

Update configure file.

3 years agolvm: add readline alternative editline
Bastian Germann [Sat, 26 Sep 2020 19:32:55 +0000 (21:32 +0200)]
lvm: add readline alternative editline

LVM2 is distributed under GPLv2 only. The readline library changed its
license long ago to GPLv3. Given that those licenses are incompatible
and you follow the FSF in their interpretation that dynamically linking
creates a derivative work, distributing LVM2 linked against a current
readline version might be legally problematic.

Add support for the BSD licensed editline library as an alternative for
readline.

Link: https://thrysoee.dk/editline
3 years agotests: add case for metadata checksum differences
David Teigland [Mon, 28 Sep 2020 18:21:44 +0000 (13:21 -0500)]
tests: add case for metadata checksum differences

Cover the case where two copies of metadata have the
same seqno but different checksums.  Also elaborate
on an existing fixme in the code for this case, since
we should be doing something better for this case.

This had been uncovering an issue with reopening
fds in readwrite mode.

3 years agolvpoll: don't use hints
David Teigland [Fri, 25 Sep 2020 17:29:10 +0000 (12:29 -0500)]
lvpoll: don't use hints

There's a bug when lvpoll attempts to write new hints,
related to the fact that lvpoll does not follow the same
scanning process as standard commands.
Fix by disabling the use of hints in lvpoll.  We may want
to renable hints in lvpoll in a way that they can be used,
if valid, but not updated if they don't exist or are invalid.

3 years agoscanning: keep open an lvm device with scanning problem
David Teigland [Fri, 25 Sep 2020 16:52:55 +0000 (11:52 -0500)]
scanning: keep open an lvm device with scanning problem

The command may want to update it.

3 years agodevices: fix reopen for unopened device
David Teigland [Fri, 25 Sep 2020 16:59:49 +0000 (11:59 -0500)]
devices: fix reopen for unopened device

If there's a request to reopen rw a device that's not
open, then just call the normal open function.

3 years agoRevert "lvconvert: display warning if raid1 LV image count does not change"
Heinz Mauelshagen [Mon, 28 Sep 2020 15:14:03 +0000 (17:14 +0200)]
Revert "lvconvert: display warning if raid1 LV image count does not change"

This reverts superfluous commit 3c9177fdc0b8f94c0ae335790a485477901b685d as
_lv_raid_change_image_count() already checks for non-changed image count.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1872130

3 years agotests: add small delay
Zdenek Kabelac [Wed, 23 Sep 2020 20:09:37 +0000 (22:09 +0200)]
tests: add small delay

Prevent there is no i.e. udev trying to open our device.

3 years agotests: also add thick snap of thin volume
Zdenek Kabelac [Thu, 24 Sep 2020 18:49:52 +0000 (20:49 +0200)]
tests: also add thick snap of thin volume

3 years agotests: check some common errors
Zdenek Kabelac [Fri, 25 Sep 2020 20:47:19 +0000 (22:47 +0200)]
tests: check some common errors

Collect some cases users are hitting when working
with thin-pools which has mismatching kernel metadata content with
lvm2 metadata.

3 years agotests: vgsplit of vdo volumes
Zdenek Kabelac [Thu, 24 Sep 2020 19:50:50 +0000 (21:50 +0200)]
tests: vgsplit of vdo volumes

3 years agomakefiles: document supported var in make help
Zdenek Kabelac [Thu, 24 Sep 2020 13:14:44 +0000 (15:14 +0200)]
makefiles: document supported var in make help

3 years agothin: pass through whole code
Zdenek Kabelac [Fri, 25 Sep 2020 12:34:49 +0000 (14:34 +0200)]
thin: pass through whole code

Instead of early 'return 0' let the whole code finish
in case of an error with syncing.

3 years agodevice_mapper: enhance error message
Zdenek Kabelac [Fri, 25 Sep 2020 17:10:30 +0000 (19:10 +0200)]
device_mapper: enhance error message

3 years agothin: improve error message
Zdenek Kabelac [Fri, 25 Sep 2020 20:42:22 +0000 (22:42 +0200)]
thin: improve error message

Add more info, explaing why the suspend of thin snapshot origin was omitted.

3 years agothin: enhance lvcreate error paths
Zdenek Kabelac [Fri, 25 Sep 2020 20:43:57 +0000 (22:43 +0200)]
thin: enhance lvcreate error paths

Improve error response and reporting, when creating thin snapshots.
If the thin pool kernel metadata already have device with ID lvm2
tries to create, give more meanigful error message and also properly
restore transaction id to the value known to thin-pool in this case.

Before it's been possible to divert by one from kernel TID value,
and lvm2 stacked delete message for such thin device.

3 years agothin: no delete message for device_id 0
Zdenek Kabelac [Fri, 25 Sep 2020 20:42:53 +0000 (22:42 +0200)]
thin: no delete message for device_id 0

Since we always use device_id > 0, we could use
device_id == 0 to actually mark thinLV as an
LV we want to remove without delete message.

3 years agovgsplit: support for VDO volumes
Zdenek Kabelac [Thu, 24 Sep 2020 18:49:18 +0000 (20:49 +0200)]
vgsplit: support for VDO volumes

Enable support and ensure VDO always moves with VDOPOOL.

3 years agotests: basic test for vdo on raid LV
Zdenek Kabelac [Wed, 23 Sep 2020 12:48:17 +0000 (14:48 +0200)]
tests: basic test for vdo on raid LV

Check stacing of VDO on top of raid LV works.

3 years agotests: add check for rename of cached vdopool
Zdenek Kabelac [Wed, 23 Sep 2020 11:22:08 +0000 (13:22 +0200)]
tests: add check for rename of cached vdopool

3 years agotests: a bit bigger mirrors
Zdenek Kabelac [Wed, 23 Sep 2020 12:06:19 +0000 (14:06 +0200)]
tests: a bit bigger mirrors

Seems even with throttling we occasinally need slightly more.

3 years agolvconvert: suppport vdo raid conversion also through vpool
Zdenek Kabelac [Wed, 23 Sep 2020 12:44:44 +0000 (14:44 +0200)]
lvconvert: suppport vdo raid conversion also through vpool

User could directly use 'vdopool' LV name for conversion into raid.
(lvconvert --type raid1 vg/vdopool)

3 years agovdo: allow passing renamed vdopool name to kernel
Zdenek Kabelac [Wed, 23 Sep 2020 11:20:28 +0000 (13:20 +0200)]
vdo: allow passing renamed vdopool name to kernel

Although kernel does not allow to load a new dm table
with renamed vdopool, at least make lvm2 code ready
it it every will get supported.

3 years agovdo: disable support for online rename of vdopool LV
Zdenek Kabelac [Wed, 23 Sep 2020 11:18:23 +0000 (13:18 +0200)]
vdo: disable support for online rename of vdopool LV

Since ATM kernel does not support this operation,
disable 'lvrename' of an active vdopool.

As a workaround, user may simply deactivate, rename and activate.

3 years agotests: use aux wrapper and add more notes
Zdenek Kabelac [Tue, 22 Sep 2020 14:27:21 +0000 (16:27 +0200)]
tests: use aux wrapper and add more notes

This test seems to be hitting some corner case in handling
out-of-metadata space condintion in thin-pool.

Add few more aid notes and functionality.

Also add missing '|| true' with now direct-IO dd command.

3 years agotests: move function to aux for reuse
Zdenek Kabelac [Tue, 22 Sep 2020 21:37:50 +0000 (23:37 +0200)]
tests: move function to aux for reuse

3 years agotests: update test
Zdenek Kabelac [Tue, 22 Sep 2020 21:26:28 +0000 (23:26 +0200)]
tests: update test

Shorten running time of the test.
Fix some issues in invoked resizing script to it returns
correct return code and dmeventd can be a little bit quicker
in this test.

3 years agotests: check vdopool policy extension
Zdenek Kabelac [Tue, 22 Sep 2020 13:44:31 +0000 (15:44 +0200)]
tests: check vdopool policy extension

Check pool will grow even with small policy amount.

3 years agovdo: enhance vdo pool extension
Zdenek Kabelac [Tue, 22 Sep 2020 21:25:58 +0000 (23:25 +0200)]
vdo: enhance vdo pool extension

When user tries to extend vdo pool - he needs to go always
at least by 1 full VDO slab  (defined as  vdo_slab_size_mb).

To avoid all trouble around find 'workable' size - lvm2 automatically
increases the passed (or by --use-policies calculated) extension size
(and informs a user about sometimes possibly large increase as slab
size can go upto 32GiB)

With VDO users need to always 'think-big' anyway and expect such
operation to be in GiB domain range.

3 years agovdo: extend vdo segment validation
Zdenek Kabelac [Tue, 22 Sep 2020 21:17:54 +0000 (23:17 +0200)]
vdo: extend vdo segment validation

Try to catch all suspicious VDO segments in metadata early.

3 years agovdo: correct message about policy extend support
Zdenek Kabelac [Tue, 22 Sep 2020 21:16:11 +0000 (23:16 +0200)]
vdo: correct message about policy extend support

Policy extend is already supported for vdo pools as well,
so correct the error message.

3 years agovdo: drop unnecessary tabulator from metadata output
Zdenek Kabelac [Tue, 22 Sep 2020 18:38:07 +0000 (20:38 +0200)]
vdo: drop unnecessary tabulator from metadata output

3 years agoactivation: use revert_lv on tree suspend failure
Zdenek Kabelac [Tue, 22 Sep 2020 11:35:27 +0000 (13:35 +0200)]
activation: use revert_lv on tree suspend failure

When thetable reload fails during suspend() - we were only calling
plain resume() - and this will reload only those devices,
which were left suspend, but will not try to restore
metadata state according to lvm2 reverted metadata.
So if we were reloading device tree - we have restored
only top-level LV and rest of reverted device manipulation
were left alone and possibly mismatched what is in committed
metadata.

FIXME: There are several cases were such revert will likely not work
properly anyway as some operation are currenly handled in single commit,
while they need multiple commits, but it's step towards better correctness.
At least we catch there errors now earlier.

3 years agotests: fix cleanup for unbound variables
Zdenek Kabelac [Sat, 19 Sep 2020 22:32:26 +0000 (00:32 +0200)]
tests: fix cleanup for unbound variables

When loop can't handle sector-size option - failure caused double fail
for access of unbound variable
Also fix expression for 'rm' and remove loops after loop release.

3 years agotests: add FIXME case
Zdenek Kabelac [Sat, 19 Sep 2020 22:01:48 +0000 (00:01 +0200)]
tests: add FIXME case

3 years agotests: use DIRECT io for zeroing whenver we can
Zdenek Kabelac [Sat, 19 Sep 2020 21:25:11 +0000 (23:25 +0200)]
tests: use DIRECT io for zeroing whenver we can

Performance with direct I/O here is noticable better,
so use it instead of buffered write whenever we can.

3 years agotests: use 4K with mkfs.xfs
Zdenek Kabelac [Sat, 19 Sep 2020 21:58:30 +0000 (23:58 +0200)]
tests: use 4K with mkfs.xfs

If the test runs of loop device backend with 512 sectors,
xfs selects this smaller sector size and then data do not fit
(we would need -l9 with most of 'raids').
With 4K sectors data always fits.

3 years agotests: skip with fail of first prepare_scsi
Zdenek Kabelac [Sat, 19 Sep 2020 21:03:06 +0000 (23:03 +0200)]
tests: skip with fail of first prepare_scsi

3 years agotests: check for cvol
Zdenek Kabelac [Sat, 19 Sep 2020 21:02:17 +0000 (23:02 +0200)]
tests: check for cvol

Check for cvol.
Add check for cmeta.

3 years agobache: fix error return value
Zdenek Kabelac [Sat, 19 Sep 2020 21:00:50 +0000 (23:00 +0200)]
bache: fix error return value

Return 0 as failure (as checked for).
Also add INTERNAL_ERROR if  'DI' would be -1.

3 years agotests: use parametrized function
Zdenek Kabelac [Sat, 19 Sep 2020 14:51:01 +0000 (16:51 +0200)]
tests: use parametrized function

Shorten and make the test easily readable by moving same code into
function and removed one duplicated test for 512,4096 combination.

Always use scsi_debug - since default ramdisk or loop device backend
is unpredictible.

3 years agotests: use zero backend
Zdenek Kabelac [Sat, 19 Sep 2020 13:58:11 +0000 (15:58 +0200)]
tests: use zero backend

Since we are not reading read - just use zero device as backend for
test, so we do not eat real disk space.

3 years agotests: use faster awk generator
Zdenek Kabelac [Sat, 19 Sep 2020 13:57:29 +0000 (15:57 +0200)]
tests: use faster awk generator

Shortens log length.

3 years agotests: ensure mnt is defined before trap install
Zdenek Kabelac [Fri, 18 Sep 2020 19:59:24 +0000 (21:59 +0200)]
tests: ensure mnt is defined before trap install

3 years agotests: reduce disk usage
Zdenek Kabelac [Fri, 18 Sep 2020 19:59:02 +0000 (21:59 +0200)]
tests: reduce disk usage

3 years agometadata: open rw fd before closing ro fd
David Teigland [Fri, 18 Sep 2020 19:42:23 +0000 (14:42 -0500)]
metadata: open rw fd before closing ro fd

lvm opens devices readonly to scan them, but
needs to open then readwrite to update the metadata.
Previously, the ro fd was closed before the rw fd
was opened, leaving a small gap where the dev was
not held open, and during which the dev could
possibly change which storage it referred to.

With the bcache_change_fd() interface, lvm opens a
rw fd on a device to be written, tells bcache to
change to the new rw fd, and closes the ro fd.

. open dev ro
. read dev with the ro fd (label_scan)
. lock vg (ex for writing)
. open dev rw
. close ro fd
. rescan dev to check if the metadata changed
  between the scan and the lock
. if the metadata did change, reread in full
. write the metadata

3 years agobcache: use indirection table for fd
David Teigland [Thu, 17 Sep 2020 14:40:18 +0000 (09:40 -0500)]
bcache: use indirection table for fd

Add a "device index" (di) for each device, and use this
in the bcache api to the rest of lvm.  This replaces the
file descriptor (fd) in the api.  The rest of lvm uses
new functions bcache_set_fd(), bcache_clear_fd(), and
bcache_change_fd() to control which fd bcache uses for
io to a particular device.

. lvm opens a dev and gets and fd.
  fd = open(dev);

. lvm passes fd to the bcache layer and gets a di
  to use in the bcache api for the dev.
  di = bcache_set_fd(fd);

. lvm uses bcache functions, passing di for the dev.
  bcache_write_bytes(di, ...), etc.

. bcache translates di to fd to do io.

. lvm closes the device and clears the di/fd bcache state.
  close(fd);
  bcache_clear_fd(di);

In the bcache layer, a di-to-fd translation table
(int *_fd_table) is added.  When bcache needs to
perform io on a di, it uses _fd_table[di].

In the following commit, lvm will make use of the new
bcache_change_fd() function to change the fd that
bcache uses for the dev, without dropping cached blocks.

3 years agotests: printf to awk
Zdenek Kabelac [Fri, 18 Sep 2020 15:27:17 +0000 (17:27 +0200)]
tests:  printf to awk

Shorten trace logs.

3 years agotests: update integrity-dmeventd
Zdenek Kabelac [Fri, 18 Sep 2020 14:56:00 +0000 (16:56 +0200)]
tests: update integrity-dmeventd

Use tee.
Switch to more simple generator with awk
(which doesn't produce long debug trace)
Sync before sleep to provoke raid action.

3 years agotests: enhance low-disk-space behavior
Zdenek Kabelac [Fri, 18 Sep 2020 12:32:15 +0000 (14:32 +0200)]
tests: enhance low-disk-space behavior

Use new SKIP_WITH_LOW_SPACE and set higher requirement for free space.

But still this test can't run on system's tmpfs directories -
as they typically provide less then 2G of space and when the test
runs there it also provisioning for all READ pages!)
BRD (ramdisk) device should work.

Extend a _wait_recalc() loop for slower hw.
When creating large raid which do not need to be fully synchronized use
them on delay devices - so even less data needs read/write.
Remove unneeded lvchange as lvcreate is already leaving LV inactive.
Replace printf with awk as generator.

mm

3 years agotests: inittest supports SKIP_WITH_LOW_SPACE
Zdenek Kabelac [Fri, 18 Sep 2020 12:25:50 +0000 (14:25 +0200)]
tests: inittest supports SKIP_WITH_LOW_SPACE

Test can set individually a higher value for required free space on
storage.

Note: it is not fully reliable since when 'brd' (ramdisk) device is used
this free space value is rather meanigul, but it might help
in case where a real filesystem is doing back-end for test devices.

3 years agotests: utils better handle ouf of disk space
Zdenek Kabelac [Fri, 18 Sep 2020 12:29:15 +0000 (14:29 +0200)]
tests: utils better handle ouf of disk space

When the test exhausts all the available free space on storage device,
then during the fail we cannot write anything as well - yet
the teardown needs to finish it's work - otherwise we leave
basicaly overfilled filesystem for all remaining tests.

3 years agotests: aux better handle invalid table
Zdenek Kabelac [Fri, 18 Sep 2020 12:23:20 +0000 (14:23 +0200)]
tests: aux better handle invalid table

In cases where internal functions like zero_dev, delay_dev pass-in
invalid parameter so resulting table can't work, resume at least
previous table line before failing out - so the cleaning process
later on is not stuck waiting on a suspended device.

3 years agotests: also use sed to shorten log output
Zdenek Kabelac [Thu, 17 Sep 2020 22:31:59 +0000 (00:31 +0200)]
tests: also use sed to shorten log output

3 years agotests: resolve missing removal of loopdevice on error path
Zdenek Kabelac [Thu, 17 Sep 2020 22:31:11 +0000 (00:31 +0200)]
tests: resolve missing removal of loopdevice on error path

In case of test failure, loop device leaked and occupied space forever.

3 years agotests: bigger data still needed for 0.7.0
Zdenek Kabelac [Thu, 17 Sep 2020 21:26:03 +0000 (23:26 +0200)]
tests: bigger data still needed for 0.7.0

3 years agotests: lower memory usage
Zdenek Kabelac [Thu, 17 Sep 2020 21:25:23 +0000 (23:25 +0200)]
tests: lower memory usage

Reduce memory needed by test at one time.

3 years agoconfigure: enable integrity by default
David Teigland [Wed, 16 Sep 2020 20:14:51 +0000 (15:14 -0500)]
configure: enable integrity by default

3 years agohints: enhance debug messages
David Teigland [Wed, 16 Sep 2020 19:46:50 +0000 (14:46 -0500)]
hints: enhance debug messages

3 years agolabel: cleanup set_byte error exit
David Teigland [Wed, 16 Sep 2020 18:54:16 +0000 (13:54 -0500)]
label: cleanup set_byte error exit

3 years agoRevert "label: use formaters FMTu64 and FMTsize_t"
David Teigland [Wed, 16 Sep 2020 18:47:06 +0000 (13:47 -0500)]
Revert "label: use formaters FMTu64 and FMTsize_t"

This reverts commit d0ccb2521ba4f34455078f87f46cc41f5761ffc0.

3 years agotests: smaller delay and lowered version
Zdenek Kabelac [Wed, 16 Sep 2020 11:21:16 +0000 (13:21 +0200)]
tests: smaller delay and lowered version

See if this will still work. Some boxes are delayed too much.
Also try to check for raid extend progress from version 1.13.

3 years agotests: fix bash regex syntax
Zdenek Kabelac [Wed, 16 Sep 2020 11:12:17 +0000 (13:12 +0200)]
tests: fix bash regex syntax

Typo before last commit.

3 years agotests: switch for checking version of installed tools
Zdenek Kabelac [Mon, 14 Sep 2020 19:25:04 +0000 (21:25 +0200)]
tests: switch for checking version of installed tools

It looks like older tools were compacting metadata more.

3 years agotests: skip kernel for this test
Zdenek Kabelac [Mon, 14 Sep 2020 19:23:16 +0000 (21:23 +0200)]
tests: skip kernel for this test

Kills this kernel ATM

3 years agolabel: use formaters FMTu64 and FMTsize_t
Zdenek Kabelac [Tue, 15 Sep 2020 19:47:39 +0000 (21:47 +0200)]
label: use formaters FMTu64 and FMTsize_t

Produces code without casts to differntly signed types
and also shortens and enhances readbility.

3 years agowipe: dev_set_bytes resolves zeroing
Zdenek Kabelac [Tue, 15 Sep 2020 18:35:48 +0000 (20:35 +0200)]
wipe: dev_set_bytes resolves zeroing

Since dev_write_zeros() is just subset of dev_set_bytes()
use it directly and simplify code.

3 years agowipe: convert zero_value to uint8_t
Zdenek Kabelac [Tue, 15 Sep 2020 14:40:53 +0000 (16:40 +0200)]
wipe: convert zero_value to uint8_t

We always write this value as byte.

3 years agowipe: zeroing of 8 sectors is granted
Zdenek Kabelac [Tue, 15 Sep 2020 14:38:50 +0000 (16:38 +0200)]
wipe: zeroing of 8 sectors is granted

With do_zero min is always 8 sectors, so use 0 as default.

3 years agolabel: deduplicate dev_set_bytes
Zdenek Kabelac [Tue, 15 Sep 2020 14:29:12 +0000 (16:29 +0200)]
label: deduplicate dev_set_bytes

As dev_write_zeros() is same as dev_set_bytes() reused the code
directly.

3 years agolabel: code deduplication
Zdenek Kabelac [Tue, 15 Sep 2020 14:20:16 +0000 (16:20 +0200)]
label: code deduplication

3 years agohints: enhance debug with log_sys_debug
Zdenek Kabelac [Tue, 15 Sep 2020 19:33:30 +0000 (21:33 +0200)]
hints: enhance debug with log_sys_debug

3 years agolvcreate: change error message
Zdenek Kabelac [Tue, 15 Sep 2020 20:45:49 +0000 (22:45 +0200)]
lvcreate: change error message

Provide more useful error message.

3 years agolvcreate: add extra synchronization at error path
Zdenek Kabelac [Fri, 4 Sep 2020 16:08:59 +0000 (18:08 +0200)]
lvcreate: add extra synchronization at error path

Put explict udev synchronization before we try to deactive devices.

3 years agotests: protect this test for another kernel
Zdenek Kabelac [Sat, 12 Sep 2020 17:08:24 +0000 (19:08 +0200)]
tests: protect this test for another kernel

Thisi 3.10.0-862 kernel also dies with this test.

3 years agotests: tune usage of smaller metadata
Zdenek Kabelac [Sat, 12 Sep 2020 17:06:05 +0000 (19:06 +0200)]
tests: tune usage of smaller metadata

While the previous commit c9b40083fc34b5e2a1bfc7b251b38c0b8737483f
decresed version to 1.19 for using bigger datasets,  it's not
been quite right - so from our bb machine it looks like
bigger metadata consumption started with 1.19 and kernel 4.18
(fc27)

3 years agotests: raise needed target version
Zdenek Kabelac [Sat, 12 Sep 2020 17:09:41 +0000 (19:09 +0200)]
tests: raise needed target version

Require higher version to avoid early bugs.

3 years agotests: improve cache abort test
Zdenek Kabelac [Sun, 13 Sep 2020 09:33:13 +0000 (11:33 +0200)]
tests: improve cache abort test

Use bigger volume and slowdown writing to cache device.
This allows more simple to reach 'dirty' state.
Also document exactly 1 SIGINT has to fire aborting of flushing.

3 years agotests: check in_sync prints also dm status
Zdenek Kabelac [Sat, 12 Sep 2020 17:04:56 +0000 (19:04 +0200)]
tests: check in_sync prints also dm status

It's more useful to see how the progress of status checking is moving.

3 years agocache: simplier signal handling
Zdenek Kabelac [Sun, 13 Sep 2020 09:33:39 +0000 (11:33 +0200)]
cache: simplier signal handling

Use just single sigint_allow()/restore() within flushing loop
and void one extra signal manipulation.

3 years agoheaders: remove unused headers
Zdenek Kabelac [Sun, 13 Sep 2020 09:32:29 +0000 (11:32 +0200)]
headers: remove unused headers

3 years agoconfigure: just upper case start of sentence
Zdenek Kabelac [Sat, 12 Sep 2020 17:04:22 +0000 (19:04 +0200)]
configure: just upper case start of sentence

3 years agolocking: restore blocking signal for VG_GLOBAL lck
Zdenek Kabelac [Sun, 13 Sep 2020 19:10:17 +0000 (21:10 +0200)]
locking: restore blocking signal for VG_GLOBAL lck

During removal of a lot of locking code the signal blocking got lost
and signal processing got broken leading to unpredictable
behavior of i.e. activation code the can get interrupted in the
middle of DM table processing.

lvm2 code always expects signals are blocked while lock is held
unless it is explictelly placed into section of:
sigint_allow();....;sigint_restore();
For checking catched interrupt there is sigint_catched();

4 years agotests: avoid using string
Zdenek Kabelac [Sat, 12 Sep 2020 10:25:58 +0000 (12:25 +0200)]
tests: avoid using string

String 'TEST WARNING' may not be present in the test script itself.
Add '\ ' to avoid 'grep' matching test as the test with warning.

4 years agotests: support for 16T is needed
Zdenek Kabelac [Sat, 12 Sep 2020 07:47:38 +0000 (09:47 +0200)]
tests: support for 16T is needed

Likely 32bit machines can't pass here.

4 years agotests: change skip to die for upstream crash
Zdenek Kabelac [Sat, 12 Sep 2020 07:46:43 +0000 (09:46 +0200)]
tests: change skip to die for upstream crash

So the failing test is not lost from sight.

4 years agotests: skip test on failing kernel
Zdenek Kabelac [Sat, 12 Sep 2020 07:46:21 +0000 (09:46 +0200)]
tests: skip test on failing kernel

4 years agocov: drop checking for EWOULDBLOCK
Zdenek Kabelac [Sat, 12 Sep 2020 11:15:12 +0000 (13:15 +0200)]
cov: drop checking for EWOULDBLOCK

Reduce cov warning and remove this really ancient define
as lvm2 was never compilable on such platform.

4 years agocov: check sscanf result
Zdenek Kabelac [Sat, 12 Sep 2020 11:03:07 +0000 (13:03 +0200)]
cov: check sscanf result

4 years agocov: drop model for origin_from_cow
Zdenek Kabelac [Sat, 12 Sep 2020 07:45:52 +0000 (09:45 +0200)]
cov: drop model for origin_from_cow

4 years agolvconvert: check if LV has cow type
Zdenek Kabelac [Sat, 12 Sep 2020 10:08:15 +0000 (12:08 +0200)]
lvconvert: check if LV has cow type

Cow may not be a COW type, the return value of origin_from_cow(cow) may be NULL.

Reported-by: Wu Guanghao <wuguanghao3@huawei.com>
Reported-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
4 years agorevert "lvconvert: check if LV has snapshot type"
Zdenek Kabelac [Sat, 12 Sep 2020 10:07:12 +0000 (12:07 +0200)]
revert "lvconvert: check if LV has snapshot type"

This reverts commit 7db124774a2b79105e7c9c6b42df88219fc070ca.
Actually we need to check for lv_is_cow().

4 years agotests: check for boundary allocation sizes
Zdenek Kabelac [Fri, 11 Sep 2020 19:15:42 +0000 (21:15 +0200)]
tests: check for boundary allocation sizes

This page took 0.070667 seconds and 5 git commands to generate.