From: "J. Bruce Fields" From: Neil Brown This fixes an oops on unmount (failure of the assertation at fs/ext3/super.c:421). Probably reproduceable just by creating and deleting a single symlink over nfs and then unmounting the exported filesystem. Recent change to fh_compose means dentry reference is *not* consumed, and so usually has to be explicitly dput afterwards. One usage was missed in that patch, so this dput is needed. Signed-off-by: Andrew Morton --- 25-akpm/fs/nfsd/vfs.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/nfsd/vfs.c~nfsd-deleting-symlinks-over-nfs-causes-oops-on-unmount fs/nfsd/vfs.c --- 25/fs/nfsd/vfs.c~nfsd-deleting-symlinks-over-nfs-causes-oops-on-unmount Wed May 26 16:03:35 2004 +++ 25-akpm/fs/nfsd/vfs.c Wed May 26 16:03:35 2004 @@ -1228,8 +1228,8 @@ nfsd_symlink(struct svc_rqst *rqstp, str err = nfserrno(err); fh_unlock(fhp); - /* Compose the fh so the dentry will be freed ... */ cerr = fh_compose(resfhp, fhp->fh_export, dnew, fhp); + dput(dnew); if (err==0) err = cerr; out: return err; _