From 10f666af84d48e89e4e2960415c9b616fce4077f Mon Sep 17 00:00:00 2001 From: dyson Date: Mon, 10 Feb 1997 02:22:35 +0000 Subject: This is the kernel Lite/2 commit. There are some requisite userland changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu --- sys/nfsclient/nfs_bio.c | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) (limited to 'sys/nfsclient/nfs_bio.c') diff --git a/sys/nfsclient/nfs_bio.c b/sys/nfsclient/nfs_bio.c index d67a3c0..0f636b0 100644 --- a/sys/nfsclient/nfs_bio.c +++ b/sys/nfsclient/nfs_bio.c @@ -33,10 +33,11 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)nfs_bio.c 8.5 (Berkeley) 1/4/94 + * @(#)nfs_bio.c 8.9 (Berkeley) 3/30/95 * $FreeBSD$ */ + #include #include #include @@ -66,19 +67,6 @@ extern int nfs_numasync; extern struct nfsstats nfsstats; /* - * Ifdefs for FreeBSD-current's merged VM/buffer cache. It is unfortunate - * that this isn't done inside getblk() and brelse() so these calls - * wouldn't need to be here. - */ -#ifdef B_VMIO -#define vnode_pager_uncache(vp) -#else -#define vfs_busy_pages(bp, f) -#define vfs_unbusy_pages(bp) -#define vfs_dirty_pages(bp) -#endif - -/* * Vnode op for read using bio * Any similarity to readip() is purely coincidental */ @@ -195,7 +183,7 @@ nfs_bioread(vp, uio, ioflag, cred) case VDIR: break; default: - printf(" NQNFSNONCACHE: type %x unexpected\n", + printf(" NQNFSNONCACHE: type %x unexpected\n", vp->v_type); }; } @@ -225,9 +213,8 @@ nfs_bioread(vp, uio, ioflag, cred) vfs_unbusy_pages(rabp); brelse(rabp); } - } else { + } else brelse(rabp); - } } } } @@ -270,6 +257,7 @@ again: if (not_readin && n > 0) { if (on < bp->b_validoff || (on + n) > bp->b_validend) { bp->b_flags |= B_NOCACHE; + bp->b_flags |= B_INVAFTERWRITE; if (bp->b_dirtyend > 0) { if ((bp->b_flags & B_DELWRI) == 0) panic("nfsbioread"); @@ -475,10 +463,6 @@ nfs_write(ap) */ biosize = vp->v_mount->mnt_stat.f_iosize; do { - - /* - * XXX make sure we aren't cached in the VM page cache - */ /* * Check for a valid write lease. */ -- cgit v1.1