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

From: Hirokazu Takahashi (taka@valinux.co.jp)
Date: Mon Apr 22 2002 - 02:02:42 EST


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/



This archive was generated by hypermail 2b29 : Tue Apr 23 2002 - 22:00:30 EST