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