summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_bio.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-02-10 02:22:35 +0000
committerdyson <dyson@FreeBSD.org>1997-02-10 02:22:35 +0000
commit10f666af84d48e89e4e2960415c9b616fce4077f (patch)
tree88a944de263165091f0a18abeedbaaccec532407 /sys/nfsclient/nfs_bio.c
parent0960d7e91af3428ffba89b42228d82d8afaa0389 (diff)
downloadFreeBSD-src-10f666af84d48e89e4e2960415c9b616fce4077f.zip
FreeBSD-src-10f666af84d48e89e4e2960415c9b616fce4077f.tar.gz
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 <hsu@freebsd.org>
Diffstat (limited to 'sys/nfsclient/nfs_bio.c')
-rw-r--r--sys/nfsclient/nfs_bio.c26
1 files changed, 5 insertions, 21 deletions
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 <sys/param.h>
#include <sys/systm.h>
#include <sys/resourcevar.h>
@@ -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.
*/
OpenPOWER on IntegriCloud