diff options
author | peter <peter@FreeBSD.org> | 2001-07-27 15:52:49 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-07-27 15:52:49 +0000 |
commit | 18bc463cb61ab140a748f3aa099e2d859eae1e37 (patch) | |
tree | f64a6e168e42d667b0b885494a5e0100dd869db5 /sys/kern | |
parent | 220f54a23afdcdadd42dde676927752d08674e17 (diff) | |
download | FreeBSD-src-18bc463cb61ab140a748f3aa099e2d859eae1e37.zip FreeBSD-src-18bc463cb61ab140a748f3aa099e2d859eae1e37.tar.gz |
Fix cut/paste blunder. Serves me right for doing a last minute tweak
to what I had for some time.
Submitted by: bde
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_mib.c | 2 | ||||
-rw-r--r-- | sys/kern/vfs_bio.c | 3 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 23 |
3 files changed, 24 insertions, 4 deletions
diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 157fa1a..df38fff 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -96,7 +96,7 @@ SYSCTL_INT(_kern, KERN_MAXPROC, maxproc, CTLFLAG_RD, SYSCTL_INT(_kern, KERN_MAXPROCPERUID, maxprocperuid, CTLFLAG_RW, &maxprocperuid, 0, "Maximum processes allowed per userid"); -SYSCTL_INT(_kern, KERN_MAXPROCPERUID, maxusers, CTLFLAG_RD, +SYSCTL_INT(_kern, OID_AUTO, maxusers, CTLFLAG_RD, &maxusers, 0, "Hint for kernel tuning"); SYSCTL_INT(_kern, KERN_ARGMAX, argmax, CTLFLAG_RD, diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 94baa5a..7e69cdb 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -90,7 +90,6 @@ static void buf_daemon __P((void)); * but the code is intricate enough already. */ vm_page_t bogus_page; -int vmiodirenable = FALSE; int runningbufspace; static vm_offset_t bogus_offset; @@ -138,8 +137,6 @@ SYSCTL_INT(_vfs, OID_AUTO, getnewbufcalls, CTLFLAG_RW, &getnewbufcalls, 0, ""); SYSCTL_INT(_vfs, OID_AUTO, getnewbufrestarts, CTLFLAG_RW, &getnewbufrestarts, 0, ""); -SYSCTL_INT(_vfs, OID_AUTO, vmiodirenable, CTLFLAG_RW, - &vmiodirenable, 0, ""); SYSCTL_INT(_vfs, OID_AUTO, bufdefragcnt, CTLFLAG_RW, &bufdefragcnt, 0, ""); SYSCTL_INT(_vfs, OID_AUTO, buffreekvacnt, CTLFLAG_RW, diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index b421902..46c97de 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -83,6 +83,10 @@ static void vclean __P((struct vnode *vp, int flags, struct proc *p)); static unsigned long numvnodes; SYSCTL_LONG(_debug, OID_AUTO, numvnodes, CTLFLAG_RD, &numvnodes, 0, ""); +static int vmiodirenable = FALSE; +SYSCTL_INT(_vfs, OID_AUTO, vmiodirenable, CTLFLAG_RW, + &vmiodirenable, 0, ""); + /* * Conversion tables for conversion from vnode types to inode formats * and back. @@ -2378,6 +2382,9 @@ loop: if (vp->v_flag & VXLOCK) /* XXX: what if MNT_WAIT? */ continue; + if (vp->v_flag & VNOSYNC) /* unlinked, skip it */ + continue; + if (flags != MNT_WAIT) { if (VOP_GETVOBJECT(vp, &obj) != 0 || (obj->flags & OBJ_MIGHTBEDIRTY) == 0) @@ -2787,6 +2794,22 @@ vn_isdisk(vp, errp) } /* + * Check if a vnode should be done with VMIO. + */ +int +vn_canvmio(vp) + struct vnode *vp; +{ + if (!vp) + return (FALSE); + if (vp->v_type == VREG || (vmiodirenable && vp->v_type == VDIR)) + return (TRUE); + if (vn_isdisk(vp, NULL)) + return TRUE; + return FALSE; +} + +/* * Free data allocated by namei(); see namei(9) for details. */ void |