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. --- 25-akpm/fs/reiserfs/journal.c | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff -puN fs/reiserfs/journal.c~fix-default-value-for-commit-interval-for-older-reiserfs-filesystems fs/reiserfs/journal.c --- 25/fs/reiserfs/journal.c~fix-default-value-for-commit-interval-for-older-reiserfs-filesystems Fri Apr 16 13:33:06 2004 +++ 25-akpm/fs/reiserfs/journal.c Fri Apr 16 13:33:06 2004 @@ -2304,14 +2304,8 @@ int journal_init(struct super_block *p_s 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_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", _