]> err.no Git - linux-2.6/commit
JFS: call io_schedule() instead of schedule() to avoid deadlock
authorDave Kleikamp <shaggy@linux.vnet.ibm.com>
Thu, 18 Jan 2007 03:18:35 +0000 (21:18 -0600)
committerDave Kleikamp <shaggy@linux.vnet.ibm.com>
Thu, 18 Jan 2007 03:18:35 +0000 (21:18 -0600)
commit4aa0d230c2cfc1ac4bcf7c5466f9943cf14233a9
treeb873dce6146f4880c6c48ab53c0079566f52a60b
parent82d5b9a7c63054a9a2cd838ffd177697f86e7e34
JFS: call io_schedule() instead of schedule() to avoid deadlock

The introduction of Jens Axboe's explicit i/o plugging patches introduced a
deadlock in jfs.  This was caused by the process initiating I/O not
unplugging the queue before waiting on the commit thread.  The commit
thread itself was waiting for that I/O to complete.  Calling io_schedule()
rather than schedule() unplugs the I/O queue avoiding the deadlock, and it
appears to be the right function to call in any case.

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
fs/jfs/jfs_lock.h
fs/jfs/jfs_metapage.c
fs/jfs/jfs_txnmgr.c