diff options
author | Theodore Ts'o <tytso@mit.edu> | 2009-03-28 10:59:57 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2009-03-28 10:59:57 -0400 |
commit | 06705bff9114531a997a7d0c2520bea0f2927410 (patch) | |
tree | f7bef499cd491c8171db45da5b02c168655d4236 /Documentation/filesystems | |
parent | e7c9e3e99adf6c49c5d593a51375916acc039d1e (diff) |
ext4: Regularize mount options
Add support for using the mount options "barrier" and "nobarrier", and
"auto_da_alloc" and "noauto_da_alloc", which is more consistent than
"barrier=<0|1>" or "auto_da_alloc=<0|1>". Most other ext3/ext4 mount
options use the foo/nofoo naming convention. We allow the old forms
of these mount options for backwards compatibility.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/ext4.txt | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt index 5c484aec2bab..97882df04865 100644 --- a/Documentation/filesystems/ext4.txt +++ b/Documentation/filesystems/ext4.txt | |||
@@ -183,8 +183,8 @@ commit=nrsec (*) Ext4 can be told to sync all its data and metadata | |||
183 | performance. | 183 | performance. |
184 | 184 | ||
185 | barrier=<0|1(*)> This enables/disables the use of write barriers in | 185 | barrier=<0|1(*)> This enables/disables the use of write barriers in |
186 | the jbd code. barrier=0 disables, barrier=1 enables. | 186 | barrier(*) the jbd code. barrier=0 disables, barrier=1 enables. |
187 | This also requires an IO stack which can support | 187 | nobarrier This also requires an IO stack which can support |
188 | barriers, and if jbd gets an error on a barrier | 188 | barriers, and if jbd gets an error on a barrier |
189 | write, it will disable again with a warning. | 189 | write, it will disable again with a warning. |
190 | Write barriers enforce proper on-disk ordering | 190 | Write barriers enforce proper on-disk ordering |
@@ -192,6 +192,9 @@ barrier=<0|1(*)> This enables/disables the use of write barriers in | |||
192 | safe to use, at some performance penalty. If | 192 | safe to use, at some performance penalty. If |
193 | your disks are battery-backed in one way or another, | 193 | your disks are battery-backed in one way or another, |
194 | disabling barriers may safely improve performance. | 194 | disabling barriers may safely improve performance. |
195 | The mount options "barrier" and "nobarrier" can | ||
196 | also be used to enable or disable barriers, for | ||
197 | consistency with other ext4 mount options. | ||
195 | 198 | ||
196 | inode_readahead=n This tuning parameter controls the maximum | 199 | inode_readahead=n This tuning parameter controls the maximum |
197 | number of inode table blocks that ext4's inode | 200 | number of inode table blocks that ext4's inode |
@@ -313,6 +316,24 @@ journal_ioprio=prio The I/O priority (from 0 to 7, where 0 is the | |||
313 | a slightly higher priority than the default I/O | 316 | a slightly higher priority than the default I/O |
314 | priority. | 317 | priority. |
315 | 318 | ||
319 | auto_da_alloc(*) Many broken applications don't use fsync() when | ||
320 | noauto_da_alloc replacing existing files via patterns such as | ||
321 | fd = open("foo.new")/write(fd,..)/close(fd)/ | ||
322 | rename("foo.new", "foo"), or worse yet, | ||
323 | fd = open("foo", O_TRUNC)/write(fd,..)/close(fd). | ||
324 | If auto_da_alloc is enabled, ext4 will detect | ||
325 | the replace-via-rename and replace-via-truncate | ||
326 | patterns and force that any delayed allocation | ||
327 | blocks are allocated such that at the next | ||
328 | journal commit, in the default data=ordered | ||
329 | mode, the data blocks of the new file are forced | ||
330 | to disk before the rename() operation is | ||
331 | commited. This provides roughly the same level | ||
332 | of guarantees as ext3, and avoids the | ||
333 | "zero-length" problem that can happen when a | ||
334 | system crashes before the delayed allocation | ||
335 | blocks are forced to disk. | ||
336 | |||
316 | Data Mode | 337 | Data Mode |
317 | ========= | 338 | ========= |
318 | There are 3 different data modes: | 339 | There are 3 different data modes: |