xref: /linux/Documentation/filesystems/ocfs2.rst (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1fa95e087SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0
2fa95e087SMauro Carvalho Chehab
3fa95e087SMauro Carvalho Chehab================
4fa95e087SMauro Carvalho ChehabOCFS2 filesystem
5fa95e087SMauro Carvalho Chehab================
6fa95e087SMauro Carvalho Chehab
7fa95e087SMauro Carvalho ChehabOCFS2 is a general purpose extent based shared disk cluster file
8fa95e087SMauro Carvalho Chehabsystem with many similarities to ext3. It supports 64 bit inode
9fa95e087SMauro Carvalho Chehabnumbers, and has automatically extending metadata groups which may
10fa95e087SMauro Carvalho Chehabalso make it attractive for non-clustered use.
11fa95e087SMauro Carvalho Chehab
12fa95e087SMauro Carvalho ChehabYou'll want to install the ocfs2-tools package in order to at least
13fa95e087SMauro Carvalho Chehabget "mount.ocfs2" and "ocfs2_hb_ctl".
14fa95e087SMauro Carvalho Chehab
15fa95e087SMauro Carvalho ChehabProject web page:    http://ocfs2.wiki.kernel.org
16fa95e087SMauro Carvalho ChehabTools git tree:      https://github.com/markfasheh/ocfs2-tools
17*5a569db6SAnthony IliopoulosOCFS2 mailing lists: https://subspace.kernel.org/lists.linux.dev.html
18fa95e087SMauro Carvalho Chehab
19fa95e087SMauro Carvalho ChehabAll code copyright 2005 Oracle except when otherwise noted.
20fa95e087SMauro Carvalho Chehab
21fa95e087SMauro Carvalho ChehabCredits
22fa95e087SMauro Carvalho Chehab=======
23fa95e087SMauro Carvalho Chehab
24fa95e087SMauro Carvalho ChehabLots of code taken from ext3 and other projects.
25fa95e087SMauro Carvalho Chehab
26fa95e087SMauro Carvalho ChehabAuthors in alphabetical order:
27fa95e087SMauro Carvalho Chehab
28fa95e087SMauro Carvalho Chehab- Joel Becker   <joel.becker@oracle.com>
29fa95e087SMauro Carvalho Chehab- Zach Brown    <zach.brown@oracle.com>
30fa95e087SMauro Carvalho Chehab- Mark Fasheh   <mfasheh@suse.com>
31fa95e087SMauro Carvalho Chehab- Kurt Hackel   <kurt.hackel@oracle.com>
32fa95e087SMauro Carvalho Chehab- Tao Ma        <tao.ma@oracle.com>
33fa95e087SMauro Carvalho Chehab- Sunil Mushran <sunil.mushran@oracle.com>
34fa95e087SMauro Carvalho Chehab- Manish Singh  <manish.singh@oracle.com>
35fa95e087SMauro Carvalho Chehab- Tiger Yang    <tiger.yang@oracle.com>
36fa95e087SMauro Carvalho Chehab
37fa95e087SMauro Carvalho ChehabCaveats
38fa95e087SMauro Carvalho Chehab=======
39fa95e087SMauro Carvalho ChehabFeatures which OCFS2 does not support yet:
40fa95e087SMauro Carvalho Chehab
41fa95e087SMauro Carvalho Chehab	- Directory change notification (F_NOTIFY)
42fa95e087SMauro Carvalho Chehab	- Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
43fa95e087SMauro Carvalho Chehab
44fa95e087SMauro Carvalho ChehabMount options
45fa95e087SMauro Carvalho Chehab=============
46fa95e087SMauro Carvalho Chehab
47fa95e087SMauro Carvalho ChehabOCFS2 supports the following mount options:
48fa95e087SMauro Carvalho Chehab
49fa95e087SMauro Carvalho Chehab(*) == default
50fa95e087SMauro Carvalho Chehab
51fa95e087SMauro Carvalho Chehab======================= ========================================================
52fa95e087SMauro Carvalho Chehabbarrier=1		This enables/disables barriers. barrier=0 disables it,
53fa95e087SMauro Carvalho Chehab			barrier=1 enables it.
54fa95e087SMauro Carvalho Chehaberrors=remount-ro(*)	Remount the filesystem read-only on an error.
55fa95e087SMauro Carvalho Chehaberrors=panic		Panic and halt the machine if an error occurs.
56fa95e087SMauro Carvalho Chehabintr		(*)	Allow signals to interrupt cluster operations.
57fa95e087SMauro Carvalho Chehabnointr			Do not allow signals to interrupt cluster
58fa95e087SMauro Carvalho Chehab			operations.
59fa95e087SMauro Carvalho Chehabnoatime			Do not update access time.
60fa95e087SMauro Carvalho Chehabrelatime(*)		Update atime if the previous atime is older than
61fa95e087SMauro Carvalho Chehab			mtime or ctime
62fa95e087SMauro Carvalho Chehabstrictatime		Always update atime, but the minimum update interval
63fa95e087SMauro Carvalho Chehab			is specified by atime_quantum.
64fa95e087SMauro Carvalho Chehabatime_quantum=60(*)	OCFS2 will not update atime unless this number
65fa95e087SMauro Carvalho Chehab			of seconds has passed since the last update.
66fa95e087SMauro Carvalho Chehab			Set to zero to always update atime. This option need
67fa95e087SMauro Carvalho Chehab			work with strictatime.
68fa95e087SMauro Carvalho Chehabdata=ordered	(*)	All data are forced directly out to the main file
69fa95e087SMauro Carvalho Chehab			system prior to its metadata being committed to the
70fa95e087SMauro Carvalho Chehab			journal.
71fa95e087SMauro Carvalho Chehabdata=writeback		Data ordering is not preserved, data may be written
72fa95e087SMauro Carvalho Chehab			into the main file system after its metadata has been
73fa95e087SMauro Carvalho Chehab			committed to the journal.
74fa95e087SMauro Carvalho Chehabpreferred_slot=0(*)	During mount, try to use this filesystem slot first. If
75fa95e087SMauro Carvalho Chehab			it is in use by another node, the first empty one found
76fa95e087SMauro Carvalho Chehab			will be chosen. Invalid values will be ignored.
77fa95e087SMauro Carvalho Chehabcommit=nrsec	(*)	Ocfs2 can be told to sync all its data and metadata
78fa95e087SMauro Carvalho Chehab			every 'nrsec' seconds. The default value is 5 seconds.
79fa95e087SMauro Carvalho Chehab			This means that if you lose your power, you will lose
80fa95e087SMauro Carvalho Chehab			as much as the latest 5 seconds of work (your
81fa95e087SMauro Carvalho Chehab			filesystem will not be damaged though, thanks to the
82fa95e087SMauro Carvalho Chehab			journaling).  This default value (or any low value)
83fa95e087SMauro Carvalho Chehab			will hurt performance, but it's good for data-safety.
84fa95e087SMauro Carvalho Chehab			Setting it to 0 will have the same effect as leaving
85fa95e087SMauro Carvalho Chehab			it at the default (5 seconds).
86fa95e087SMauro Carvalho Chehab			Setting it to very large values will improve
87fa95e087SMauro Carvalho Chehab			performance.
88fa95e087SMauro Carvalho Chehablocalalloc=8(*)		Allows custom localalloc size in MB. If the value is too
89fa95e087SMauro Carvalho Chehab			large, the fs will silently revert it to the default.
90fa95e087SMauro Carvalho Chehablocalflocks		This disables cluster aware flock.
91fa95e087SMauro Carvalho Chehabinode64			Indicates that Ocfs2 is allowed to create inodes at
92fa95e087SMauro Carvalho Chehab			any location in the filesystem, including those which
93fa95e087SMauro Carvalho Chehab			will result in inode numbers occupying more than 32
94fa95e087SMauro Carvalho Chehab			bits of significance.
95fa95e087SMauro Carvalho Chehabuser_xattr	(*)	Enables Extended User Attributes.
96fa95e087SMauro Carvalho Chehabnouser_xattr		Disables Extended User Attributes.
97fa95e087SMauro Carvalho Chehabacl			Enables POSIX Access Control Lists support.
98fa95e087SMauro Carvalho Chehabnoacl		(*)	Disables POSIX Access Control Lists support.
99fa95e087SMauro Carvalho Chehabresv_level=2	(*)	Set how aggressive allocation reservations will be.
100fa95e087SMauro Carvalho Chehab			Valid values are between 0 (reservations off) to 8
101fa95e087SMauro Carvalho Chehab			(maximum space for reservations).
102fa95e087SMauro Carvalho Chehabdir_resv_level=	(*)	By default, directory reservations will scale with file
103fa95e087SMauro Carvalho Chehab			reservations - users should rarely need to change this
104fa95e087SMauro Carvalho Chehab			value. If allocation reservations are turned off, this
105fa95e087SMauro Carvalho Chehab			option will have no effect.
106fa95e087SMauro Carvalho Chehabcoherency=full  (*)	Disallow concurrent O_DIRECT writes, cluster inode
107fa95e087SMauro Carvalho Chehab			lock will be taken to force other nodes drop cache,
108fa95e087SMauro Carvalho Chehab			therefore full cluster coherency is guaranteed even
109fa95e087SMauro Carvalho Chehab			for O_DIRECT writes.
110fa95e087SMauro Carvalho Chehabcoherency=buffered	Allow concurrent O_DIRECT writes without EX lock among
111fa95e087SMauro Carvalho Chehab			nodes, which gains high performance at risk of getting
112fa95e087SMauro Carvalho Chehab			stale data on other nodes.
113fa95e087SMauro Carvalho Chehabjournal_async_commit	Commit block can be written to disk without waiting
114fa95e087SMauro Carvalho Chehab			for descriptor blocks. If enabled older kernels cannot
115fa95e087SMauro Carvalho Chehab			mount the device. This will enable 'journal_checksum'
116fa95e087SMauro Carvalho Chehab			internally.
117fa95e087SMauro Carvalho Chehab======================= ========================================================
118