162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci================ 462306a36Sopenharmony_ciOCFS2 filesystem 562306a36Sopenharmony_ci================ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciOCFS2 is a general purpose extent based shared disk cluster file 862306a36Sopenharmony_cisystem with many similarities to ext3. It supports 64 bit inode 962306a36Sopenharmony_cinumbers, and has automatically extending metadata groups which may 1062306a36Sopenharmony_cialso make it attractive for non-clustered use. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciYou'll want to install the ocfs2-tools package in order to at least 1362306a36Sopenharmony_ciget "mount.ocfs2" and "ocfs2_hb_ctl". 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciProject web page: http://ocfs2.wiki.kernel.org 1662306a36Sopenharmony_ciTools git tree: https://github.com/markfasheh/ocfs2-tools 1762306a36Sopenharmony_ciOCFS2 mailing lists: https://subspace.kernel.org/lists.linux.dev.html 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciAll code copyright 2005 Oracle except when otherwise noted. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciCredits 2262306a36Sopenharmony_ci======= 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciLots of code taken from ext3 and other projects. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciAuthors in alphabetical order: 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci- Joel Becker <joel.becker@oracle.com> 2962306a36Sopenharmony_ci- Zach Brown <zach.brown@oracle.com> 3062306a36Sopenharmony_ci- Mark Fasheh <mfasheh@suse.com> 3162306a36Sopenharmony_ci- Kurt Hackel <kurt.hackel@oracle.com> 3262306a36Sopenharmony_ci- Tao Ma <tao.ma@oracle.com> 3362306a36Sopenharmony_ci- Sunil Mushran <sunil.mushran@oracle.com> 3462306a36Sopenharmony_ci- Manish Singh <manish.singh@oracle.com> 3562306a36Sopenharmony_ci- Tiger Yang <tiger.yang@oracle.com> 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciCaveats 3862306a36Sopenharmony_ci======= 3962306a36Sopenharmony_ciFeatures which OCFS2 does not support yet: 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci - Directory change notification (F_NOTIFY) 4262306a36Sopenharmony_ci - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciMount options 4562306a36Sopenharmony_ci============= 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciOCFS2 supports the following mount options: 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci(*) == default 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci======================= ======================================================== 5262306a36Sopenharmony_cibarrier=1 This enables/disables barriers. barrier=0 disables it, 5362306a36Sopenharmony_ci barrier=1 enables it. 5462306a36Sopenharmony_cierrors=remount-ro(*) Remount the filesystem read-only on an error. 5562306a36Sopenharmony_cierrors=panic Panic and halt the machine if an error occurs. 5662306a36Sopenharmony_ciintr (*) Allow signals to interrupt cluster operations. 5762306a36Sopenharmony_cinointr Do not allow signals to interrupt cluster 5862306a36Sopenharmony_ci operations. 5962306a36Sopenharmony_cinoatime Do not update access time. 6062306a36Sopenharmony_cirelatime(*) Update atime if the previous atime is older than 6162306a36Sopenharmony_ci mtime or ctime 6262306a36Sopenharmony_cistrictatime Always update atime, but the minimum update interval 6362306a36Sopenharmony_ci is specified by atime_quantum. 6462306a36Sopenharmony_ciatime_quantum=60(*) OCFS2 will not update atime unless this number 6562306a36Sopenharmony_ci of seconds has passed since the last update. 6662306a36Sopenharmony_ci Set to zero to always update atime. This option need 6762306a36Sopenharmony_ci work with strictatime. 6862306a36Sopenharmony_cidata=ordered (*) All data are forced directly out to the main file 6962306a36Sopenharmony_ci system prior to its metadata being committed to the 7062306a36Sopenharmony_ci journal. 7162306a36Sopenharmony_cidata=writeback Data ordering is not preserved, data may be written 7262306a36Sopenharmony_ci into the main file system after its metadata has been 7362306a36Sopenharmony_ci committed to the journal. 7462306a36Sopenharmony_cipreferred_slot=0(*) During mount, try to use this filesystem slot first. If 7562306a36Sopenharmony_ci it is in use by another node, the first empty one found 7662306a36Sopenharmony_ci will be chosen. Invalid values will be ignored. 7762306a36Sopenharmony_cicommit=nrsec (*) Ocfs2 can be told to sync all its data and metadata 7862306a36Sopenharmony_ci every 'nrsec' seconds. The default value is 5 seconds. 7962306a36Sopenharmony_ci This means that if you lose your power, you will lose 8062306a36Sopenharmony_ci as much as the latest 5 seconds of work (your 8162306a36Sopenharmony_ci filesystem will not be damaged though, thanks to the 8262306a36Sopenharmony_ci journaling). This default value (or any low value) 8362306a36Sopenharmony_ci will hurt performance, but it's good for data-safety. 8462306a36Sopenharmony_ci Setting it to 0 will have the same effect as leaving 8562306a36Sopenharmony_ci it at the default (5 seconds). 8662306a36Sopenharmony_ci Setting it to very large values will improve 8762306a36Sopenharmony_ci performance. 8862306a36Sopenharmony_cilocalalloc=8(*) Allows custom localalloc size in MB. If the value is too 8962306a36Sopenharmony_ci large, the fs will silently revert it to the default. 9062306a36Sopenharmony_cilocalflocks This disables cluster aware flock. 9162306a36Sopenharmony_ciinode64 Indicates that Ocfs2 is allowed to create inodes at 9262306a36Sopenharmony_ci any location in the filesystem, including those which 9362306a36Sopenharmony_ci will result in inode numbers occupying more than 32 9462306a36Sopenharmony_ci bits of significance. 9562306a36Sopenharmony_ciuser_xattr (*) Enables Extended User Attributes. 9662306a36Sopenharmony_cinouser_xattr Disables Extended User Attributes. 9762306a36Sopenharmony_ciacl Enables POSIX Access Control Lists support. 9862306a36Sopenharmony_cinoacl (*) Disables POSIX Access Control Lists support. 9962306a36Sopenharmony_ciresv_level=2 (*) Set how aggressive allocation reservations will be. 10062306a36Sopenharmony_ci Valid values are between 0 (reservations off) to 8 10162306a36Sopenharmony_ci (maximum space for reservations). 10262306a36Sopenharmony_cidir_resv_level= (*) By default, directory reservations will scale with file 10362306a36Sopenharmony_ci reservations - users should rarely need to change this 10462306a36Sopenharmony_ci value. If allocation reservations are turned off, this 10562306a36Sopenharmony_ci option will have no effect. 10662306a36Sopenharmony_cicoherency=full (*) Disallow concurrent O_DIRECT writes, cluster inode 10762306a36Sopenharmony_ci lock will be taken to force other nodes drop cache, 10862306a36Sopenharmony_ci therefore full cluster coherency is guaranteed even 10962306a36Sopenharmony_ci for O_DIRECT writes. 11062306a36Sopenharmony_cicoherency=buffered Allow concurrent O_DIRECT writes without EX lock among 11162306a36Sopenharmony_ci nodes, which gains high performance at risk of getting 11262306a36Sopenharmony_ci stale data on other nodes. 11362306a36Sopenharmony_cijournal_async_commit Commit block can be written to disk without waiting 11462306a36Sopenharmony_ci for descriptor blocks. If enabled older kernels cannot 11562306a36Sopenharmony_ci mount the device. This will enable 'journal_checksum' 11662306a36Sopenharmony_ci internally. 11762306a36Sopenharmony_ci======================= ======================================================== 118