1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-10-28 03:27:58 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Jonathan Earl Brassow 34cbedceaf This patch fixes an issue where cluster mirror write I/O
can be opprobriously slow if created with '--nosync'.

One of the ways cluster mirrors coordinate I/O and recovery
amoung the different machines is by the use of the log
function 'is_remote_recovering()' which lets nodes know if
a region they wish to perform a write on is currently being
recovered on another node.  If the region is being recovered,
the I/O is delayed.

The 'is_remote_recovering' routine has been optimized to
avoid the deluge of requests that would be issued to the
userspace log server by maintaining a marker of how far
the recovery has gotten.  It can then immediately return
'not recovering' if the region being inquired about is
less than this mark.  Additionally, if the region of
concern is greater than the mark, the function will
limit the number of transmissions to userspace by assuming
the region /is/ being recovered when skipping the
transmission.  This limits the amount of processing
and updates the mark in 1/4 sec time steps.

This patch fixes a problem where 'the mark' is not being
updated because of faulty logic in the userspace log
daemon.  When '--nosync' is used to create a cluster
mirror, the userspace log daemon never has a chance
to update the mark in the normal way.  The fix is to set
the mark to "complete" if the mirror was created with
the --nosync flag.
2010-08-30 18:37:42 +00:00
autoconf extended configure with --enable-profiling for compiling code with gcov info 2008-06-27 15:35:09 +00:00
daemons This patch fixes an issue where cluster mirror write I/O 2010-08-30 18:37:42 +00:00
doc Make example.conf description for 'default_data_alignment' more generic. 2010-08-25 13:06:03 +00:00
include Add properties.[ch] to lib/report, defined based on columns.h. 2010-08-20 12:44:47 +00:00
lib This patch fixes a potential for I/O to hang and LVM commands 2010-08-26 14:21:50 +00:00
libdm Add macro definitions to report infrastructure for character array length. 2010-08-20 12:44:30 +00:00
liblvm Allow internal suspend and resume of origin without its snapshots. 2010-08-17 16:25:32 +00:00
man Require --restorefile when using pvcreate --uuid. 2010-08-12 04:08:59 +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 Based on auto-detection or user requested cluster managers for clvmd, 2010-08-23 11:37:02 +00:00
test Do not run singlenode clvmd tests if support for singlenode not compiled in. 2010-08-27 08:52:54 +00:00
tools This patch fixes a problem where the mirror polling process 2010-08-26 16:29:12 +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 Based on auto-detection or user requested cluster managers for clvmd, 2010-08-23 11:37:02 +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 set DEFAULT_RUN_DIR (missed from earlier checkin?) 2010-08-16 17:49:26 +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 Fix timestamp. 2010-08-25 11:25:02 +00:00
VERSION_DM post-release 2010-08-19 22:33:14 +00:00
WHATS_NEW This patch fixes an issue where cluster mirror write I/O 2010-08-30 18:37:42 +00:00
WHATS_NEW_DM post-release 2010-08-19 22:33:14 +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