1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Peter Rajnoha 91bb202ded dev-cache: handle situation where device is referenced in sysfs, but the node is not yet in dev dir
It's possible that while a device is already referenced in sysfs, the node
is not yet in /dev directory.

This may happen in some rare cases right after LVs get created - we sync
with udev (or alternatively we create /dev content ourselves) while VG
lock is held. However, dev scan is done without VG lock so devices may
already be in sysfs, but /dev may not be updated yet if we call LVM command
right after LV creation (so the fact that fs_unlock is done within VG
lock is not usable here much). This is not a problem with devtmpfs as
there's at least kernel name for device in /dev as soon as the sysfs
item exists, but we still support environments without devtmpfs or
where different directory for dev nodes is used (e.g. our test suite).

This patch covers these situations by tracking such devices in
_cache.sysfs_only_names helper hash for the vgid/lvid check to work still.

This also resolves commit 6129d2e64d
which was then reverted by commit 109b7e2095
due to performance issues it may have brought (...and it didn't resolve
the problem fully anyway).
2016-03-30 10:56:46 +02:00
autoconf autoconf: Fix py-compile permissions 2016-02-18 01:05:05 +00:00
conf pre-release 2016-03-11 00:19:16 +00:00
coverity doc: change fsf address 2016-01-21 12:11:37 +01:00
daemons lvmdbusd: Add '-' to allowable PV device path chars 2016-03-24 12:27:02 -05:00
doc doc: change fsf address 2016-01-21 12:11:37 +01:00
include pre-release 2016-03-11 00:19:16 +00:00
lib dev-cache: handle situation where device is referenced in sysfs, but the node is not yet in dev dir 2016-03-30 10:56:46 +02:00
libdaemon cleanup: add backtrace 2016-03-10 18:38:54 +01:00
libdm libdm: Raid status region units are sectors 2016-03-24 17:42:36 +00:00
liblvm metadata: also look at historical LVs when checking LV name availability 2016-03-03 13:50:59 +01:00
man man: vgcreate shared 2016-03-10 15:40:37 -06:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
old-tests doc: change fsf address 2016-01-21 12:11:37 +01:00
po doc: change fsf address 2016-01-21 12:11:37 +01:00
python lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
report-generators doc: change fsf address 2016-01-21 12:11:37 +01:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts lvmdbusd: Remove --udev in service file 2016-03-21 17:28:51 -05:00
spec spec: Fix gobject dependency 2016-03-09 14:00:05 +01:00
test test: Add missing directory 2016-03-29 08:24:52 +02:00
tools lvconvert: fix error path test 2016-03-14 23:37:42 +01:00
udev makefiles: avoid using vpath for rules files 2016-03-10 18:38:53 +01:00
unit-tests doc: change fsf address 2016-01-21 12:11:37 +01:00
.gitignore lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
acinclude.m4 configure: detect st_ctim 2015-03-18 13:42:24 +01:00
aclocal.m4 lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
configure pre-release 2016-03-11 00:19:16 +00:00
configure.in dbus: add notification from commands 2016-03-07 10:06:09 -06:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01: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 lvmdbus: Add new daemon. 2016-02-17 23:53:35 +00:00
Makefile.in makefiles: add more dirs for lcov output 2016-02-26 10:21:34 +01:00
README README: fix link to lvm-devel mailing list 2015-03-31 15:44:00 +02:00
VERSION post-commit 2016-03-26 09:07:21 +00:00
VERSION_DM post-commit 2016-03-26 09:07:21 +00:00
WHATS_NEW dev-cache: handle situation where device is referenced in sysfs, but the node is not yet in dev dir 2016-03-30 10:56:46 +02:00
WHATS_NEW_DM post-commit 2016-03-26 09:07:21 +00: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://sources.redhat.com/pub/lvm2/

The source code is stored in git:
  http://git.fedorahosted.org/git/lvm2.git
  git clone git://git.fedorahosted.org/git/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

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