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