aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jfs/super.c
diff options
context:
space:
mode:
authorDave Kleikamp <shaggy@austin.ibm.com>2005-05-02 12:25:08 -0600
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-02 22:23:53 -0700
commit1c6278295d6482edaaaef5faa64b18f17b3319b7 (patch)
tree226896c455d8a4996527c4a0ec5699956c657ec3 /fs/jfs/super.c
parent[PATCH] JFS: Support page sizes greater than 4K (diff)
downloadlinux-dev-1c6278295d6482edaaaef5faa64b18f17b3319b7.tar.xz
linux-dev-1c6278295d6482edaaaef5faa64b18f17b3319b7.zip
[PATCH] JFS: Write journal sync points more often
This patch adds jfs_syncpt, which calls lmLogSync to write sync points to the journal both in jfs_sync_fs and when sync barrier processing completes. lmLogSync accomplishes two things: 1) it pushes logged-but-dirty metadata pages to disk, and 2) it writes a sync record to the journal so that jfs_fsck doesn't need to replay more transactions than is necessary. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to '')
-rw-r--r--fs/jfs/super.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index 0812005364a1..5e774ed7fb64 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -558,8 +558,10 @@ static int jfs_sync_fs(struct super_block *sb, int wait)
struct jfs_log *log = JFS_SBI(sb)->log;
/* log == NULL indicates read-only mount */
- if (log)
+ if (log) {
jfs_flush_journal(log, wait);
+ jfs_syncpt(log);
+ }
return 0;
}