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