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