[PATCH][BUG] nfsd may deadlock (linux-2.5.8)

Hirokazu Takahashi (taka@valinux.co.jp)
Mon, 22 Apr 2002 16:02:42 +0900 (JST)


Hi,

I fixed a nfsd bug.
KNFSDs will deadlock in nfsd_symlink() as they try to grab i_sem doubly,
though the i_sem is already grabbed by fh_lock().

Thank you,
Hirokazu Takahashi.

--- linux/fs/nfsd/vfs.c.ORG Sat Apr 20 09:09:30 2002
+++ linux/fs/nfsd/vfs.c Mon Apr 22 06:08:51 2002
@@ -1127,9 +1135,7 @@
iap->ia_valid |= ATTR_CTIME;
iap->ia_mode = (iap->ia_mode&S_IALLUGO)
| S_IFLNK;
- down(&dentry->d_inode->i_sem);
err = notify_change(dnew, iap);
- up(&dentry->d_inode->i_sem);
if (!err && EX_ISSYNC(fhp->fh_export))
write_inode_now(dentry->d_inode, 1);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/