aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jfs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/jfs')
-rw-r--r--fs/jfs/jfs_txnmgr.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c
index 7aa1f7004eaf..e7c60ae6b5b2 100644
--- a/fs/jfs/jfs_txnmgr.c
+++ b/fs/jfs/jfs_txnmgr.c
@@ -1289,7 +1289,14 @@ int txCommit(tid_t tid, /* transaction identifier */
1289 * commit the transaction synchronously, so the last iput 1289 * commit the transaction synchronously, so the last iput
1290 * will be done by the calling thread (or later) 1290 * will be done by the calling thread (or later)
1291 */ 1291 */
1292 if (tblk->u.ip->i_state & I_LOCK) 1292 /*
1293 * I believe this code is no longer needed. Splitting I_LOCK
1294 * into two bits, I_LOCK and I_SYNC should prevent this
1295 * deadlock as well. But since I don't have a JFS testload
1296 * to verify this, only a trivial s/I_LOCK/I_SYNC/ was done.
1297 * Joern
1298 */
1299 if (tblk->u.ip->i_state & I_SYNC)
1293 tblk->xflag &= ~COMMIT_LAZY; 1300 tblk->xflag &= ~COMMIT_LAZY;
1294 } 1301 }
1295 1302