[XFS] Update XFS documentation.
authorNathan Scott <nathans@sgi.com>
Thu, 3 Nov 2005 02:46:43 +0000 (13:46 +1100)
committerNathan Scott <nathans@sgi.com>
Thu, 3 Nov 2005 02:46:43 +0000 (13:46 +1100)
Signed-off-by: Nathan Scott <nathans@sgi.com>
Documentation/filesystems/xfs.txt

index c7d5d0c7067d2ad20e69dbfc665dae9b314be205..74aeb142ae5f2b14865cba7224a8d04020a73b6d 100644 (file)
@@ -19,15 +19,43 @@ Mount Options
 
 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 64KiB).
+       Valid values for this option are page size (typically 4KiB)
+       through to 1GiB, inclusive, in power-of-2 increments.
+
+  attr2/noattr2
+       The options enable/disable (default is disabled for backward
+       compatibility on-disk) an "opportunistic" improvement to be
+       made in the way inline extended attributes are stored on-disk.
+       When the new form is used for the first time (by setting or
+       removing extended attributes) the on-disk superblock feature
+       bit field will be updated to reflect this format being in use.
+
+  barrier
+       Enables the use of block layer write barriers for writes into
+       the journal and unwritten extent conversion.  This allows for
+       drive level write caching to be enabled, for devices that
+       support write barriers.
+
+  dmapi
+       Enable the DMAPI (Data Management API) event callouts.
+       Use with the "mtpt" option.
+
+  grpid/bsdgroups and nogrpid/sysvgroups
+       These options define what group ID a newly created file gets.
+       When grpid is set, it takes the group ID of the directory in
+       which it is created; otherwise (the default) it takes the fsgid
+       of the current process, unless the directory has the setgid bit
+       set, in which case it takes the gid from the parent directory,
+       and also gets the setgid bit set if it is a directory itself.
+
+  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
@@ -35,12 +63,31 @@ When mounting an XFS filesystem, the following options are accepted.
        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.
+
+  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.
+
   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 64KiB, 4 buffers for filesystems with a blocksize
+       of 32KiB, 3 buffers for filesystems with a blocksize of 16KiB
        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
@@ -49,10 +96,10 @@ When mounting an XFS filesystem, the following options are accepted.
   logbsize=value
        Set the size of each in-memory log buffer.
        Size may be specified in bytes, or in kilobytes with a "k" suffix.
-       Valid sizes for version 1 and version 2 logs are 16384 (16k) and 
-       32768 (32k).  Valid sizes for version 2 logs also include 
+       Valid sizes for version 1 and version 2 logs are 16384 (16k) and
+       32768 (32k).  Valid sizes for version 2 logs also include
        65536 (64k), 131072 (128k) and 262144 (256k).
-       The default value for machines with more than 32MB of memory
+       The default value for machines with more than 32MiB of memory
        is 32768, machines with less memory use 16384 by default.
 
   logdev=device and rtdev=device
@@ -62,6 +109,11 @@ When mounting an XFS filesystem, the following options are accepted.
        optional, and the log section can be separate from the data
        section or contained within it.
 
+  mtpt=mountpoint
+       Use with the "dmapi" option.  The value specified here will be
+       included in the DMAPI mount event, and should be the path of
+       the actual mountpoint that is used.
+
   noalign
        Data allocations will not be aligned at stripe unit boundaries.
 
@@ -91,13 +143,17 @@ When mounting an XFS filesystem, the following options are accepted.
        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
@@ -113,15 +169,21 @@ When mounting an XFS filesystem, the following options are accepted.
        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.
+
+
 sysctls
 =======
 
 The following sysctls are available for the XFS filesystem:
 
   fs.xfs.stats_clear           (Min: 0  Default: 0  Max: 1)
-       Setting this to "1" clears accumulated XFS statistics 
+       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: 720000)
        The interval at which the xfssyncd thread flushes metadata
        out to disk.  This thread will flush log activity out, and
@@ -143,9 +205,9 @@ The following sysctls are available for the XFS filesystem:
                XFS_ERRLEVEL_HIGH:      5
 
   fs.xfs.panic_mask            (Min: 0  Default: 0  Max: 127)
-       Causes certain error conditions to call BUG(). Value is a bitmask; 
+       Causes certain error conditions to call BUG(). Value is a bitmask;
        AND together the tags which represent errors which should cause panics:
-       
+
                XFS_NO_PTAG                     0
                XFS_PTAG_IFLUSH                 0x00000001
                XFS_PTAG_LOGRES                 0x00000002
@@ -155,7 +217,7 @@ The following sysctls are available for the XFS filesystem:
                XFS_PTAG_SHUTDOWN_IOERROR       0x00000020
                XFS_PTAG_SHUTDOWN_LOGERROR      0x00000040
 
-       This option is intended for debugging only.             
+       This option is intended for debugging only.
 
   fs.xfs.irix_symlink_mode     (Min: 0  Default: 0  Max: 1)
        Controls whether symlinks are created with mode 0777 (default)
@@ -164,25 +226,37 @@ The following sysctls are available for the XFS filesystem:
   fs.xfs.irix_sgid_inherit     (Min: 0  Default: 0  Max: 1)
        Controls files created in SGID directories.
        If the group ID of the new file does not match the effective group
-       ID or one of the supplementary group IDs of the parent dir, the 
-       ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl 
+       ID or one of the supplementary group IDs of the parent dir, the
+       ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl
        is set.
 
   fs.xfs.restrict_chown                (Min: 0  Default: 1  Max: 1)
        Controls whether unprivileged users can use chown to "give away"
        a file to another user.
 
-  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
+  fs.xfs.inherit_sync          (Min: 0  Default: 1  Max: 1)
+       Setting this to "1" will cause the "sync" flag set
+       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)
-       Setting this to "1" will cause the "nodump" flag set 
-       by the chattr(1) command on a directory to be
+  fs.xfs.inherit_nodump                (Min: 0  Default: 1  Max: 1)
+       Setting this to "1" will cause the "nodump" flag set
+       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)
-       Setting this to "1" will cause the "noatime" flag set 
-       by the chattr(1) command on a directory to be
+  fs.xfs.inherit_noatime       (Min: 0  Default: 1  Max: 1)
+       Setting this to "1" will cause the "noatime" flag set
+       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.