1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/lib/activate
Jonathan Earl Brassow a71d6051ed This patch fixes a potential for I/O to hang and LVM commands
to block when a mirror under a snapshot suffers a failure.

The problem has to do with label scanning.  When a mirror suffers
a failure, the kernel blocks I/O to prevent corruption.  When
LVM attempts to repair the mirror, it scans the devices on the
system for LVM labels.  While mirrors are skipped during this
scanning process, snapshot-origins are not.  When the origin is
scanned, it kicks up I/O to the mirror (which is blocked)
underneath - causing the label scan (an thus the repair operation)
to hang.

This patch simply bypasses snapshot-origin devices when doing
labels scans (while ignore_suspended_devices() is set).  This
fixes the issue.
2010-08-26 14:21:50 +00:00
..
activate.c Allow internal suspend and resume of origin without its snapshots. 2010-08-17 16:25:32 +00:00
activate.h Allow internal suspend and resume of origin without its snapshots. 2010-08-17 16:25:32 +00:00
dev_manager.c This patch fixes a potential for I/O to hang and LVM commands 2010-08-26 14:21:50 +00:00
dev_manager.h Allow internal suspend and resume of origin without its snapshots. 2010-08-17 16:25:32 +00:00
fs.c Add support to disable udev checking: LVM_UDEV_DISABLE_CHECKING=1 env. var. 2010-01-11 15:40:03 +00:00
fs.h Add activation/udev_rules config option in lvm.conf. 2010-01-07 19:54:21 +00:00
targets.h Use UUIDs instead of names while processing event handlers. 2010-04-14 13:01:38 +00:00