]> sourceware.org Git - lvm2.git/log
lvm2.git
5 years agoman: document 's' RAID attribute bit
Heinz Mauelshagen [Tue, 11 Dec 2018 15:54:17 +0000 (16:54 +0100)]
man: document 's' RAID attribute bit

5 years agoraid: fix (de)activation of RaidLVs with visible SubLVs
Heinz Mauelshagen [Wed, 31 Oct 2018 22:05:08 +0000 (23:05 +0100)]
raid: fix (de)activation of RaidLVs with visible SubLVs

There's a small window during creation of a new RaidLV when
rmeta SubLVs are made visible to wipe them in order to prevent
erroneous discovery of stale RAID metadata.  In case a crash
prevents the SubLVs from being committed hidden after such
wiping, the RaidLV can still be activated with the SubLVs visible.
During deactivation though, a deadlock occurs because the visible
SubLVs are deactivated before the RaidLV.

The patch adds _check_raid_sublvs to the raid validation in merge.c,
an activation check to activate.c (paranoid, because the merge.c check
will prevent activation in case of visible SubLVs) and shares the
existing wiping function _clear_lvs in raid_manip.c moved to lv_manip.c
and renamed to activate_and_wipe_lvlist to remove code duplication.
Whilst on it, introduce activate_and_wipe_lv to share with
(lvconvert|lvchange).c.

Resolves: rhbz1633167

5 years agoWHATS_NEW
Heinz Mauelshagen [Mon, 10 Dec 2018 13:48:13 +0000 (14:48 +0100)]
WHATS_NEW

5 years agolvcreate/lvconvert: prohibit creation of/conversion to mirrored mirror logs
Heinz Mauelshagen [Fri, 7 Dec 2018 18:56:49 +0000 (19:56 +0100)]
lvcreate/lvconvert: prohibit creation of/conversion to mirrored mirror logs

In RHEL7 we marked mirrored mirror logs as deprecated and
added a related message.  This patch prohibits creating new
'mirror' LVs with that log type or converting existing LVs
to have one.

Existing LVs with mirrored mirror log can be activated
and converted to disk/core logs.

Avoid double deprecation message when running lvconvert.

Resolves: rhbz1643562

5 years agolvmlockd: fix missing LV lock for lvconvert repair
David Teigland [Fri, 7 Dec 2018 19:11:31 +0000 (13:11 -0600)]
lvmlockd: fix missing LV lock for lvconvert repair

Add missing lvmlockd LV lock for lvconvert repair
on mirror and thin/cache pools.

5 years agoudev: 69-dm-lvm-metad.rules is still needed
Marian Csontos [Thu, 6 Dec 2018 09:50:42 +0000 (10:50 +0100)]
udev: 69-dm-lvm-metad.rules is still needed

5 years agobuild: Upse PYTHON_CONFIG env.variable when set
Marian Csontos [Fri, 2 Nov 2018 09:06:51 +0000 (10:06 +0100)]
build: Upse PYTHON_CONFIG env.variable when set

This adds up to Commit 6462e8dffc7ed53973ce796cec18fecc0fb89d77.

5 years agotests: lvm-on-md udev issues
David Teigland [Wed, 5 Dec 2018 18:14:17 +0000 (12:14 -0600)]
tests: lvm-on-md udev issues

5 years agoman lvmlockd: lvextend with gfs2
David Teigland [Wed, 5 Dec 2018 17:31:58 +0000 (11:31 -0600)]
man lvmlockd: lvextend with gfs2

5 years agoremove unused full filter
David Teigland [Tue, 4 Dec 2018 20:06:46 +0000 (14:06 -0600)]
remove unused full filter

it's the same as cmd->filter

5 years agoremove unused lvmetad filter
David Teigland [Tue, 4 Dec 2018 18:44:43 +0000 (12:44 -0600)]
remove unused lvmetad filter

5 years agopvscan: use correct dev filters
David Teigland [Mon, 3 Dec 2018 18:58:46 +0000 (12:58 -0600)]
pvscan: use correct dev filters

pvscan was still using lvmetad_filter which has been
null since lvmetad was removed.  Switch it to use the
full_filter.

