cvs commit: src/sys/kern

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Nov 24 00:38:13 PST 2004


dillon      2004/11/24 00:37:16 PST

DragonFly src repository

  Modified files:
    sys/kern             vfs_syscalls.c vfs_vnops.c 
  Log:
  Cleanup some ESTALE issues on the client when files are replaced on
  an NFS server.  Even though the attribute cache has expired DragonFly
  still maintains a vnode in the namecache.  If a file is replaced on the
  server the vnode's file handle will become invalid.
  
  Force re-resolution of the namecache entry rather then replacing the vnode's
  file handle, so programs with open descriptors to the dead file continue to
  get a proper error return while lookups succeed in finding the new version
  of the file.
  
  In this patch ESTALE is checked in strategic places:  stat(), access(), and
  open().  It is an imperfect solution at the moment but it seems to work pretty
  well.  This should bring NFS client operations back up to FreeBSD-4.x
  standards.
  
  Revision  Changes    Path
  1.48      +29 -0     src/sys/kern/vfs_syscalls.c
  1.27      +45 -15    src/sys/kern/vfs_vnops.c


http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.47&r2=1.48&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vnops.c.diff?r1=1.26&r2=1.27&f=u





More information about the Commits mailing list