[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:
committed by
Linus Torvalds
parent
7fab479beb
commit
1c6278295d
@@ -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()
|
||||
|
Reference in New Issue
Block a user