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