diff options
author | Nathan Scott <nathans@sgi.com> | 2005-11-02 21:46:43 -0500 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-11-02 21:46:43 -0500 |
commit | fc97bbf35d925b3e18a6a31d577552825146952e (patch) | |
tree | 2c70d450bd853132051a9b837c6bf9a59f78f050 /Documentation/filesystems/xfs.txt | |
parent | bf6f05aa0bb6f1fe9a9ce35287678c3916bddfef (diff) |
[XFS] Update XFS documentation.
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'Documentation/filesystems/xfs.txt')
-rw-r--r-- | Documentation/filesystems/xfs.txt | 142 |
1 files changed, 108 insertions, 34 deletions
diff --git a/Documentation/filesystems/xfs.txt b/Documentation/filesystems/xfs.txt index c7d5d0c7067d..74aeb142ae5f 100644 --- a/Documentation/filesystems/xfs.txt +++ b/Documentation/filesystems/xfs.txt | |||
@@ -19,15 +19,43 @@ Mount Options | |||
19 | 19 | ||
20 | When mounting an XFS filesystem, the following options are accepted. | 20 | When mounting an XFS filesystem, the following options are accepted. |
21 | 21 | ||
22 | biosize=size | 22 | allocsize=size |
23 | Sets the preferred buffered I/O size (default size is 64K). | 23 | Sets the buffered I/O end-of-file preallocation size when |
24 | "size" must be expressed as the logarithm (base2) of the | 24 | doing delayed allocation writeout (default size is 64KiB). |
25 | desired I/O size. | 25 | Valid values for this option are page size (typically 4KiB) |
26 | Valid values for this option are 14 through 16, inclusive | 26 | through to 1GiB, inclusive, in power-of-2 increments. |
27 | (i.e. 16K, 32K, and 64K bytes). On machines with a 4K | 27 | |
28 | pagesize, 13 (8K bytes) is also a valid size. | 28 | attr2/noattr2 |
29 | The preferred buffered I/O size can also be altered on an | 29 | The options enable/disable (default is disabled for backward |
30 | individual file basis using the ioctl(2) system call. | 30 | compatibility on-disk) an "opportunistic" improvement to be |
31 | made in the way inline extended attributes are stored on-disk. | ||
32 | When the new form is used for the first time (by setting or | ||
33 | removing extended attributes) the on-disk superblock feature | ||
34 | bit field will be updated to reflect this format being in use. | ||
35 | |||
36 | barrier | ||
37 | Enables the use of block layer write barriers for writes into | ||
38 | the journal and unwritten extent conversion. This allows for | ||
39 | drive level write caching to be enabled, for devices that | ||
40 | support write barriers. | ||
41 | |||
42 | dmapi | ||
43 | Enable the DMAPI (Data Management API) event callouts. | ||
44 | Use with the "mtpt" option. | ||
45 | |||
46 | grpid/bsdgroups and nogrpid/sysvgroups | ||
47 | These options define what group ID a newly created file gets. | ||
48 | When grpid is set, it takes the group ID of the directory in | ||
49 | which it is created; otherwise (the default) it takes the fsgid | ||
50 | of the current process, unless the directory has the setgid bit | ||
51 | set, in which case it takes the gid from the parent directory, | ||
52 | and also gets the setgid bit set if it is a directory itself. | ||
53 | |||
54 | ihashsize=value | ||
55 | Sets the number of hash buckets available for hashing the | ||
56 | in-memory inodes of the specified mount point. If a value | ||
57 | of zero is used, the value selected by the default algorithm | ||
58 | will be displayed in /proc/mounts. | ||
31 | 59 | ||
32 | ikeep/noikeep | 60 | ikeep/noikeep |
33 | When inode clusters are emptied of inodes, keep them around | 61 | When inode clusters are emptied of inodes, keep them around |
@@ -35,12 +63,31 @@ When mounting an XFS filesystem, the following options are accepted. | |||
35 | and is still the default for now. Using the noikeep option, | 63 | and is still the default for now. Using the noikeep option, |
36 | inode clusters are returned to the free space pool. | 64 | inode clusters are returned to the free space pool. |
37 | 65 | ||
66 | inode64 | ||
67 | Indicates that XFS is allowed to create inodes at any location | ||
68 | in the filesystem, including those which will result in inode | ||
69 | numbers occupying more than 32 bits of significance. This is | ||
70 | provided for backwards compatibility, but causes problems for | ||
71 | backup applications that cannot handle large inode numbers. | ||
72 | |||
73 | largeio/nolargeio | ||
74 | If "nolargeio" is specified, the optimal I/O reported in | ||
75 | st_blksize by stat(2) will be as small as possible to allow user | ||
76 | applications to avoid inefficient read/modify/write I/O. | ||
77 | If "largeio" specified, a filesystem that has a "swidth" specified | ||
78 | will return the "swidth" value (in bytes) in st_blksize. If the | ||
79 | filesystem does not have a "swidth" specified but does specify | ||
80 | an "allocsize" then "allocsize" (in bytes) will be returned | ||
81 | instead. | ||
82 | If neither of these two options are specified, then filesystem | ||
83 | will behave as if "nolargeio" was specified. | ||
84 | |||
38 | logbufs=value | 85 | logbufs=value |
39 | Set the number of in-memory log buffers. Valid numbers range | 86 | Set the number of in-memory log buffers. Valid numbers range |
40 | from 2-8 inclusive. | 87 | from 2-8 inclusive. |
41 | The default value is 8 buffers for filesystems with a | 88 | The default value is 8 buffers for filesystems with a |
42 | blocksize of 64K, 4 buffers for filesystems with a blocksize | 89 | blocksize of 64KiB, 4 buffers for filesystems with a blocksize |
43 | of 32K, 3 buffers for filesystems with a blocksize of 16K | 90 | of 32KiB, 3 buffers for filesystems with a blocksize of 16KiB |
44 | and 2 buffers for all other configurations. Increasing the | 91 | and 2 buffers for all other configurations. Increasing the |
45 | number of buffers may increase performance on some workloads | 92 | number of buffers may increase performance on some workloads |
46 | at the cost of the memory used for the additional log buffers | 93 | 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. | |||
49 | logbsize=value | 96 | logbsize=value |
50 | Set the size of each in-memory log buffer. | 97 | Set the size of each in-memory log buffer. |
51 | Size may be specified in bytes, or in kilobytes with a "k" suffix. | 98 | Size may be specified in bytes, or in kilobytes with a "k" suffix. |
52 | Valid sizes for version 1 and version 2 logs are 16384 (16k) and | 99 | Valid sizes for version 1 and version 2 logs are 16384 (16k) and |
53 | 32768 (32k). Valid sizes for version 2 logs also include | 100 | 32768 (32k). Valid sizes for version 2 logs also include |
54 | 65536 (64k), 131072 (128k) and 262144 (256k). | 101 | 65536 (64k), 131072 (128k) and 262144 (256k). |
55 | The default value for machines with more than 32MB of memory | 102 | The default value for machines with more than 32MiB of memory |
56 | is 32768, machines with less memory use 16384 by default. | 103 | is 32768, machines with less memory use 16384 by default. |
57 | 104 | ||
58 | logdev=device and rtdev=device | 105 | logdev=device and rtdev=device |
@@ -62,6 +109,11 @@ When mounting an XFS filesystem, the following options are accepted. | |||
62 | optional, and the log section can be separate from the data | 109 | optional, and the log section can be separate from the data |
63 | section or contained within it. | 110 | section or contained within it. |
64 | 111 | ||
112 | mtpt=mountpoint | ||
113 | Use with the "dmapi" option. The value specified here will be | ||
114 | included in the DMAPI mount event, and should be the path of | ||
115 | the actual mountpoint that is used. | ||
116 | |||
65 | noalign | 117 | noalign |
66 | Data allocations will not be aligned at stripe unit boundaries. | 118 | Data allocations will not be aligned at stripe unit boundaries. |
67 | 119 | ||
@@ -91,13 +143,17 @@ When mounting an XFS filesystem, the following options are accepted. | |||
91 | O_SYNC writes can be lost if the system crashes. | 143 | O_SYNC writes can be lost if the system crashes. |
92 | If timestamp updates are critical, use the osyncisosync option. | 144 | If timestamp updates are critical, use the osyncisosync option. |
93 | 145 | ||
94 | quota/usrquota/uqnoenforce | 146 | uquota/usrquota/uqnoenforce/quota |
95 | User disk quota accounting enabled, and limits (optionally) | 147 | User disk quota accounting enabled, and limits (optionally) |
96 | enforced. | 148 | enforced. Refer to xfs_quota(8) for further details. |
97 | 149 | ||
98 | grpquota/gqnoenforce | 150 | gquota/grpquota/gqnoenforce |
99 | Group disk quota accounting enabled and limits (optionally) | 151 | Group disk quota accounting enabled and limits (optionally) |
100 | enforced. | 152 | enforced. Refer to xfs_quota(8) for further details. |
153 | |||
154 | pquota/prjquota/pqnoenforce | ||
155 | Project disk quota accounting enabled and limits (optionally) | ||
156 | enforced. Refer to xfs_quota(8) for further details. | ||
101 | 157 | ||
102 | sunit=value and swidth=value | 158 | sunit=value and swidth=value |
103 | Used to specify the stripe unit and width for a RAID device or | 159 | 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. | |||
113 | The "swidth" option is required if the "sunit" option has been | 169 | The "swidth" option is required if the "sunit" option has been |
114 | specified, and must be a multiple of the "sunit" value. | 170 | specified, and must be a multiple of the "sunit" value. |
115 | 171 | ||
172 | swalloc | ||
173 | Data allocations will be rounded up to stripe width boundaries | ||
174 | when the current end of file is being extended and the file | ||
175 | size is larger than the stripe width size. | ||
176 | |||
177 | |||
116 | sysctls | 178 | sysctls |
117 | ======= | 179 | ======= |
118 | 180 | ||
119 | The following sysctls are available for the XFS filesystem: | 181 | The following sysctls are available for the XFS filesystem: |
120 | 182 | ||
121 | fs.xfs.stats_clear (Min: 0 Default: 0 Max: 1) | 183 | fs.xfs.stats_clear (Min: 0 Default: 0 Max: 1) |
122 | Setting this to "1" clears accumulated XFS statistics | 184 | Setting this to "1" clears accumulated XFS statistics |
123 | in /proc/fs/xfs/stat. It then immediately resets to "0". | 185 | in /proc/fs/xfs/stat. It then immediately resets to "0". |
124 | 186 | ||
125 | fs.xfs.xfssyncd_centisecs (Min: 100 Default: 3000 Max: 720000) | 187 | fs.xfs.xfssyncd_centisecs (Min: 100 Default: 3000 Max: 720000) |
126 | The interval at which the xfssyncd thread flushes metadata | 188 | The interval at which the xfssyncd thread flushes metadata |
127 | out to disk. This thread will flush log activity out, and | 189 | out to disk. This thread will flush log activity out, and |
@@ -143,9 +205,9 @@ The following sysctls are available for the XFS filesystem: | |||
143 | XFS_ERRLEVEL_HIGH: 5 | 205 | XFS_ERRLEVEL_HIGH: 5 |
144 | 206 | ||
145 | fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127) | 207 | fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127) |
146 | Causes certain error conditions to call BUG(). Value is a bitmask; | 208 | Causes certain error conditions to call BUG(). Value is a bitmask; |
147 | AND together the tags which represent errors which should cause panics: | 209 | AND together the tags which represent errors which should cause panics: |
148 | 210 | ||
149 | XFS_NO_PTAG 0 | 211 | XFS_NO_PTAG 0 |
150 | XFS_PTAG_IFLUSH 0x00000001 | 212 | XFS_PTAG_IFLUSH 0x00000001 |
151 | XFS_PTAG_LOGRES 0x00000002 | 213 | XFS_PTAG_LOGRES 0x00000002 |
@@ -155,7 +217,7 @@ The following sysctls are available for the XFS filesystem: | |||
155 | XFS_PTAG_SHUTDOWN_IOERROR 0x00000020 | 217 | XFS_PTAG_SHUTDOWN_IOERROR 0x00000020 |
156 | XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040 | 218 | XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040 |
157 | 219 | ||
158 | This option is intended for debugging only. | 220 | This option is intended for debugging only. |
159 | 221 | ||
160 | fs.xfs.irix_symlink_mode (Min: 0 Default: 0 Max: 1) | 222 | fs.xfs.irix_symlink_mode (Min: 0 Default: 0 Max: 1) |
161 | Controls whether symlinks are created with mode 0777 (default) | 223 | Controls whether symlinks are created with mode 0777 (default) |
@@ -164,25 +226,37 @@ The following sysctls are available for the XFS filesystem: | |||
164 | fs.xfs.irix_sgid_inherit (Min: 0 Default: 0 Max: 1) | 226 | fs.xfs.irix_sgid_inherit (Min: 0 Default: 0 Max: 1) |
165 | Controls files created in SGID directories. | 227 | Controls files created in SGID directories. |
166 | If the group ID of the new file does not match the effective group | 228 | If the group ID of the new file does not match the effective group |
167 | ID or one of the supplementary group IDs of the parent dir, the | 229 | ID or one of the supplementary group IDs of the parent dir, the |
168 | ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl | 230 | ISGID bit is cleared if the irix_sgid_inherit compatibility sysctl |
169 | is set. | 231 | is set. |
170 | 232 | ||
171 | fs.xfs.restrict_chown (Min: 0 Default: 1 Max: 1) | 233 | fs.xfs.restrict_chown (Min: 0 Default: 1 Max: 1) |
172 | Controls whether unprivileged users can use chown to "give away" | 234 | Controls whether unprivileged users can use chown to "give away" |
173 | a file to another user. | 235 | a file to another user. |
174 | 236 | ||
175 | fs.xfs.inherit_sync (Min: 0 Default: 1 Max 1) | 237 | fs.xfs.inherit_sync (Min: 0 Default: 1 Max: 1) |
176 | Setting this to "1" will cause the "sync" flag set | 238 | Setting this to "1" will cause the "sync" flag set |
177 | by the chattr(1) command on a directory to be | 239 | by the xfs_io(8) chattr command on a directory to be |
178 | inherited by files in that directory. | 240 | inherited by files in that directory. |
179 | 241 | ||
180 | fs.xfs.inherit_nodump (Min: 0 Default: 1 Max 1) | 242 | fs.xfs.inherit_nodump (Min: 0 Default: 1 Max: 1) |
181 | Setting this to "1" will cause the "nodump" flag set | 243 | Setting this to "1" will cause the "nodump" flag set |
182 | by the chattr(1) command on a directory to be | 244 | by the xfs_io(8) chattr command on a directory to be |
183 | inherited by files in that directory. | 245 | inherited by files in that directory. |
184 | 246 | ||
185 | fs.xfs.inherit_noatime (Min: 0 Default: 1 Max 1) | 247 | fs.xfs.inherit_noatime (Min: 0 Default: 1 Max: 1) |
186 | Setting this to "1" will cause the "noatime" flag set | 248 | Setting this to "1" will cause the "noatime" flag set |
187 | by the chattr(1) command on a directory to be | 249 | by the xfs_io(8) chattr command on a directory to be |
188 | inherited by files in that directory. | 250 | inherited by files in that directory. |
251 | |||
252 | fs.xfs.inherit_nosymlinks (Min: 0 Default: 1 Max: 1) | ||
253 | Setting this to "1" will cause the "nosymlinks" flag set | ||
254 | by the xfs_io(8) chattr command on a directory to be | ||
255 | inherited by files in that directory. | ||
256 | |||
257 | fs.xfs.rotorstep (Min: 1 Default: 1 Max: 256) | ||
258 | In "inode32" allocation mode, this option determines how many | ||
259 | files the allocator attempts to allocate in the same allocation | ||
260 | group before moving to the next allocation group. The intent | ||
261 | is to control the rate at which the allocator moves between | ||
262 | allocation groups when allocating extents for new files. | ||