5 years agodevs: use udev info to improve md component detection
David Teigland [Mon, 3 Dec 2018 17:22:45 +0000 (11:22 -0600)]
devs: use udev info to improve md component detection

Use udev info to supplement native md component detection.

5 years agogcc: ensure sector is initilized
Zdenek Kabelac [Fri, 30 Nov 2018 21:26:26 +0000 (22:26 +0100)]
gcc: ensure sector is initilized

Some older gcc errnously report the variable can be used uninitlized.
Quite warning by explicit initalization.

5 years agogcc: avoid shadowing use_aio
Zdenek Kabelac [Fri, 30 Nov 2018 20:56:16 +0000 (21:56 +0100)]
gcc: avoid shadowing use_aio

Function use_aio() is already declared, avoid its shadowing.
lvm-globals.h:59: warning: shadowed declaration is here

5 years agogcc: avoid shadowing activate_lv
Zdenek Kabelac [Fri, 30 Nov 2018 20:50:41 +0000 (21:50 +0100)]
gcc: avoid shadowing activate_lv

Function activate_lv() is already declared, avoid its shadowing.
activate.h:133: warning: shadowed declaration is here

5 years agogcc: avoid shadowing index
Zdenek Kabelac [Fri, 30 Nov 2018 20:46:14 +0000 (21:46 +0100)]
gcc: avoid shadowing index

Some older headers were declaring 'index' so avoid its usage.
/usr/include/string.h:489: warning: shadowed declaration is here

5 years agomakefiles: ensure test dir can run unit-test
Zdenek Kabelac [Fri, 30 Nov 2018 23:44:22 +0000 (00:44 +0100)]
makefiles: ensure test dir can run unit-test

5 years agomakefiles: avoid clustering out
Zdenek Kabelac [Fri, 30 Nov 2018 20:59:08 +0000 (21:59 +0100)]
makefiles: avoid clustering out

When ctags package is not installed, avoid cluttering output
from failing 'which' command.

5 years agodevice_mapper: move internal header to front
Zdenek Kabelac [Fri, 30 Nov 2018 23:43:53 +0000 (00:43 +0100)]
device_mapper: move internal header to front

5 years agolibdm: optimize dm_pool_strndup
Zdenek Kabelac [Fri, 30 Nov 2018 23:35:41 +0000 (00:35 +0100)]
libdm: optimize dm_pool_strndup

5 years agodevice_mapper: optimize dm_pool_strndup
Zdenek Kabelac [Fri, 30 Nov 2018 23:34:29 +0000 (00:34 +0100)]
device_mapper: optimize dm_pool_strndup

5 years agodevice_mapper: fix incorrect dm_strncpy usage
Zdenek Kabelac [Fri, 30 Nov 2018 23:41:24 +0000 (00:41 +0100)]
device_mapper: fix incorrect dm_strncpy usage

Patch 668c9d0762fc6736a1e9372785544eda6a939806 introduced regression,
since the code here would actually always return failing result.
Replace it with more simple call to strndup().

5 years agorpm: install lvm2-pvscan again
Zdenek Kabelac [Fri, 30 Nov 2018 12:09:09 +0000 (13:09 +0100)]
rpm: install lvm2-pvscan again

Let's repeat history once more 13d5c78a8d5f09b91e26cd49fffa05313d2f6c82.

5 years agotests: extend sleep
Zdenek Kabelac [Fri, 30 Nov 2018 11:55:05 +0000 (12:55 +0100)]
tests: extend sleep

5 years agomakefiles: clean unit-test
Zdenek Kabelac [Fri, 30 Nov 2018 11:55:22 +0000 (12:55 +0100)]
makefiles: clean unit-test

5 years agomakefiles: ignore missing files
Zdenek Kabelac [Fri, 30 Nov 2018 11:54:34 +0000 (12:54 +0100)]
makefiles: ignore missing files

5 years agoconfigure: update
Zdenek Kabelac [Fri, 30 Nov 2018 12:02:42 +0000 (13:02 +0100)]
configure: update

