mirror of https://gitee.com/openkylin/linux.git
118 lines
4.7 KiB
ReStructuredText
118 lines
4.7 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
================
|
||
|
OCFS2 filesystem
|
||
|
================
|
||
|
|
||
|
OCFS2 is a general purpose extent based shared disk cluster file
|
||
|
system with many similarities to ext3. It supports 64 bit inode
|
||
|
numbers, and has automatically extending metadata groups which may
|
||
|
also make it attractive for non-clustered use.
|
||
|
|
||
|
You'll want to install the ocfs2-tools package in order to at least
|
||
|
get "mount.ocfs2" and "ocfs2_hb_ctl".
|
||
|
|
||
|
Project web page: http://ocfs2.wiki.kernel.org
|
||
|
Tools git tree: https://github.com/markfasheh/ocfs2-tools
|
||
|
OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
|
||
|
|
||
|
All code copyright 2005 Oracle except when otherwise noted.
|
||
|
|
||
|
Credits
|
||
|
=======
|
||
|
|
||
|
Lots of code taken from ext3 and other projects.
|
||
|
|
||
|
Authors in alphabetical order:
|
||
|
|
||
|
- Joel Becker <joel.becker@oracle.com>
|
||
|
- Zach Brown <zach.brown@oracle.com>
|
||
|
- Mark Fasheh <mfasheh@suse.com>
|
||
|
- Kurt Hackel <kurt.hackel@oracle.com>
|
||
|
- Tao Ma <tao.ma@oracle.com>
|
||
|
- Sunil Mushran <sunil.mushran@oracle.com>
|
||
|
- Manish Singh <manish.singh@oracle.com>
|
||
|
- Tiger Yang <tiger.yang@oracle.com>
|
||
|
|
||
|
Caveats
|
||
|
=======
|
||
|
Features which OCFS2 does not support yet:
|
||
|
|
||
|
- Directory change notification (F_NOTIFY)
|
||
|
- Distributed Caching (F_SETLEASE/F_GETLEASE/break_lease)
|
||
|
|
||
|
Mount options
|
||
|
=============
|
||
|
|
||
|
OCFS2 supports the following mount options:
|
||
|
|
||
|
(*) == default
|
||
|
|
||
|
======================= ========================================================
|
||
|
barrier=1 This enables/disables barriers. barrier=0 disables it,
|
||
|
barrier=1 enables it.
|
||
|
errors=remount-ro(*) Remount the filesystem read-only on an error.
|
||
|
errors=panic Panic and halt the machine if an error occurs.
|
||
|
intr (*) Allow signals to interrupt cluster operations.
|
||
|
nointr Do not allow signals to interrupt cluster
|
||
|
operations.
|
||
|
noatime Do not update access time.
|
||
|
relatime(*) Update atime if the previous atime is older than
|
||
|
mtime or ctime
|
||
|
strictatime Always update atime, but the minimum update interval
|
||
|
is specified by atime_quantum.
|
||
|
atime_quantum=60(*) OCFS2 will not update atime unless this number
|
||
|
of seconds has passed since the last update.
|
||
|
Set to zero to always update atime. This option need
|
||
|
work with strictatime.
|
||
|
data=ordered (*) All data are forced directly out to the main file
|
||
|
system prior to its metadata being committed to the
|
||
|
journal.
|
||
|
data=writeback Data ordering is not preserved, data may be written
|
||
|
into the main file system after its metadata has been
|
||
|
committed to the journal.
|
||
|
preferred_slot=0(*) During mount, try to use this filesystem slot first. If
|
||
|
it is in use by another node, the first empty one found
|
||
|
will be chosen. Invalid values will be ignored.
|
||
|
commit=nrsec (*) Ocfs2 can be told to sync all its data and metadata
|
||
|
every 'nrsec' seconds. The default value is 5 seconds.
|
||
|
This means that if you lose your power, you will lose
|
||
|
as much as the latest 5 seconds of work (your
|
||
|
filesystem will not be damaged though, thanks to the
|
||
|
journaling). This default value (or any low value)
|
||
|
will hurt performance, but it's good for data-safety.
|
||
|
Setting it to 0 will have the same effect as leaving
|
||
|
it at the default (5 seconds).
|
||
|
Setting it to very large values will improve
|
||
|
performance.
|
||
|
localalloc=8(*) Allows custom localalloc size in MB. If the value is too
|
||
|
large, the fs will silently revert it to the default.
|
||
|
localflocks This disables cluster aware flock.
|
||
|
inode64 Indicates that Ocfs2 is allowed to create inodes at
|
||
|
any location in the filesystem, including those which
|
||
|
will result in inode numbers occupying more than 32
|
||
|
bits of significance.
|
||
|
user_xattr (*) Enables Extended User Attributes.
|
||
|
nouser_xattr Disables Extended User Attributes.
|
||
|
acl Enables POSIX Access Control Lists support.
|
||
|
noacl (*) Disables POSIX Access Control Lists support.
|
||
|
resv_level=2 (*) Set how aggressive allocation reservations will be.
|
||
|
Valid values are between 0 (reservations off) to 8
|
||
|
(maximum space for reservations).
|
||
|
dir_resv_level= (*) By default, directory reservations will scale with file
|
||
|
reservations - users should rarely need to change this
|
||
|
value. If allocation reservations are turned off, this
|
||
|
option will have no effect.
|
||
|
coherency=full (*) Disallow concurrent O_DIRECT writes, cluster inode
|
||
|
lock will be taken to force other nodes drop cache,
|
||
|
therefore full cluster coherency is guaranteed even
|
||
|
for O_DIRECT writes.
|
||
|
coherency=buffered Allow concurrent O_DIRECT writes without EX lock among
|
||
|
nodes, which gains high performance at risk of getting
|
||
|
stale data on other nodes.
|
||
|
journal_async_commit Commit block can be written to disk without waiting
|
||
|
for descriptor blocks. If enabled older kernels cannot
|
||
|
mount the device. This will enable 'journal_checksum'
|
||
|
internally.
|
||
|
======================= ========================================================
|