aboutsummaryrefslogtreecommitdiff
path: root/sys/nfs/nfs_bio.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/nfs/nfs_bio.c')
-rw-r--r--sys/nfs/nfs_bio.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/nfs/nfs_bio.c b/sys/nfs/nfs_bio.c
index 65d425c901f8..3a422dc184d4 100644
--- a/sys/nfs/nfs_bio.c
+++ b/sys/nfs/nfs_bio.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* From: @(#)nfs_bio.c 7.19 (Berkeley) 4/16/91
- * $Id: nfs_bio.c,v 1.3 1993/09/09 22:06:00 rgrimes Exp $
+ * $Id: nfs_bio.c,v 1.5 1994/02/06 22:20:09 davidg Exp $
*/
#include "param.h"
@@ -244,7 +244,7 @@ nfs_write(vp, uio, ioflag, cred)
* Maybe this should be above the vnode op call, but so long as
* file servers have no limits, i don't think it matters
*/
- if (uio->uio_offset + uio->uio_resid >
+ if (p && uio->uio_offset + uio->uio_resid >
p->p_rlimit[RLIMIT_FSIZE].rlim_cur) {
psignal(p, SIGXFSZ);
return (EFBIG);
@@ -256,7 +256,9 @@ nfs_write(vp, uio, ioflag, cred)
*/
biosize = VFSTONFS(vp->v_mount)->nm_rsize;
np->n_flag |= NMODIFIED;
- vnode_pager_uncache(vp);
+ if ((ioflag & IO_PAGER) == 0)
+ vnode_pager_uncache(vp);
+
do {
nfsstats.biocache_writes++;
lbn = uio->uio_offset / biosize;