]> Zhao Yanbai Git Server - minix.git/commit
Unified crash recovery and live update.
authorCristiano Giuffrida <cristiano@minix3.org>
Tue, 27 Apr 2010 11:17:30 +0000 (11:17 +0000)
committerCristiano Giuffrida <cristiano@minix3.org>
Tue, 27 Apr 2010 11:17:30 +0000 (11:17 +0000)
commit0164957abb0f0c87a77d17b031049f427727c3d4
tree6c55ebe2b924102c7db4b2c00991fc94263bea20
parent30798fc3e197af95d42f53cdb93d54b6cff5905b
Unified crash recovery and live update.

RS CHANGES:
- Crash recovery is now implemented like live update. Two instances are kept
side by side and the dead version is live updated into the new one. The endpoint
doesn't change and the failure is not exposed (by default) to other system
services.
- The new instance can be created reactively (when a crash is detected) or
proactively. In the latter case, RS can be instructed to keep a replica of
the system service to perform a hot swap when the service fails. The flag
SF_USE_REPL is set in that case.
- The new flag SF_USE_REPL is supported for services in the boot image and
dynamically started services through the RS interface (i.e. -p option in the
service utility).
- Fixed a free unallocated memory bug for core system services.
18 files changed:
include/minix/com.h
include/minix/rs.h
include/minix/sef.h
lib/libsys/sef_init.c
servers/is/dmp_rs.c
servers/rs/Makefile
servers/rs/const.h
servers/rs/glo.h
servers/rs/main.c
servers/rs/manager.c
servers/rs/proto.h
servers/rs/request.c
servers/rs/service/service.c
servers/rs/table.c
servers/rs/utility.c
servers/vm/proto.h
servers/vm/rs.c
servers/vm/utility.c