diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-05-02 20:25:08 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-03 07:23:53 +0200 |
commit | 1c6278295d6482edaaaef5faa64b18f17b3319b7 (patch) | |
tree | 226896c455d8a4996527c4a0ec5699956c657ec3 /fs/jfs/super.c | |
parent | [PATCH] JFS: Support page sizes greater than 4K (diff) | |
download | linux-1c6278295d6482edaaaef5faa64b18f17b3319b7.tar.xz linux-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.c | 4 |
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; } |