mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
a71d6051ed
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. |
||
---|---|---|
.. | ||
activate.c | ||
activate.h | ||
dev_manager.c | ||
dev_manager.h | ||
fs.c | ||
fs.h | ||
targets.h |