5 years agotests: drop use_lvmetad from unit test
Zdenek Kabelac [Thu, 29 Nov 2018 21:52:46 +0000 (22:52 +0100)]
tests: drop use_lvmetad from unit test

5 years agotests: reduce memory footprint
Zdenek Kabelac [Tue, 27 Nov 2018 11:15:52 +0000 (12:15 +0100)]
tests: reduce memory footprint

5 years agotests: updates
Zdenek Kabelac [Fri, 23 Nov 2018 19:18:22 +0000 (20:18 +0100)]
tests: updates

5 years agotests: requires at least 2 iterations
Zdenek Kabelac [Fri, 23 Nov 2018 19:09:14 +0000 (20:09 +0100)]
tests: requires at least 2 iterations

5 years agotests: use select with dmsetup
Zdenek Kabelac [Fri, 23 Nov 2018 19:08:08 +0000 (20:08 +0100)]
tests: use select with dmsetup

Use 'dmsetup -S' to greatly simplify such loops.

5 years agotests: add mising udev_wait
Zdenek Kabelac [Tue, 20 Nov 2018 15:01:12 +0000 (16:01 +0100)]
tests: add mising udev_wait

mdadm does not handle udev waiting so it may exit earlier,
while devices are still 'running'.

5 years agomake: generate man update
Zdenek Kabelac [Thu, 29 Nov 2018 22:08:25 +0000 (23:08 +0100)]
make: generate man update

5 years agomake: generate config update
Zdenek Kabelac [Thu, 29 Nov 2018 22:08:05 +0000 (23:08 +0100)]
make: generate config update

5 years agomakefiles: add missing srcdir
Zdenek Kabelac [Thu, 29 Nov 2018 21:52:10 +0000 (22:52 +0100)]
makefiles: add missing srcdir

5 years agomakefiles: improving cleaning rules
Zdenek Kabelac [Thu, 29 Nov 2018 20:47:11 +0000 (21:47 +0100)]
makefiles: improving cleaning rules

5 years agomakefiles: avoid dependency calcs for base dir
Zdenek Kabelac [Thu, 29 Nov 2018 16:34:32 +0000 (17:34 +0100)]
makefiles: avoid dependency calcs for base dir

For some targets we do not want to generate dependencies.
Also add note about usage of such Makefile - it might be
possibly better to rename it to different filename to avoid
any confusion.

5 years agomakefiles: updates for less verbosity
Zdenek Kabelac [Thu, 29 Nov 2018 16:09:27 +0000 (17:09 +0100)]
makefiles: updates for less verbosity

5 years agomakefiles: improve lcov generator
Zdenek Kabelac [Fri, 23 Nov 2018 12:07:50 +0000 (13:07 +0100)]
makefiles: improve lcov generator

Simplify generation of lcov report.

5 years agobase: use calloc
Zdenek Kabelac [Tue, 27 Nov 2018 11:12:51 +0000 (12:12 +0100)]
base: use calloc

Make zalloc a wrapper over calloc

5 years agoscan: md metadata version 0.90 is at the end of disk
Peter Rajnoha [Thu, 29 Nov 2018 18:35:54 +0000 (12:35 -0600)]
scan: md metadata version 0.90 is at the end of disk

commit de28637
  scan: use full md filter when md 1.0 devices are present

missed the fact that md superblock version 0.90 also puts
metadata at the end of the device, so the full md filter
needs to be used when either 0.90 or 1.0 is present.

5 years agoconfig settings: fix version 3.0.0
David Teigland [Wed, 28 Nov 2018 18:16:50 +0000 (12:16 -0600)]
config settings: fix version 3.0.0

version 3.0.0 was changed in the end to 2.3.0,
but config settings had previously been encoded
with version 3.0.0.

5 years agolvmlockd: vgchange locktype with yes option
David Teigland [Tue, 27 Nov 2018 20:38:39 +0000 (14:38 -0600)]
lvmlockd: vgchange locktype with yes option

for auto response to yes/no prompt.

5 years agolvmlockctl: wait by default when stopping
David Teigland [Tue, 27 Nov 2018 19:41:33 +0000 (13:41 -0600)]
lvmlockctl: wait by default when stopping

