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
Jonathan Earl Brassow 2c33c8b80c Fix for bug 637936: killing both redundant logs causes deadlock
Problem:
When both legs of a mirrored log fail, neither the log nor the parent
mirror can proceed.  The repair code must be careful to replace the
log with an error target before operating on the parent - otherwise,
the parent can get stuck trying to suspend because it can't push through
any writes.  The steps to replace the log device with an error target
were incomplete and resulted in the replacement not happening at all!

The code originally had all the necessary logic to complete the
replacement task, but was pulled out in a effort to clean-up that
section of code, while fixing another bug:
<offending commit msg>
In addition, I added following three changes.

- Removed tmp_orphan_lvs handling procedure
  It seems that _delete_lv() can handle detached_log_lv properly
  without adding mirror legs in mirrored log to tmp_orphan_lvs.
  Therefore, I removed the procedure.

- Removed vg_write()/vg_commit()
  Metadata is saved by vg_write()/vg_commit() just after detached_log_lv
  is handled. Therefore, I removed vg_write()/vg_commit().
</offending commit msg>

http://sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/lib/metadata/mirror.c?cvsroot=lvm2&f=h#rev1.130

I've reverted the "clean-up" changes associated with that fix, but not what
that commit was actually fixing.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>
Reviewed-by: Petr Rockai <prockai@redhat.com>
2010-10-14 20:03:12 +00:00
autoconf extended configure with --enable-profiling for compiling code with gcov info 2008-06-27 15:35:09 +00:00
daemons Add dm_zalloc and use it and dm_pool_zalloc throughout. 2010-09-30 21:06:50 +00:00
doc Tweak the lvm.conf comment about devices/disable_after_error_count. 2010-10-13 15:45:18 +00:00
include Refactor metadata.[ch] into lv.[ch] for lv functions. 2010-09-30 13:05:45 +00:00
lib Fix for bug 637936: killing both redundant logs causes deadlock 2010-10-14 20:03:12 +00:00
libdm Add dm_zalloc and use it and dm_pool_zalloc throughout. 2010-09-30 21:06:50 +00:00
liblvm Add pv_uuid_dup, vg_uuid_dup, and lv_uuid_dup, and call id_format_and_copy. 2010-09-30 14:07:47 +00:00
man Convey need for snapshot-merge target in lvconvert error message and man 2010-10-13 21:26:37 +00:00
old-tests Move tests from old-tests/regex to unit-tests/regex. unit-tests will 2010-07-20 15:18:57 +00:00
po INSTALL rules updates 2010-04-09 21:42:48 +00:00
report-generators add copyright notices to new files 2010-07-28 12:20:38 +00:00
reports [REPORT-GENERATORS] cut down stylsheet.css to what we actually use 2010-07-21 10:00:38 +00:00
scripts Add support for noninterctive shell execution 2010-10-08 15:02:05 +00:00
test Add a VERBOSE option to make check (make check VERBOSE=1). 2010-10-14 14:36:26 +00:00
tools Convey need for snapshot-merge target in lvconvert error message and man 2010-10-13 21:26:37 +00:00
udev Fix udev rules to support udev database content generated by older rules. 2010-08-12 13:41:18 +00:00
unit-tests [MM] Make valgrind aware of the pool allocators 2010-08-09 10:56:01 +00:00
configure Update configure after last change. 2010-08-23 13:44:31 +00:00
configure.in Don't use floor() in _bitset_with_random_bits 2010-10-13 12:18:53 +00:00
COPYING Outline docs 2001-12-31 16:12:40 +00: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 Allow CC to be overridden at build time (for 'scan-build make'). 2010-10-07 16:33:34 +00:00
Makefile.in [MM] Make valgrind aware of the pool allocators 2010-08-09 10:56:01 +00:00
README quick review of docs 2008-11-04 17:49:22 +00:00
VERSION Speed up CRC32 calculations by using a larger lookup table. 2010-09-27 19:09:34 +00:00
VERSION_DM Speed up CRC32 calculations by using a larger lookup table. 2010-09-27 19:09:34 +00:00
WHATS_NEW Fix for bug 637936: killing both redundant logs causes deadlock 2010-10-14 20:03:12 +00:00
WHATS_NEW_DM Speed up CRC32 calculations by using a larger lookup table. 2010-09-27 19:09:34 +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/

To access the CVS tree use:
  cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 login
  CVS password: cvs
  cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 co LVM2

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing list for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

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