1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-26 03:22:12 +03:00
lvm2/lib
Zdenek Kabelac 2047d405af activation: synchronize before removing devices
Udev is running udev-rule action upon 'resume'.

However lvm2 in special case is doing replacement of
'soon-to-be-removed' device with 'error' target for resuming
and then follows actual removal - the sequence is usually quick,
so when udev start action - it can result in 'strange' error
message in kernel log like:

Process '/usr/sbin/dmsetup info -j 253 -m 17 -c --nameprefixes --noheadings --rows -o name,uuid,suspended' failed with exit code 1.

To avoid this - we need to ensure there is synchronization wait for udev
between 'resume'  and 'remove' part of this process.

However existing code put strict requirement to avoid synchronizing with
udev inside critical section - but this originally came from requirement
to not do anything special while there could be devices in
suspend-state. Now we are able to see differnce between critical section
with or without suspended devices.  For udev synchronization only
suspended devices are prohibited to be there - so slightly relax
condition and allow calling and using 'fs_sync()' even inside critical
section - but there must not be any suspended device.
2019-04-30 12:07:42 +02:00
..
activate activation: synchronize before removing devices 2019-04-30 12:07:42 +02:00
cache pvscan: lvmetad init should set updating before scanning 2019-03-07 11:07:27 -06:00
cache_segtype build: remove --with-{snapshots,mirrors,raid,thin,cache} options from ./configure 2018-04-30 10:11:23 +01:00
commands config: add new setting io_memory_size 2019-03-04 10:31:47 -06:00
config config: improve scan_lvs description 2019-03-06 13:38:33 -06:00
datastruct datastruct: Add str_list_wipe. 2016-04-29 19:47:15 +01:00
device devices: drop open error message 2019-04-23 09:42:25 -05:00
display Remove lvm1 and pool disk formats 2018-04-30 16:55:02 -05:00
error activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
filters gcc: cleanup const warning 2019-04-10 13:30:34 +02:00
format_text io: warn when metadata size approaches io memory size 2019-03-04 10:57:52 -06:00
freeseg doc: change fsf address 2016-01-21 12:11:37 +01:00
label io: increase the default io memory from 4 to 8 MiB 2019-03-04 11:18:34 -06:00
locking lvmlockd: fix make lockstart wait 2019-01-31 09:56:29 -06:00
log cleanup: explicitely ignore result code 2018-02-28 21:15:55 +01:00
lvmpolld doc: change fsf address 2016-01-21 12:11:37 +01:00
metadata thin: fix maintenance of _pmspare 2019-04-30 12:02:49 +02:00
mirror build: remove --with-{snapshots,mirrors,raid,thin,cache} options from ./configure 2018-04-30 10:11:23 +01:00
misc config: add new setting io_memory_size 2019-03-04 10:31:47 -06:00
mm memlock: extend exception list 2018-07-04 13:41:08 +02:00
notify dbus: also recognize error state for missing service that comes from original D-Bus 2016-11-15 10:09:11 +01:00
properties doc: change fsf address 2016-01-21 12:11:37 +01:00
raid build: remove --with-{snapshots,mirrors,raid,thin,cache} options from ./configure 2018-04-30 10:11:23 +01:00
report vgs: add report field for shared 2018-05-31 10:23:03 -05:00
snapshot build: remove --with-{snapshots,mirrors,raid,thin,cache} options from ./configure 2018-04-30 10:11:23 +01:00
striped segtype: add linear 2018-06-26 12:15:44 +02:00
thin build: remove --with-{snapshots,mirrors,raid,thin,cache} options from ./configure 2018-04-30 10:11:23 +01:00
unknown gcc: remove warns about free of const 2018-02-13 19:56:02 +01:00
uuid cleanup :drop unneeded header file 2016-10-03 17:49:56 +02:00
zero activate: Use macros for target and module names. 2016-03-22 17:46:15 +00:00
Makefile.in bcache: Move the utils to a separate file. 2018-05-03 09:34:41 +01:00