blob: 4c49e5410595c0ee86447ed6312d58315e2e974c [file] [log] [blame]
Mark Fashehccd979b2005-12-15 14:31:24 -08001OCFS2 filesystem
2==================
3OCFS2 is a general purpose extent based shared disk cluster file
4system with many similarities to ext3. It supports 64 bit inode
5numbers, and has automatically extending metadata groups which may
6also make it attractive for non-clustered use.
7
8You'll want to install the ocfs2-tools package in order to at least
9get "mount.ocfs2" and "ocfs2_hb_ctl".
10
Mark Fasheh01945fa2015-02-27 15:51:40 -080011Project web page: http://ocfs2.wiki.kernel.org
12Tools git tree: https://github.com/markfasheh/ocfs2-tools
Mark Fashehccd979b2005-12-15 14:31:24 -080013OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
14
15All code copyright 2005 Oracle except when otherwise noted.
16
17CREDITS:
18Lots of code taken from ext3 and other projects.
19
20Authors in alphabetical order:
21Joel Becker <joel.becker@oracle.com>
22Zach Brown <zach.brown@oracle.com>
Sunil Mushran7ab8f522009-11-02 13:38:10 -080023Mark Fasheh <mfasheh@suse.com>
Mark Fashehccd979b2005-12-15 14:31:24 -080024Kurt Hackel <kurt.hackel@oracle.com>
Sunil Mushran7ab8f522009-11-02 13:38:10 -080025Tao Ma <tao.ma@oracle.com>
Mark Fashehccd979b2005-12-15 14:31:24 -080026Sunil Mushran <sunil.mushran@oracle.com>
27Manish Singh <manish.singh@oracle.com>
Sunil Mushran7ab8f522009-11-02 13:38:10 -080028Tiger Yang <tiger.yang@oracle.com>
Mark Fashehccd979b2005-12-15 14:31:24 -080029
30Caveats
31=======
32Features which OCFS2 does not support yet:
Mark Fashehccd979b2005-12-15 14:31:24 -080033 - Directory change notification (F_NOTIFY)
34 - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
Mark Fashehccd979b2005-12-15 14:31:24 -080035
36Mount options
37=============
38
39OCFS2 supports the following mount options:
40(*) == default
41
42barrier=1 This enables/disables barriers. barrier=0 disables it,
43 barrier=1 enables it.
44errors=remount-ro(*) Remount the filesystem read-only on an error.
45errors=panic Panic and halt the machine if an error occurs.
46intr (*) Allow signals to interrupt cluster operations.
47nointr Do not allow signals to interrupt cluster
48 operations.
Tiger Yange2b0c212011-03-02 19:32:09 +080049noatime Do not update access time.
50relatime(*) Update atime if the previous atime is older than
51 mtime or ctime
52strictatime Always update atime, but the minimum update interval
53 is specified by atime_quantum.
Tiger Yangbcd56252006-12-05 10:09:17 +080054atime_quantum=60(*) OCFS2 will not update atime unless this number
55 of seconds has passed since the last update.
Tiger Yange2b0c212011-03-02 19:32:09 +080056 Set to zero to always update atime. This option need
57 work with strictatime.
Mark Fasheh10b08452007-08-23 11:17:55 -070058data=ordered (*) All data are forced directly out to the main file
59 system prior to its metadata being committed to the
60 journal.
61data=writeback Data ordering is not preserved, data may be written
62 into the main file system after its metadata has been
63 committed to the journal.
64preferred_slot=0(*) During mount, try to use this filesystem slot first. If
65 it is in use by another node, the first empty one found
66 will be chosen. Invalid values will be ignored.
Mark Fashehd147b3d2007-11-07 14:40:36 -080067commit=nrsec (*) Ocfs2 can be told to sync all its data and metadata
68 every 'nrsec' seconds. The default value is 5 seconds.
69 This means that if you lose your power, you will lose
70 as much as the latest 5 seconds of work (your
71 filesystem will not be damaged though, thanks to the
72 journaling). This default value (or any low value)
73 will hurt performance, but it's good for data-safety.
74 Setting it to 0 will have the same effect as leaving
75 it at the default (5 seconds).
76 Setting it to very large values will improve
77 performance.
Sunil Mushran2fbe8d12007-12-20 14:58:11 -080078localalloc=8(*) Allows custom localalloc size in MB. If the value is too
79 large, the fs will silently revert it to the default.
Mark Fasheh53fc6222007-12-20 16:49:04 -080080localflocks This disables cluster aware flock.
Joel Becker12462f12008-09-03 20:03:40 -070081inode64 Indicates that Ocfs2 is allowed to create inodes at
82 any location in the filesystem, including those which
83 will result in inode numbers occupying more than 32
84 bits of significance.
Mark Fasheh696b55d2008-10-07 11:09:24 -070085user_xattr (*) Enables Extended User Attributes.
86nouser_xattr Disables Extended User Attributes.
Tiger Yanga68979b2008-11-14 11:17:52 +080087acl Enables POSIX Access Control Lists support.
88noacl (*) Disables POSIX Access Control Lists support.
Lucas De Marchi25985ed2011-03-30 22:57:33 -030089resv_level=2 (*) Set how aggressive allocation reservations will be.
Mark Fashehd02f00c2009-12-07 13:10:48 -080090 Valid values are between 0 (reservations off) to 8
91 (maximum space for reservations).
Mark Fasheh83f92312010-04-05 18:17:16 -070092dir_resv_level= (*) By default, directory reservations will scale with file
93 reservations - users should rarely need to change this
94 value. If allocation reservations are turned off, this
95 option will have no effect.
Tristan Ye7bdb0d12010-10-11 16:46:39 +080096coherency=full (*) Disallow concurrent O_DIRECT writes, cluster inode
97 lock will be taken to force other nodes drop cache,
98 therefore full cluster coherency is guaranteed even
99 for O_DIRECT writes.
100coherency=buffered Allow concurrent O_DIRECT writes without EX lock among
101 nodes, which gains high performance at risk of getting
102 stale data on other nodes.
alex chen1dfeb762015-02-10 14:09:04 -0800103journal_async_commit Commit block can be written to disk without waiting
104 for descriptor blocks. If enabled older kernels cannot
105 mount the device. This will enable 'journal_checksum'
106 internally.