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