1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
Jonathan Earl Brassow aa5734f2a3 Finish fix for bug 607347: failing both redundant mirror log legs...
A previous check-in added logic to handle the case where both images
of a mirrored log failed.  It solved the problem by simply removing
the log entirely - leaving the parent mirror with a 'core' log.  This
worked for most cases.  However, if there was a small delay between
the failures of the two mirrored log devices, the mirror would hang,
LVM would hang, and no additional LVM commands could be issued.

When the first leg of the log fails, it signals the need for repair.
Before 'lvconvert --repair' is run by dmeventd, the second leg fails.
'lvconvert' would see both devices as failed and try to remove the
log entirely.  When it came time to suspend the parent mirror to
update the configuration, the suspend would hang because it couldn't
get any I/O through the mirrored log, which was plugged waiting for
corrective action.  The solution is to replace the log with an error
target to clear any pending writes before removing it.  This allows
the parent mirror to suspend and make the proper changes.
2010-07-09 15:08:12 +00:00
..
activate Do not log backtrace in valid _lv_resume() code path 2010-07-08 12:24:04 +00:00
cache Use mdas_empty_or_ignored() in place of checks for empty mda list. 2010-06-28 20:34:58 +00:00
commands remove unneeded header 2010-07-02 10:25:16 +00:00
config Add pvmetadatacopies to lvm.conf and pvcreate man pages. 2010-06-30 12:49:28 +00:00
datastruct Remove unnecessary / duplicate dm_list macros and functions. 2009-11-25 20:44:07 +00:00
device Avoid selecting names under /dev/block if there is an alternative. 2010-05-24 22:53:48 +00:00
display Add printf format attributes to yes_no_prompt & dm_{sn,as}printf and fix a calle 2010-07-02 21:16:50 +00:00
error Fix last check-ins: seg can be NULL. 2009-02-28 20:04:24 +00:00
filters Always pass unsuspended dm devices through persistent filter to other filters. 2010-07-02 02:09:57 +00:00
format1 Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. 2010-07-08 18:24:29 +00:00
format_pool Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. 2010-07-08 18:24:29 +00:00
format_text Pass metadataignore to pv_create, pv_setup, _mda_setup, and add_mda. 2010-07-08 18:24:29 +00:00
freeseg Fix reporting of LV fields alongside unallocated PV segments. 2008-06-25 16:52:27 +00:00
label Use log_error macro consistently throughout in place of log_err. 2009-07-15 20:02:46 +00:00
locking Clean up cluster lock mode and flags definition. 2010-06-17 12:48:54 +00:00
log Various cleanups following recent commits. 2010-06-21 15:56:57 +00:00
metadata Finish fix for bug 607347: failing both redundant mirror log legs... 2010-07-09 15:08:12 +00:00
mirror Replace strncmp kernel version number checks with proper ones 2010-05-24 23:11:34 +00:00
misc Randomly select which mdas to use or ignore. 2010-07-05 22:23:15 +00:00
mm Fix format string from patch apply mistake 2010-07-08 14:47:46 +00:00
replicator Right directory name for replicator files. 2010-05-21 13:17:20 +00:00
report Allow 'all' and 'unmanaged' values for --vgmetadatacopies. 2010-06-28 20:40:01 +00:00
snapshot Install plugins to subdirs 2010-05-06 10:07:46 +00:00
striped Use macro outsize() with check for error return value. 2010-01-07 14:46:51 +00:00
unknown Fix the "const discarded" warnings introduced in the unknown segment patch. 2009-10-22 10:38:07 +00:00
uuid Use log_error macro consistently throughout in place of log_err. 2009-07-15 20:02:46 +00:00
zero Attempt to load dm-zero module if zero target needed but not present. (mbroz) 2009-05-27 13:05:53 +00:00
Makefile.in Replicator: base lvm2 support 2010-05-21 12:36:30 +00:00