]> git.hungrycats.org Git - linux/commitdiff
[XFS] A problem was found with the debug code in xlog_state_do_callback. At
authorGlen Overby <overby@sgi.com>
Thu, 9 Oct 2003 05:05:52 +0000 (00:05 -0500)
committerStephen Lord <lord@penguin.americas.sgi.com>
Thu, 9 Oct 2003 05:05:52 +0000 (00:05 -0500)
the end of processing all log buffers that can be processed, there is
a (debug only) double-check to make sure that log buffers with
completed I/O don't get marooned when the function completes.  The
check only needs to go to the first buffer that will cause an I/O
completion, that has not completed.  The loop doesn't stop a WANT_SYNC
state buffer is found, but it should.

SGI Modid: 2.5.x-xfs:slinx:159683a

fs/xfs/xfs_log.c

index bece2de4290476c49042ec47f5b8ac991d7d5cb9..683e29607bd78c8df11af41ad6ac1be31f8dea70 100644 (file)
@@ -2188,7 +2188,8 @@ xlog_state_do_callback(
                         *              LOG_LOCK
                         * IOERROR - give up hope all ye who enter here
                         */
-                       if (iclog->ic_state == XLOG_STATE_SYNCING ||
+                       if (iclog->ic_state == XLOG_STATE_WANT_SYNC ||
+                           iclog->ic_state == XLOG_STATE_SYNCING ||
                            iclog->ic_state == XLOG_STATE_DONE_SYNC ||
                            iclog->ic_state == XLOG_STATE_IOERROR )
                                break;