lvmlockctl --stop-lockspaces was by default not waiting
for all the lockspaces to be gone.

5 years agoPlace the first PE at 1 MiB for all defaults
David Teigland [Tue, 13 Nov 2018 21:00:11 +0000 (15:00 -0600)]
Place the first PE at 1 MiB for all defaults

. When using default settings, this commit should change
  nothing.  The first PE continues to be placed at 1 MiB
  resulting in a metadata area size of 1020 KiB (for
  4K page sizes; slightly smaller for larger page sizes.)

. When default_data_alignment is disabled in lvm.conf,
  align pe_start at 1 MiB, based on a default metadata area
  size that adapts to the page size.  Previously, disabling
  this option would result in mda_size that was too small
  for common use, and produced a 64 KiB aligned pe_start.

. Customized pe_start and mda_size values continue to be
  set as before in lvm.conf and command line.

. Remove the configure option for setting default_data_alignment
  at build time.

. Improve alignment related option descriptions.

. Add section about alignment to pvcreate man page.

Previously, DEFAULT_PVMETADATASIZE was 255 sectors.
However, the fact that the config setting named
"default_data_alignment" has a default value of 1 (MiB)
meant that DEFAULT_PVMETADATASIZE was having no effect.

The metadata area size is the space between the start of
the metadata area (page size offset from the start of the
device) and the first PE (1 MiB by default due to
default_data_alignment 1.)  The result is a 1020 KiB metadata
area on machines with 4KiB page size (1024 KiB - 4 KiB),
and smaller on machines with larger page size.

If default_data_alignment was set to 0 (disabled), then
DEFAULT_PVMETADATASIZE 255 would take effect, and produce a
metadata area that was 188 KiB and pe_start of 192 KiB.
This was too small for common use.

This is fixed by making the default metadata area size a
computed value that matches the value produced by
default_data_alignment.

5 years agoblk_availability service drop lvmetad
David Teigland [Mon, 26 Nov 2018 20:51:32 +0000 (14:51 -0600)]
blk_availability service drop lvmetad

5 years agopvscan systemd service for event based activation
David Teigland [Mon, 26 Nov 2018 18:49:39 +0000 (12:49 -0600)]
pvscan systemd service for event based activation

The pvscan systemd service for autoactivation was
mistakenly dropped along with the lvmetad related
services.

The activation generator program now looks at the new
lvm.conf setting "event_activation" (default 1) to
switch between event activation and direct activation.

Previously, the old use_lvmetad setting was used to
switch between event and direct activation.

5 years agowritecache: set block_size using --cachesettings
David Teigland [Wed, 21 Nov 2018 21:16:23 +0000 (15:16 -0600)]
writecache: set block_size using --cachesettings

instead of a separate --writecacheblocksize option.
writecache block_size is not technically a setting,
but it can borrow the option as a special case.

5 years agoWHATS_NEW: sync io
David Teigland [Tue, 20 Nov 2018 15:20:28 +0000 (09:20 -0600)]
WHATS_NEW: sync io

5 years agobcache: sync io fixes
David Teigland [Fri, 16 Nov 2018 19:09:29 +0000 (13:09 -0600)]
bcache: sync io fixes

fix lseek error check
fix read/write error checks
handle zero return from read and write
don't return an error for short io
fix partial read/write loop

5 years agoio: use sync io if aio fails
David Teigland [Fri, 16 Nov 2018 18:21:20 +0000 (12:21 -0600)]
io: use sync io if aio fails

io_setup() for aio may fail if a system has reached the
aio request limit.  In this case, fall back to using
sync io.  Also, lvm use of aio can be disabled entirely
with config setting global/use_aio=0.

The system limit for aio requests can be seen from
  /proc/sys/fs/aio-max-nr

The current usage of aio requests can be seen from
  /proc/sys/fs/aio-nr

The system limit for aio requests can be increased by
setting fs.aio-max-nr using sysctl.

Also add last-byte limit to the sync io code.

5 years agotests: update required raid target
Zdenek Kabelac [Mon, 19 Nov 2018 17:06:39 +0000 (18:06 +0100)]
tests: update required raid target

