]> git.hungrycats.org Git - linux/commit
JFS: Fix hang while flushing outstanding transactions under heavy load
authorDave Kleikamp <shaggy@shaggy.austin.ibm.com>
Mon, 10 Mar 2003 06:32:02 +0000 (00:32 -0600)
committerDave Kleikamp <shaggy@shaggy.austin.ibm.com>
Mon, 10 Mar 2003 06:32:02 +0000 (00:32 -0600)
commit110590348741a0aedac3285e7e8f19dd1f065960
tree1b4ec65f786f1f20e8c86b7aac44033ace7f1da3
parent236b544510d0dc72ef81e12b1e19dabd88d551e3
JFS: Fix hang while flushing outstanding transactions under heavy load

During syncbarrier recovery, when JFS is waiting for all outstanding
transactions to complete before allowing new ones to start, there was a
window where a new transaction starts, but is not committed when JFS thought
it could stop flushing the journal to disk.  This caused the log_SYNCBARRIER
flag to not be reset, and no new transactions are allowed to start.

This is fixed by using the log->active field to determine when to reset the
log_FLUSH flag.
fs/jfs/jfs_logmgr.c
fs/jfs/jfs_txnmgr.c