]> sourceware.org Git - lvm2.git/commit
This patch fixes a potential for I/O to hang and LVM commands
authorJonathan Earl Brassow <jbrassow@redhat.com>
Thu, 26 Aug 2010 14:21:50 +0000 (14:21 +0000)
committerJonathan Earl Brassow <jbrassow@redhat.com>
Thu, 26 Aug 2010 14:21:50 +0000 (14:21 +0000)
commit8fdd90eb403ff5aeb97f7acbd6a30734e758f2b4
tree7c5086bacdbf7a5ed4a95cd2f5c8060194b8fa92
parent564a356f09e394873e88027f33e334b5ca19ac27
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.
WHATS_NEW
lib/activate/dev_manager.c
This page took 0.02973 seconds and 5 git commands to generate.