[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>
This commit is contained in:
Dave Kleikamp
2005-05-02 12:25:08 -06:00
committed by Linus Torvalds
parent 7fab479beb
commit 1c6278295d
4 changed files with 27 additions and 9 deletions

View File

@@ -927,9 +927,8 @@ static void lmPostGC(struct lbuf * bp)
* calculate new value of i_nextsync which determines when
* this code is called again.
*
* this is called only from lmLog().
*
* PARAMETER: ip - pointer to logs inode.
* PARAMETERS: log - log structure
* nosyncwait - 1 if called asynchronously
*
* RETURN: 0
*
@@ -1051,6 +1050,18 @@ static int lmLogSync(struct jfs_log * log, int nosyncwait)
return lsn;
}
/*
* NAME: jfs_syncpt
*
* FUNCTION: write log SYNCPT record for specified log
*
* PARAMETERS: log - log structure
*/
void jfs_syncpt(struct jfs_log *log)
{ LOG_LOCK(log);
lmLogSync(log, 1);
LOG_UNLOCK(log);
}
/*
* NAME: lmLogOpen()