From 3d9d1320db840f032f47b3ad1cd31dde18675057 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 18 Apr 2004 22:06:16 -0700 Subject: [PATCH] [PATCH] Fix default value for commit interval for older reiserfs filesystems. From: Bart Samwel The reiserfs patch that adds support for "commit=0" saves the default max commit age in a variable when the fs is originally mounted, so that it can later restore it. Unfortunately it makes some mistakes with that: - The default is not saved when the original mount has a commit=NNN option. - The default is not correctly saved for older reiserfs filesystems, where the default was not stored on disk. This patch fixes these mistakes. --- fs/reiserfs/journal.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 78b95f54eb2f..f1624617cc9d 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c @@ -2304,14 +2304,8 @@ int journal_init(struct super_block *p_s_sb, const char * j_dev_name, int old_fo SB_JOURNAL_TRANS_MAX(p_s_sb) = le32_to_cpu (jh->jh_journal.jp_journal_trans_max); SB_JOURNAL_MAX_BATCH(p_s_sb) = le32_to_cpu (jh->jh_journal.jp_journal_max_batch); - if (commit_max_age != 0) { - SB_JOURNAL_MAX_COMMIT_AGE(p_s_sb) = commit_max_age; - SB_JOURNAL_MAX_TRANS_AGE(p_s_sb) = commit_max_age; - } else { - SB_JOURNAL_MAX_COMMIT_AGE(p_s_sb) = le32_to_cpu (jh->jh_journal.jp_journal_max_commit_age); - SB_JOURNAL_DEFAULT_MAX_COMMIT_AGE(p_s_sb) = SB_JOURNAL_MAX_COMMIT_AGE(p_s_sb); - SB_JOURNAL_MAX_TRANS_AGE(p_s_sb) = JOURNAL_MAX_TRANS_AGE; - } + SB_JOURNAL_MAX_COMMIT_AGE(p_s_sb) = le32_to_cpu (jh->jh_journal.jp_journal_max_commit_age); + SB_JOURNAL_MAX_TRANS_AGE(p_s_sb) = JOURNAL_MAX_TRANS_AGE; if (SB_JOURNAL_TRANS_MAX(p_s_sb)) { /* make sure these parameters are available, assign it if they are not */ @@ -2350,6 +2344,14 @@ int journal_init(struct super_block *p_s_sb, const char * j_dev_name, int old_fo SB_JOURNAL_MAX_BATCH(p_s_sb) = (SB_JOURNAL_TRANS_MAX(p_s_sb)) * 9 / 10 ; } } + + SB_JOURNAL_DEFAULT_MAX_COMMIT_AGE(p_s_sb) = SB_JOURNAL_MAX_COMMIT_AGE(p_s_sb); + + if (commit_max_age != 0) { + SB_JOURNAL_MAX_COMMIT_AGE(p_s_sb) = commit_max_age; + SB_JOURNAL_MAX_TRANS_AGE(p_s_sb) = commit_max_age; + } + printk ("Reiserfs journal params: device %s, size %u, " "journal first block %u, max trans len %u, max batch %u, " "max commit age %u, max trans age %u\n", -- 2.39.5