1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-25 01:34:38 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
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
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
base radix-tree: fix some bugs in remove_prefix and iterate 2018-05-30 14:21:27 +01:00
conf build: make generate 2019-03-22 11:01:04 +01:00
coverity coverity: model few more functions 2017-06-27 12:17:16 +02:00
daemons libdaemon: use pselect to avoid condition checking race 2019-04-10 13:28:45 +02:00
device_mapper build: rename device-mapper to device_mapper 2018-05-12 18:18:23 +02:00
doc release note: typos 2018-05-24 12:32:16 +01:00
include configure: check for pselect 2019-04-10 13:24:41 +02:00
lib activation: synchronize before removing devices 2019-04-30 12:07:42 +02:00
libdaemon libdaemon: ensure threads are reaped before checking shutdown 2019-04-29 13:49:33 +02:00
libdm dm: migration_threshold for old linked tools 2019-03-05 13:01:19 +01:00
liblvm liblvm2app: add a couple tests 2018-05-17 15:55:44 -05:00
man build: make generate 2018-07-31 17:41:35 +02:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
po doc: change fsf address 2016-01-21 12:11:37 +01:00
python python: specify libdm path for linking 2018-05-15 22:02:41 +02:00
scripts systemd: put back DefaultDependencies=no for lvmpolld and lvmetad socket unit 2019-04-11 12:25:45 +02:00
spec spec: Use python3 setuptools with python3 2019-01-03 14:39:28 +01:00
test tests: check auto-growth of thin-pool meta 2019-04-30 12:06:08 +02:00
tools cache: support vgsplit 2019-04-16 12:57:18 +02:00
udev udev: keep systemd vars on change event in 69-dm-lvm-metad.rules for systemd reload 2018-04-17 11:38:12 +02:00
.gitignore gitignore 2018-05-23 16:53:18 +02:00
acinclude.m4 [build] uncomment 'serial 3' in an m4 file. 2018-04-30 09:44:27 +01:00
aclocal.m4 [lib/device/bcache] Tweaks after Kabi's review 2018-04-20 11:10:45 -05:00
configure configure: check for pselect 2019-04-10 13:24:41 +02:00
configure.ac configure: check for pselect 2019-04-10 13:24:41 +02:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.BSD Add BSD 2-Clause License 2018-07-27 17:09:03 +02:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in Revert "build: Calculate dependencies at same time as compiling." 2018-05-04 09:48:40 +01:00
Makefile.in build: lcov reporting for unit tests 2018-05-12 18:18:23 +02:00
README README: Include new github links 2017-09-13 20:20:04 +01:00
TESTING docs: Add TESTING file 2017-12-14 16:45:47 +01:00
VERSION post-release 2019-03-22 11:13:08 +01:00
VERSION_DM post-release 2019-03-22 11:13:08 +01:00
WHATS_NEW activation: synchronize before removing devices 2019-04-30 12:07:42 +02:00
WHATS_NEW_DM post-release 2019-03-22 11:13:08 +01:00

This tree contains the LVM2 and device-mapper tools and libraries.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sourceware.org/pub/lvm2/
  ftp://sources.redhat.com/pub/lvm2/
  https://github.com/lvmteam/lvm2/releases

The source code is stored in git:
  https://sourceware.org/git/?p=lvm2.git
  git clone git://sourceware.org/git/lvm2.git
mirrored to:
  https://github.com/lvmteam/lvm2
  git clone https://github.com/lvmteam/lvm2.git
  git clone git@github.com:lvmteam/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

Website:
  https://sourceware.org/lvm2/

Report upstream bugs at:
  https://bugzilla.redhat.com/enter_bug.cgi?product=LVM%20and%20device-mapper
or open issues at:
  https://github.com/lvmteam/lvm2/issues

The source code repository used until 7th June 2012 is accessible here:
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2.