Asynchronous Block-Level Storage Replication
Go to file
Thomas Schoebel-Theuer f235b76900 light: fix potential deadlock on restart after inconsistent symlinks
This has been found by testing.

In extremely rare cases, such after crashes at the "wrong moment"
or after defective /mars filesystems, the replay link could show a
different length than the corresponding versionlink.

The versionlink wouldn't be updated anymore when additionally the
logfile has the same length than the replay link.

The incorrect versionlink will then lead to a lock.

Fix the problem by using the _minimum_ of all length indicators.
For safty, or when in doubt, replay more data, which will in turn
update the versionlink again to its correct value.
2016-02-10 06:24:27 +01:00
contrib contrib: speedup mars_check.sh 2015-10-07 10:42:18 +02:00
docu doc: update version 2016-02-03 22:01:49 +01:00
kernel light: fix potential deadlock on restart after inconsistent symlinks 2016-02-10 06:24:27 +01:00
pre-patches infra: add some pre-patches up to kernel 3.15 2014-06-18 12:10:55 +02:00
scripts infra: fix transitive option propagation in gen_config.pl 2014-08-07 15:26:02 +02:00
test_suite all: distinguish contrib from maintained code 2014-06-18 12:10:54 +02:00
userspace marsadm: show the old designated primary in the log 2016-02-03 22:01:49 +01:00
.gitattributes infra: add .gitignore 2013-01-08 15:53:47 +01:00
.gitignore test_suite: current state 2013-12-12 10:59:01 +01:00
AUTHORS all: clarify license GPLv2+ 2014-11-25 18:09:17 +01:00
ChangeLog all: release light0.1stable25 2016-02-03 22:08:19 +01:00
COPYING all: prepare publication at github 2013-01-25 11:58:46 +01:00
INSTALL all: distinguish contrib from maintained code 2014-06-18 12:10:54 +02:00
NEWS doc: README points to http://schoebel.github.io/mars/ 2013-11-18 13:41:50 +01:00
README all: clarify license GPLv2+ 2014-11-25 18:09:17 +01:00

MARS Long Distance Replication Software

See http://schoebel.github.io/mars/

Very detailed documentation / motivation / use cases can be found there.
Please look into the docu/ subdirectory.

License: GPLv2+ (see file COPYING)
Documentation is under FDL.

This is intended for the whole project, and is valid for all parts
from the original author as well as parts from 1&1.

Any further contributors to contrib/ subdirectory are strongly encouraged
to put their files also under GPL or FDL, or at least a compatible
license (see newest descriptions at fsf.org).