Index: 2.4.x-xfs/Documentation/filesystems/xfs.txt =================================================================== --- 2.4.x-xfs.orig/Documentation/filesystems/xfs.txt 2005-06-03 16:20:58.124123454 +1000 +++ 2.4.x-xfs/Documentation/filesystems/xfs.txt 2005-12-20 14:42:49.000000000 +1100 @@ -19,32 +19,41 @@ When mounting an XFS filesystem, the following options are accepted. - biosize=size - Sets the preferred buffered I/O size (default size is 64K). - "size" must be expressed as the logarithm (base2) of the - desired I/O size. - Valid values for this option are 14 through 16, inclusive - (i.e. 16K, 32K, and 64K bytes). On machines with a 4K - pagesize, 13 (8K bytes) is also a valid size. - The preferred buffered I/O size can also be altered on an - individual file basis using the ioctl(2) system call. + allocsize=size + Sets the buffered I/O end-of-file preallocation size when + doing delayed allocation writeout (default size is 64KB). + Valid values for this option are page size (typically 4KB) + through to 1GB, inclusive, in power-of-2 increments. dmapi Enable the DMAPI (Data Management API) event callouts. Use with the "mtpt" option. + ihashsize=value + Sets the number of hash buckets available for hashing the + in-memory inodes of the specified mount point. If a value + of zero is used, the value selected by the default algorithm + will be displayed in /proc/mounts. + ikeep/noikeep When inode clusters are emptied of inodes, keep them around on the disk (ikeep) - this is the traditional XFS behaviour and is still the default for now. Using the noikeep option, inode clusters are returned to the free space pool. + inode64 + Indicates that XFS 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. This is + provided for backwards compatibility, but causes problems for + backup applications that cannot handle large inode numbers. + logbufs=value Set the number of in-memory log buffers. Valid numbers range from 2-8 inclusive. The default value is 8 buffers for filesystems with a - blocksize of 64K, 4 buffers for filesystems with a blocksize - of 32K, 3 buffers for filesystems with a blocksize of 16K + blocksize of 64KB, 4 buffers for filesystems with a blocksize + of 32KB, 3 buffers for filesystems with a blocksize of 16KB and 2 buffers for all other configurations. Increasing the number of buffers may increase performance on some workloads at the cost of the memory used for the additional log buffers @@ -100,13 +109,17 @@ O_SYNC writes can be lost if the system crashes. If timestamp updates are critical, use the osyncisosync option. - quota/usrquota/uqnoenforce + uquota/usrquota/uqnoenforce/quota User disk quota accounting enabled, and limits (optionally) - enforced. + enforced. Refer to xfs_quota(8) for further details. - grpquota/gqnoenforce + gquota/grpquota/gqnoenforce Group disk quota accounting enabled and limits (optionally) - enforced. + enforced. Refer to xfs_quota(8) for further details. + + pquota/prjquota/pqnoenforce + Project disk quota accounting enabled and limits (optionally) + enforced. Refer to xfs_quota(8) for further details. sunit=value and swidth=value Used to specify the stripe unit and width for a RAID device or @@ -122,6 +135,27 @@ The "swidth" option is required if the "sunit" option has been specified, and must be a multiple of the "sunit" value. + swalloc + Data allocations will be rounded up to stripe width boundaries + when the current end of file is being extended and the file + size is larger than the stripe width size. + + largeio/nolargeio + + If "nolargeio" is specified, the optimal I/O reported in + st_blksize by stat(2) will be as small as possible to allow user + applications to avoid inefficient read/modify/write I/O. + If "largeio" specified, a filesystem that has a "swidth" specified + will return the "swidth" value (in bytes) in st_blksize. If the + filesystem does not have a "swidth" specified but does specify + an "allocsize" then "allocsize" (in bytes) will be returned + instead. + If neither of these two options are specified, then filesystem + will behave as if "nolargeio" was specified. + + + + sysctls ======= @@ -130,16 +164,16 @@ fs.xfs.stats_clear (Min: 0 Default: 0 Max: 1) Setting this to "1" clears accumulated XFS statistics in /proc/fs/xfs/stat. It then immediately resets to "0". - - fs.xfs.xfssyncd_centisecs (Min: 100 Default: 3000 Max: 6000) - The interval at which the xfssyncd thread flushes metadata - out to disk. This thread will flush log activity out, and - do some processing on unlinked inodes. + + fs.xfs.xfssyncd_centisecs (Min: 100 Default: 3000 Max: 720000) + The interval at which the xfssyncd thread flushes metadata + out to disk. This thread will flush log activity out, and + do some processing on unlinked inodes. - fs.xfs.xfsbufd_centisecs (Min: 50 Default: 100 Max: 3000) + fs.xfs.xfsbufd_centisecs (Min: 50 Default: 100 Max: 3000) The interval at which xfsbufd scans the dirty metadata buffers list. - fs.xfs.age_buffer_centisecs (Min: 100 Default: 1500 Max: 30000) + fs.xfs.age_buffer_centisecs (Min: 100 Default: 1500 Max: 720000) The age at which xfsbufd flushes dirty metadata buffers to disk. fs.xfs.error_level (Min: 0 Default: 3 Max: 11) @@ -181,27 +215,29 @@ Controls whether unprivileged users can use chown to "give away" a file to another user. - fs.xfs.refcache_size (Min: 0 Default: 128 Max: 512) - Controls the size of the NFS refcache, which holds references - on files opened via NFS to improve performance. The value - is the maximum number of files which can be in the cache at - any one time. - - fs.xfs.refcache_purge (Min: 0 Default: 32 Max: 512) - Controls the number of entries purged from the NFS refcache - every sync interval. - - fs.xfs.inherit_sync (Min: 0 Default: 1 Max 1) + fs.xfs.inherit_sync (Min: 0 Default: 1 Max: 1) Setting this to "1" will cause the "sync" flag set - by the chattr(1) command on a directory to be + by the xfs_io(8) chattr command on a directory to be inherited by files in that directory. - fs.xfs.inherit_nodump (Min: 0 Default: 1 Max 1) + fs.xfs.inherit_nodump (Min: 0 Default: 1 Max: 1) Setting this to "1" will cause the "nodump" flag set - by the chattr(1) command on a directory to be + by the xfs_io(8) chattr command on a directory to be inherited by files in that directory. - fs.xfs.inherit_noatime (Min: 0 Default: 1 Max 1) + fs.xfs.inherit_noatime (Min: 0 Default: 1 Max: 1) Setting this to "1" will cause the "noatime" flag set - by the chattr(1) command on a directory to be + by the xfs_io(8) chattr command on a directory to be inherited by files in that directory. + + fs.xfs.inherit_nosymlinks (Min: 0 Default: 1 Max: 1) + Setting this to "1" will cause the "nosymlinks" flag set + by the xfs_io(8) chattr command on a directory to be + inherited by files in that directory. + + fs.xfs.rotorstep (Min: 1 Default: 1 Max: 256) + In "inode32" allocation mode, this option determines how many + files the allocator attempts to allocate in the same allocation + group before moving to the next allocation group. The intent + is to control the rate at which the allocator moves between + allocation groups when allocating extents for new files.