patch-2.3.99-pre4 linux/fs/file_table.c

Next file: linux/fs/hfs/dir.c
Previous file: linux/fs/ext2/symlink.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre3/linux/fs/file_table.c linux/fs/file_table.c
@@ -122,13 +122,17 @@
 static void __fput(struct file *filp)
 {
 	struct dentry * dentry = filp->f_dentry;
+	struct vfsmount * mnt = filp->f_vfsmnt;
 	struct inode * inode = dentry->d_inode;
 
 	if (filp->f_op && filp->f_op->release)
 		filp->f_op->release(inode, filp);
 	filp->f_dentry = NULL;
+	filp->f_vfsmnt = NULL;
 	if (filp->f_mode & FMODE_WRITE)
 		put_write_access(inode);
+	if (mnt)
+		mntput(mnt);
 	dput(dentry);
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)