]> git.baikalelectronics.ru Git - kernel.git/commit
reiserfs: Fix softlockup while waiting on an inode
authorFrederic Weisbecker <fweisbec@gmail.com>
Thu, 11 Feb 2010 12:13:10 +0000 (13:13 +0100)
committerFrederic Weisbecker <fweisbec@gmail.com>
Sun, 14 Feb 2010 18:07:56 +0000 (19:07 +0100)
commite7ff2cc1e371dc93684d9fce7738a4808d540354
tree8a5da216333192e7c2d605e1644f6bead22cdd06
parente4d22b624d0f3e23a7e9539a3000dffbbfca0b27
reiserfs: Fix softlockup while waiting on an inode

When we wait for an inode through reiserfs_iget(), we hold
the reiserfs lock. And waiting for an inode may imply waiting
for its writeback. But the inode writeback path may also require
the reiserfs lock, which leads to a deadlock.

We just need to release the reiserfs lock from reiserfs_iget()
to fix this.

Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Tested-by: Christian Kujau <lists@nerdbynature.de>
Cc: Chris Mason <chris.mason@oracle.com>
fs/reiserfs/inode.c