For embeded reshaping operation require higher driver version.
(otherwise we get:

Converting vg/LV1 from raid6 (same as raid6_zr) is directly possible to the following layouts:
 raid6_nc
 raid6_nr
 raid6_la_6
 raid6_ls_6
 raid6_ra_6
 raid6_rs_6
 raid6_n_6

5 years agotests: missing copyright
Zdenek Kabelac [Mon, 19 Nov 2018 16:16:36 +0000 (17:16 +0100)]
tests: missing copyright

5 years agosanlock: update headers
Zdenek Kabelac [Mon, 19 Nov 2018 15:55:11 +0000 (16:55 +0100)]
sanlock: update headers

5 years agotests: generate slightly less volumes
Zdenek Kabelac [Mon, 19 Nov 2018 12:39:39 +0000 (13:39 +0100)]
tests: generate slightly less volumes

5 years agotests: speed-up testing full of lvm2 metadata
Zdenek Kabelac [Mon, 19 Nov 2018 12:15:05 +0000 (13:15 +0100)]
tests: speed-up testing full of lvm2 metadata

Generate faster full metadata condition.

FIXME: vgremove is extremaly slow with larger set of LVs.

5 years agotests: update parm for new kernel
Zdenek Kabelac [Sun, 18 Nov 2018 21:04:00 +0000 (22:04 +0100)]
tests: update parm for new kernel

5 years agotests: skip part of test
Zdenek Kabelac [Sun, 18 Nov 2018 21:01:27 +0000 (22:01 +0100)]
tests: skip part of test

On kernel 4.8 this test piece oopses machine (fc23).

5 years agotests: create whole path with mkdir
Zdenek Kabelac [Sun, 18 Nov 2018 20:42:27 +0000 (21:42 +0100)]
tests: create whole path with mkdir

Create also 'lvm' upper this if such one is missing in /run dir
and use '-p' with mkdir.

5 years agotests: skip portion of test for lvmpolld
Zdenek Kabelac [Sun, 18 Nov 2018 20:38:56 +0000 (21:38 +0100)]
tests: skip portion of test for lvmpolld

lvmpolld ATM is not desingned to preserve interval checking
in the same way the 'lvconvert' tool is doing - so the passed
'-i 40' is not respected and lvmpolld autonomously checks
state of conversion and updates lvm2 metadata and dm tables
when needed.

So skip portion of test that relayed on this and preserve this logic
only for command line invocation and forking of polling process
where the interval of checking is under full control.

5 years agotests: skip when gcore from gdb package is missing
Zdenek Kabelac [Sun, 18 Nov 2018 20:37:00 +0000 (21:37 +0100)]
tests: skip when gcore from gdb package is missing

gcore is needed for gathering all userspace mappings.

5 years agotests: prefer internal header
Zdenek Kabelac [Sat, 17 Nov 2018 00:38:39 +0000 (01:38 +0100)]
tests: prefer internal header

Although we primarily want to check externally used libdevmapper
library,   out internal  all.h is still keeping all symbols
as the original library has - so for simpler compilation keep
using this private copy for defining needed symbols.

5 years agotests: correcting header file enclosure
Zdenek Kabelac [Sat, 17 Nov 2018 00:11:13 +0000 (01:11 +0100)]
tests: correcting header file enclosure

Use "" for internal header file.

5 years agotests: still more libs needs
Zdenek Kabelac [Sat, 17 Nov 2018 00:00:06 +0000 (01:00 +0100)]
tests: still more libs needs

5 years agotests: makefile fixes
Zdenek Kabelac [Fri, 16 Nov 2018 23:52:19 +0000 (00:52 +0100)]
tests: makefile fixes

New tests needs more options and libs.

5 years agotests: drop unwanted backup
Zdenek Kabelac [Mon, 12 Nov 2018 16:57:40 +0000 (17:57 +0100)]
tests: drop unwanted backup

5 years agotests: raise minsize of xfs
Zdenek Kabelac [Tue, 13 Nov 2018 15:27:33 +0000 (16:27 +0100)]
tests: raise minsize of xfs

mkfs.xfs now needs at least ~1600...

5 years agotests: extend
Zdenek Kabelac [Fri, 16 Nov 2018 15:01:39 +0000 (16:01 +0100)]
tests: extend

5 years agotests: secure data erase
Zdenek Kabelac [Fri, 16 Nov 2018 21:15:23 +0000 (22:15 +0100)]
tests: secure data erase

5 years agolibdm: add memory barrier
Zdenek Kabelac [Fri, 16 Nov 2018 15:01:03 +0000 (16:01 +0100)]
libdm: add memory barrier

Just for case ensure compiler is not able to optimize
memset() away for resources that are released.

This idea of using memory barrier is taken from openssl.

Other options would be to check for 'explicit_bzero' function.

5 years agolibdm: print params only for ioctls using them
Zdenek Kabelac [Fri, 16 Nov 2018 14:57:15 +0000 (15:57 +0100)]
libdm: print params only for ioctls using them

When preparing ioctl buffer and flatting all parameters,
add table parameters only to ioctl that do process them.

Note: list of ioctl should be kept in sync with kernel code.

5 years agolibdm: add DM_DEVICE_ARM_POLL
Zdenek Kabelac [Fri, 16 Nov 2018 14:58:16 +0000 (15:58 +0100)]
libdm: add DM_DEVICE_ARM_POLL

Expose DM_DEVICE_ARM_POLL via standard API enum.

5 years agolibdm: do not add params for resume and remove
Zdenek Kabelac [Fri, 16 Nov 2018 14:54:09 +0000 (15:54 +0100)]
libdm: do not add params for resume and remove

DM_DEVICE_CREATE with table is doing several ioctl operations,
however only some of then takes parameters.
Since _create_and_load_v4() reused already existing dm task from
DM_DEVICE_RELOAD it has also kept passing its table parameters
to DM_DEVICE_RESUME ioctl - but this ioctl is supposed to not take
any argument and thus there is no wiping of passed data - and
since kernel returns buffer and shortens dmi->data_size accordingly,
anything past returned data size remained uncleared in zfree()
function.

This has problem if the user used dm_task_secure_data (i.e. cryptsetup),
as in this case binary expact secured data are erased from main memory
after use, but they may have been left in place.

This patch is also closing the possible hole for error path,
which also reuse same dm task structure for DM_DEVICE_REMOVE.

5 years agoscripts: remove lvmetad from makefile
David Teigland [Thu, 15 Nov 2018 15:25:55 +0000 (09:25 -0600)]
scripts: remove lvmetad from makefile

5 years agolvm2-monitoring service shouldn't refer to lvmetad
David Teigland [Thu, 15 Nov 2018 15:20:47 +0000 (09:20 -0600)]
lvm2-monitoring service shouldn't refer to lvmetad

5 years agoman: remove some clvmd references
David Teigland [Wed, 14 Nov 2018 16:00:23 +0000 (10:00 -0600)]
man: remove some clvmd references

5 years agoman: remove scattered lvmetad references
David Teigland [Wed, 14 Nov 2018 15:39:42 +0000 (09:39 -0600)]
man: remove scattered lvmetad references

5 years agoremove unused backgroundfork option
David Teigland [Wed, 14 Nov 2018 15:34:49 +0000 (09:34 -0600)]
remove unused backgroundfork option

5 years agoman: pvscan updates
David Teigland [Wed, 14 Nov 2018 15:34:30 +0000 (09:34 -0600)]
man: pvscan updates

5 years agopvscan: background option is not used
David Teigland [Tue, 13 Nov 2018 23:27:53 +0000 (17:27 -0600)]
pvscan: background option is not used

Move this into the list of ignored options so
it doesn't appear in the man page.

5 years agoman pvscan: replace lvmetad text
David Teigland [Tue, 13 Nov 2018 23:23:32 +0000 (17:23 -0600)]
man pvscan: replace lvmetad text

5 years agoman: remove lvmetad
David Teigland [Tue, 13 Nov 2018 22:22:34 +0000 (16:22 -0600)]
man: remove lvmetad

5 years agoman lvmdump: remove clvm reference
David Teigland [Tue, 13 Nov 2018 22:20:02 +0000 (16:20 -0600)]
man lvmdump: remove clvm reference

5 years agoman: remove clvmd man page
David Teigland [Tue, 13 Nov 2018 22:17:17 +0000 (16:17 -0600)]
man: remove clvmd man page

5 years agoman: remove cluster references
David Teigland [Tue, 13 Nov 2018 22:15:41 +0000 (16:15 -0600)]
man: remove cluster references

5 years agotests: add wait loop
Zdenek Kabelac [Mon, 12 Nov 2018 14:28:45 +0000 (15:28 +0100)]
tests: add wait loop

Add a little wait loop - since lvconvert started background process
and we need to wait till this bg task initiate its work -
adding ~1s loop should give reasonable enough time to start mirroring.

5 years agodevicemapper: retry mirror leg deactivation
Zdenek Kabelac [Mon, 12 Nov 2018 14:22:44 +0000 (15:22 +0100)]
devicemapper: retry mirror leg deactivation

This could be seen as continuation of
6cee8f1b063dcf5d809e14de38ba489ce5b8f562.
Some test maching with old udev system shows problem,
where udev 'jumps on' leg device after mirror target
releases its legs -  since udev does not (in this old case) skips
such device from scanning - it opens device - and this prevent
leg device to be deactivated - effectively such device stays
'leaked' in DM table invisibly to lvm2 command.

So to 'combat' this issue - if the device has '_mimage' in its name,
the retry of deactivation is automatically assumed.

NOTE: wider impact is unexpected - as it's touching only old mirror
target which is nowadays replaced with 'raid'.

In case there will be some problem identified - probably both patches
should be reverted.

5 years agoman: lvmcache update
David Teigland [Tue, 6 Nov 2018 22:14:59 +0000 (16:14 -0600)]
man: lvmcache update

for cache changes including writecache

5 years agotests: specify m1 for raid1 in cache-single-types
David Teigland [Thu, 8 Nov 2018 20:08:41 +0000 (14:08 -0600)]
tests: specify m1 for raid1 in cache-single-types

5 years agotests: futher test tunning
Zdenek Kabelac [Thu, 8 Nov 2018 16:19:39 +0000 (17:19 +0100)]
tests: futher test tunning

5 years agotests: add lvchange cachemode passthrough in cache-single-options
David Teigland [Thu, 8 Nov 2018 16:08:38 +0000 (10:08 -0600)]
tests: add lvchange cachemode passthrough in cache-single-options

5 years agotests: enable cachepolicy cleaner in cache-single-options
David Teigland [Thu, 8 Nov 2018 15:43:23 +0000 (09:43 -0600)]
tests: enable cachepolicy cleaner in cache-single-options

5 years agotests: enable writeback in cache-single-options
David Teigland [Thu, 8 Nov 2018 15:40:41 +0000 (09:40 -0600)]
tests: enable writeback in cache-single-options

5 years agotests: fix dd option in cache-single-options
David Teigland [Thu, 8 Nov 2018 15:33:09 +0000 (09:33 -0600)]
tests: fix dd option in cache-single-options

5 years agotests: updates
Zdenek Kabelac [Thu, 8 Nov 2018 09:21:13 +0000 (10:21 +0100)]
tests: updates

5 years agotests: keep results configurable
Zdenek Kabelac [Thu, 8 Nov 2018 09:01:21 +0000 (10:01 +0100)]
tests: keep results configurable

5 years agoconfigure: update
Zdenek Kabelac [Thu, 8 Nov 2018 11:22:07 +0000 (12:22 +0100)]
configure: update

5 years agodevicemapper: retry remove even for subLVs
Zdenek Kabelac [Thu, 8 Nov 2018 11:12:58 +0000 (12:12 +0100)]
devicemapper: retry remove even for subLVs

With older systems and udevs we don't have control over scanning of lvm2
internal devices - so far we set retry-removal only for top-level LVs,
but in occasional cases udev can be 'fast enough' to open device for
scanning and prevent removal of such device from DM table.

So to combat this case - try to pass 'retry' flag also for removal of
internal device so see how many races can go away with this simple
patch.

Note: patch is applied only to internal version of libdm so the external
API remains working in the old way for now.

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