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