summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1996-06-08 12:16:26 +0000
committerbde <bde@FreeBSD.org>1996-06-08 12:16:26 +0000
commit10d2a112490d404e8620a72c44a18f039a88c723 (patch)
tree4ada661c2b6fd1534793d18f033d883af9c93433 /sys
parent28aa321a11f2dd2a27216ef5595f6666ac255102 (diff)
downloadFreeBSD-src-10d2a112490d404e8620a72c44a18f039a88c723.zip
FreeBSD-src-10d2a112490d404e8620a72c44a18f039a88c723.tar.gz
Fixed a vnode reference leak in nfsrv_rename(). The target inode wasn't
released until the file system was unmounted. This bug also affected kern/vfs_syscalls.c but was fixed in rev.1.18 and rev.1.20 there. Reviewed by: davidg
Diffstat (limited to 'sys')
-rw-r--r--sys/nfs/nfs_serv.c3
-rw-r--r--sys/nfsserver/nfs_serv.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c
index e7aba25..a673349 100644
--- a/sys/nfs/nfs_serv.c
+++ b/sys/nfs/nfs_serv.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94
- * $Id: nfs_serv.c,v 1.28 1996/01/13 23:27:48 phk Exp $
+ * $Id: nfs_serv.c,v 1.29 1996/04/30 23:23:07 bde Exp $
*/
/*
@@ -1907,6 +1907,7 @@ out:
nqsrv_getl(tvp, ND_WRITE);
if ((tvp->v_flag & VVMIO) && tvp->v_object)
deallocobjto = 1;
+ (void) vnode_pager_uncache(tvp);
}
if ((fvp->v_flag & VVMIO) && fvp->v_object)
deallocobjfrom = 1;
diff --git a/sys/nfsserver/nfs_serv.c b/sys/nfsserver/nfs_serv.c
index e7aba25..a673349 100644
--- a/sys/nfsserver/nfs_serv.c
+++ b/sys/nfsserver/nfs_serv.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_serv.c 8.3 (Berkeley) 1/12/94
- * $Id: nfs_serv.c,v 1.28 1996/01/13 23:27:48 phk Exp $
+ * $Id: nfs_serv.c,v 1.29 1996/04/30 23:23:07 bde Exp $
*/
/*
@@ -1907,6 +1907,7 @@ out:
nqsrv_getl(tvp, ND_WRITE);
if ((tvp->v_flag & VVMIO) && tvp->v_object)
deallocobjto = 1;
+ (void) vnode_pager_uncache(tvp);
}
if ((fvp->v_flag & VVMIO) && fvp->v_object)
deallocobjfrom = 1;
OpenPOWER on IntegriCloud