summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_syscalls.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-12-29 00:25:11 +0000
committerdyson <dyson@FreeBSD.org>1997-12-29 00:25:11 +0000
commitcd67bb82fe37f70fed8e42c14c818de84029e3c0 (patch)
treea5d04c1ccd61a23a22dbd5ecd8264d7c3e866024 /sys/kern/vfs_syscalls.c
parentf5f5008388092430288cb0018453755be5be7bdb (diff)
downloadFreeBSD-src-cd67bb82fe37f70fed8e42c14c818de84029e3c0.zip
FreeBSD-src-cd67bb82fe37f70fed8e42c14c818de84029e3c0.tar.gz
Lots of improvements, including restructring the caching and management
of vnodes and objects. There are some metadata performance improvements that come along with this. There are also a few prototypes added when the need is noticed. Changes include: 1) Cleaning up vref, vget. 2) Removal of the object cache. 3) Nuke vnode_pager_uncache and friends, because they aren't needed anymore. 4) Correct some missing LK_RETRY's in vn_lock. 5) Correct the page range in the code for msync. Be gentle, and please give me feedback asap.
Diffstat (limited to 'sys/kern/vfs_syscalls.c')
-rw-r--r--sys/kern/vfs_syscalls.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index 6d71a6c..69751c4 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94
- * $Id: vfs_syscalls.c,v 1.86 1997/12/16 17:40:31 eivind Exp $
+ * $Id: vfs_syscalls.c,v 1.87 1997/12/27 02:56:23 bde Exp $
*/
/* For 4.3 integer FS ID compatibility */
@@ -430,7 +430,6 @@ dounmount(mp, flags, p)
mp->mnt_flag &=~ MNT_ASYNC;
vfs_msync(mp, MNT_NOWAIT);
- vnode_pager_umount(mp); /* release cached vnodes */
cache_purgevfs(mp); /* remove cache entries for this file sys */
if (((mp->mnt_flag & MNT_RDONLY) ||
(error = VFS_SYNC(mp, MNT_WAIT, p->p_ucred, p)) == 0) ||
@@ -1263,8 +1262,6 @@ unlink(p, uap)
*/
if (vp->v_flag & VROOT)
error = EBUSY;
- else
- (void) vnode_pager_uncache(vp, p);
}
if (!error) {
@@ -2160,9 +2157,9 @@ fsync(p, uap)
if (error = getvnode(p->p_fd, SCARG(uap, fd), &fp))
return (error);
vp = (struct vnode *)fp->f_data;
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
+ vn_lock(vp, LK_EXCLUSIVE, p);
if (vp->v_object) {
- vm_object_page_clean(vp->v_object, 0, 0 ,0, FALSE);
+ vm_object_page_clean(vp->v_object, 0, 0 ,0);
}
error = VOP_FSYNC(vp, fp->f_cred,
(vp->v_mount && (vp->v_mount->mnt_flag & MNT_ASYNC)) ?
@@ -2242,7 +2239,6 @@ out:
VOP_LEASE(fromnd.ni_dvp, p, p->p_ucred, LEASE_WRITE);
if (tvp) {
VOP_LEASE(tvp, p, p->p_ucred, LEASE_WRITE);
- (void) vnode_pager_uncache(tvp, p);
}
error = VOP_RENAME(fromnd.ni_dvp, fromnd.ni_vp, &fromnd.ni_cnd,
tond.ni_dvp, tond.ni_vp, &tond.ni_cnd);
OpenPOWER on IntegriCloud