18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci================ 48c2ecf20Sopenharmony_ciOCFS2 filesystem 58c2ecf20Sopenharmony_ci================ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciOCFS2 is a general purpose extent based shared disk cluster file 88c2ecf20Sopenharmony_cisystem with many similarities to ext3. It supports 64 bit inode 98c2ecf20Sopenharmony_cinumbers, and has automatically extending metadata groups which may 108c2ecf20Sopenharmony_cialso make it attractive for non-clustered use. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciYou'll want to install the ocfs2-tools package in order to at least 138c2ecf20Sopenharmony_ciget "mount.ocfs2" and "ocfs2_hb_ctl". 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciProject web page: http://ocfs2.wiki.kernel.org 168c2ecf20Sopenharmony_ciTools git tree: https://github.com/markfasheh/ocfs2-tools 178c2ecf20Sopenharmony_ciOCFS2 mailing lists: https://oss.oracle.com/projects/ocfs2/mailman/ 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciAll code copyright 2005 Oracle except when otherwise noted. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciCredits 228c2ecf20Sopenharmony_ci======= 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciLots of code taken from ext3 and other projects. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciAuthors in alphabetical order: 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci- Joel Becker <joel.becker@oracle.com> 298c2ecf20Sopenharmony_ci- Zach Brown <zach.brown@oracle.com> 308c2ecf20Sopenharmony_ci- Mark Fasheh <mfasheh@suse.com> 318c2ecf20Sopenharmony_ci- Kurt Hackel <kurt.hackel@oracle.com> 328c2ecf20Sopenharmony_ci- Tao Ma <tao.ma@oracle.com> 338c2ecf20Sopenharmony_ci- Sunil Mushran <sunil.mushran@oracle.com> 348c2ecf20Sopenharmony_ci- Manish Singh <manish.singh@oracle.com> 358c2ecf20Sopenharmony_ci- Tiger Yang <tiger.yang@oracle.com> 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciCaveats 388c2ecf20Sopenharmony_ci======= 398c2ecf20Sopenharmony_ciFeatures which OCFS2 does not support yet: 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci - Directory change notification (F_NOTIFY) 428c2ecf20Sopenharmony_ci - Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease) 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciMount options 458c2ecf20Sopenharmony_ci============= 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciOCFS2 supports the following mount options: 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci(*) == default 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci======================= ======================================================== 528c2ecf20Sopenharmony_cibarrier=1 This enables/disables barriers. barrier=0 disables it, 538c2ecf20Sopenharmony_ci barrier=1 enables it. 548c2ecf20Sopenharmony_cierrors=remount-ro(*) Remount the filesystem read-only on an error. 558c2ecf20Sopenharmony_cierrors=panic Panic and halt the machine if an error occurs. 568c2ecf20Sopenharmony_ciintr (*) Allow signals to interrupt cluster operations. 578c2ecf20Sopenharmony_cinointr Do not allow signals to interrupt cluster 588c2ecf20Sopenharmony_ci operations. 598c2ecf20Sopenharmony_cinoatime Do not update access time. 608c2ecf20Sopenharmony_cirelatime(*) Update atime if the previous atime is older than 618c2ecf20Sopenharmony_ci mtime or ctime 628c2ecf20Sopenharmony_cistrictatime Always update atime, but the minimum update interval 638c2ecf20Sopenharmony_ci is specified by atime_quantum. 648c2ecf20Sopenharmony_ciatime_quantum=60(*) OCFS2 will not update atime unless this number 658c2ecf20Sopenharmony_ci of seconds has passed since the last update. 668c2ecf20Sopenharmony_ci Set to zero to always update atime. This option need 678c2ecf20Sopenharmony_ci work with strictatime. 688c2ecf20Sopenharmony_cidata=ordered (*) All data are forced directly out to the main file 698c2ecf20Sopenharmony_ci system prior to its metadata being committed to the 708c2ecf20Sopenharmony_ci journal. 718c2ecf20Sopenharmony_cidata=writeback Data ordering is not preserved, data may be written 728c2ecf20Sopenharmony_ci into the main file system after its metadata has been 738c2ecf20Sopenharmony_ci committed to the journal. 748c2ecf20Sopenharmony_cipreferred_slot=0(*) During mount, try to use this filesystem slot first. If 758c2ecf20Sopenharmony_ci it is in use by another node, the first empty one found 768c2ecf20Sopenharmony_ci will be chosen. Invalid values will be ignored. 778c2ecf20Sopenharmony_cicommit=nrsec (*) Ocfs2 can be told to sync all its data and metadata 788c2ecf20Sopenharmony_ci every 'nrsec' seconds. The default value is 5 seconds. 798c2ecf20Sopenharmony_ci This means that if you lose your power, you will lose 808c2ecf20Sopenharmony_ci as much as the latest 5 seconds of work (your 818c2ecf20Sopenharmony_ci filesystem will not be damaged though, thanks to the 828c2ecf20Sopenharmony_ci journaling). This default value (or any low value) 838c2ecf20Sopenharmony_ci will hurt performance, but it's good for data-safety. 848c2ecf20Sopenharmony_ci Setting it to 0 will have the same effect as leaving 858c2ecf20Sopenharmony_ci it at the default (5 seconds). 868c2ecf20Sopenharmony_ci Setting it to very large values will improve 878c2ecf20Sopenharmony_ci performance. 888c2ecf20Sopenharmony_cilocalalloc=8(*) Allows custom localalloc size in MB. If the value is too 898c2ecf20Sopenharmony_ci large, the fs will silently revert it to the default. 908c2ecf20Sopenharmony_cilocalflocks This disables cluster aware flock. 918c2ecf20Sopenharmony_ciinode64 Indicates that Ocfs2 is allowed to create inodes at 928c2ecf20Sopenharmony_ci any location in the filesystem, including those which 938c2ecf20Sopenharmony_ci will result in inode numbers occupying more than 32 948c2ecf20Sopenharmony_ci bits of significance. 958c2ecf20Sopenharmony_ciuser_xattr (*) Enables Extended User Attributes. 968c2ecf20Sopenharmony_cinouser_xattr Disables Extended User Attributes. 978c2ecf20Sopenharmony_ciacl Enables POSIX Access Control Lists support. 988c2ecf20Sopenharmony_cinoacl (*) Disables POSIX Access Control Lists support. 998c2ecf20Sopenharmony_ciresv_level=2 (*) Set how aggressive allocation reservations will be. 1008c2ecf20Sopenharmony_ci Valid values are between 0 (reservations off) to 8 1018c2ecf20Sopenharmony_ci (maximum space for reservations). 1028c2ecf20Sopenharmony_cidir_resv_level= (*) By default, directory reservations will scale with file 1038c2ecf20Sopenharmony_ci reservations - users should rarely need to change this 1048c2ecf20Sopenharmony_ci value. If allocation reservations are turned off, this 1058c2ecf20Sopenharmony_ci option will have no effect. 1068c2ecf20Sopenharmony_cicoherency=full (*) Disallow concurrent O_DIRECT writes, cluster inode 1078c2ecf20Sopenharmony_ci lock will be taken to force other nodes drop cache, 1088c2ecf20Sopenharmony_ci therefore full cluster coherency is guaranteed even 1098c2ecf20Sopenharmony_ci for O_DIRECT writes. 1108c2ecf20Sopenharmony_cicoherency=buffered Allow concurrent O_DIRECT writes without EX lock among 1118c2ecf20Sopenharmony_ci nodes, which gains high performance at risk of getting 1128c2ecf20Sopenharmony_ci stale data on other nodes. 1138c2ecf20Sopenharmony_cijournal_async_commit Commit block can be written to disk without waiting 1148c2ecf20Sopenharmony_ci for descriptor blocks. If enabled older kernels cannot 1158c2ecf20Sopenharmony_ci mount the device. This will enable 'journal_checksum' 1168c2ecf20Sopenharmony_ci internally. 1178c2ecf20Sopenharmony_ci======================= ======================================================== 118