e2fsprogs/lib/e2p
Andreas Dilger 0f5eba7501 ext2fs: add multi-mount protection (INCOMPAT_MMP)
Multi-mount protection is feature that allows mke2fs, e2fsck, and
others to detect if the filesystem is mounted on a remote node (on
SAN disks) and avoid corrupting the filesystem.  For e2fsprogs this
means that it checks the MMP block to see if the filesystem is in use,
and marks the filesystem busy while e2fsck is running on the system.

This is useful on SAN disks that are shared between high-availability
servers, or accessible by multiple nodes that aren't in HA pairs.  MMP
isn't intended to serve as a primary HA exclusion mechanism, but as a
failsafe to protect against user, software, or hardware errors.

There is no requirement that e2fsck updates the MMP block at regular
intervals, but e2fsck does this occasionally to provide useful
information to the sysadmin in case of a detected conflict.

For the kernel (since Linux 3.0) MMP adds a "heartbeat" mechanism to
periodically write to disk (every few seconds by default) to notify
other nodes that the filesystem is still in use and unsafe to modify.

Originally-by: Kalpak Shah <kalpak@clusterfs.com>

Signed-off-by: Johann Lombardi <johann@whamcloud.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-09-25 01:55:23 -04:00
..
Makefile.in Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
e2p.h Merge branch 'maint' into next 2010-06-07 12:42:40 -04:00
e2p.pc.in Fix pkg-config files: use Requires.private and fix the include directory 2008-09-02 21:20:44 -04:00
feature.c ext2fs: add multi-mount protection (INCOMPAT_MMP) 2011-09-25 01:55:23 -04:00
fgetflags.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
fgetversion.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
fsetflags.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
fsetversion.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
getflags.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
getversion.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
hashstr.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
iod.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
ls.c ext2fs: add multi-mount protection (INCOMPAT_MMP) 2011-09-25 01:55:23 -04:00
mntopts.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
ostype.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
parse_num.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
pe.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
percent.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
pf.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
ps.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
setflags.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
setversion.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00
uuid.c Shorten compile commands run by the build system 2011-09-18 17:34:37 -04:00