Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Oct 2000 03:13:37 -0700 (PDT)
From:      David Malone <dwmalone@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/nfs nfs.h nfs_subs.c nfsm_subs.h
Message-ID:  <200010241013.DAA74467@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
dwmalone    2000/10/24 03:13:37 PDT

  Modified files:
    sys/nfs              nfs.h nfs_subs.c nfsm_subs.h 
  Log:
  Problem to avoid processes getting stuck in "vmopar". From Ian's
  mail:
  
  	The problem seems to originate with NFS's postop_attr
  	information that is returned with a read or write RPC.
  	Within a vm_fault context, the code cannot deal with
  	vnode_pager_setsize() shrinking a vnode.
  
  	The workaround in the patch below stops the nfsm_postop_attr()
  	macro from ever shrinking a vnode. If the new size in the
  	postop_attr information is smaller, then it just sets the
  	nfsnode n_attrstamp to 0 to stop the wrong size getting
  	used in the future. This change only affects postop_attr
  	attributes; the nfsm_loadattr() macro works as normal.
  
  	The change is implemented by adding a new argument to
  	nfs_loadattrcache() called 'dontshrink'. When this is
  	non-zero, nfs_loadattrcache() will never reduce the
  	vnode/nfsnode size; instead it zeros n_attrstamp.
  
  There remain other was processes can get stuck in vmopar.
  
  Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
  Reviewed by:	dillon
  Tested by:	Vadim Belman <voland@lflat.org>
  
  Revision  Changes    Path
  1.56      +2 -2      src/sys/nfs/nfs.h
  1.96      +13 -4     src/sys/nfs/nfs_subs.c
  1.28      +3 -3      src/sys/nfs/nfsm_subs.h



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200010241013.DAA74467>