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.
Showing
Please register or sign in to comment