cvs commit: src/sys/kern src/sys/vfs/nfs src/sys/vfs/nwfs src/sys/vfs/smbfs
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Oct 7 03:04:20 PDT 2004
dillon 2004/10/07 03:03:06 PDT
DragonFly src repository
Modified files:
sys/kern vfs_cache.c vfs_default.c vfs_nlookup.c
sys/vfs/nfs nfs_vnops.c
sys/vfs/nwfs nwfs_vnops.c
sys/vfs/smbfs smbfs_vnops.c
Log:
VFS messaging/interfacing work stage 7g/99: More firming up of stage 7.
Fix a serious bug in cache_lookup(). The original lookup code could get
away with returning an unreferenced vnode but the new code's cache_hold()/
cache_drop() and related functions can interact badly with an unreferenced
vnode. So make cache_lookup() return a referenced vnode.
Detect and handle locking races in cache_nlookup() and cache_lookup().
Change cache_zap() to require a locked namecache record so it doesn't
rip data out from under cache_lookup()/cache_nlookup()/cache_resolve().
Revision Changes Path
1.36 +110 -75 src/sys/kern/vfs_cache.c
1.20 +5 -1 src/sys/kern/vfs_default.c
1.5 +0 -1 src/sys/kern/vfs_nlookup.c
1.34 +19 -3 src/sys/vfs/nfs/nfs_vnops.c
1.17 +3 -1 src/sys/vfs/nwfs/nwfs_vnops.c
1.19 +3 -1 src/sys/vfs/smbfs/smbfs_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_nlookup.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vnops.c.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nwfs/nwfs_vnops.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_vnops.c.diff?r1=1.18&r2=1.19&f=u
More information about the Commits
mailing list