mars/kernel/sy_old
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
..
mars_light.c light: fix potential deadlock on restart after inconsistent symlinks 2016-02-10 06:24:27 +01:00
mars_proc.c infra: report peak IO latencies 2015-02-27 11:32:57 +01:00
mars_proc.h all: clarify license GPLv2+ 2014-11-25 18:09:17 +01:00
README all: move kernel source into separate directory 2013-04-08 17:01:37 +02:00
strategy.h light: fix missing versionlink upon slow or defective IO 2016-02-03 22:01:48 +01:00
sy_generic.c light: fix missing versionlink upon slow or defective IO 2016-02-03 22:01:48 +01:00
sy_net.c all: clarify license GPLv2+ 2014-11-25 18:09:17 +01:00

This is ugly code from a first prototype trial.
It will disappear as soon as the new strategy layer has been
implemented. The new system will use an interpreter for automated
pattern matching and triggering actions, in a much more generic
fashion than hand-crafted here.