ext4: enable barriers by default
I can't think of any valid reason for ext4 to not use barriers when they are available; I believe this is necessary for filesystem integrity in the face of a volatile write cache on storage. An administrator who trusts that the cache is sufficiently battery- backed (and power supplies are sufficiently redundant, etc...) can always turn it back off again. SuSE has carried such a patch for ext3 for quite some time now. Also document the mount option while we're at it. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
committed by
Theodore Ts'o
parent
034772b068
commit
571640cad3
@@ -671,6 +671,7 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
|
||||
unsigned long def_mount_opts;
|
||||
struct super_block *sb = vfs->mnt_sb;
|
||||
struct ext4_sb_info *sbi = EXT4_SB(sb);
|
||||
journal_t *journal = sbi->s_journal;
|
||||
struct ext4_super_block *es = sbi->s_es;
|
||||
|
||||
def_mount_opts = le32_to_cpu(es->s_default_mount_opts);
|
||||
@@ -729,8 +730,13 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
|
||||
seq_printf(seq, ",commit=%u",
|
||||
(unsigned) (sbi->s_commit_interval / HZ));
|
||||
}
|
||||
if (test_opt(sb, BARRIER))
|
||||
seq_puts(seq, ",barrier=1");
|
||||
/*
|
||||
* We're changing the default of barrier mount option, so
|
||||
* let's always display its mount state so it's clear what its
|
||||
* status is.
|
||||
*/
|
||||
seq_puts(seq, ",barrier=");
|
||||
seq_puts(seq, test_opt(sb, BARRIER) ? "1" : "0");
|
||||
if (test_opt(sb, JOURNAL_ASYNC_COMMIT))
|
||||
seq_puts(seq, ",journal_async_commit");
|
||||
if (test_opt(sb, NOBH))
|
||||
@@ -1909,6 +1915,7 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent)
|
||||
sbi->s_resgid = le16_to_cpu(es->s_def_resgid);
|
||||
|
||||
set_opt(sbi->s_mount_opt, RESERVATION);
|
||||
set_opt(sbi->s_mount_opt, BARRIER);
|
||||
|
||||
/*
|
||||
* turn on extents feature by default in ext4 filesystem
|
||||
|
Reference in New Issue
Block a user