cvs commit: src/sys/kern src/sys/vfs/nfs src/sys/vfs/ufs
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Oct 6 21:21:01 PDT 2004
dillon 2004/10/06 21:20:28 PDT
DragonFly src repository
Modified files:
sys/kern vfs_cache.c vfs_default.c vfs_lookup.c
vfs_syscalls.c
sys/vfs/nfs nfs_serv.c
sys/vfs/ufs ufs_vnops.c
Log:
VFS messaging/interfacing work stage 7f/99: More firming up of stage 7.
unlink, rmdir, rename, and whiteout removal functions use NAMEI_DELETE
namei() lookups. With the old API this zap'd the namecache entry before
the system actually runs the operation. If the operation fails we can be
left with a broken namecache hierarchy which is not allowed in the new API.
Change old API cache_lookup() semantics to *NOT* zap the namecache entry and
add explicit zaps after calls to VOP_UNLINK(), VOP_RMDIR(), etc. to replace
the functionality.
rename() attempts to issue a NAMEI_RENAME lookup which zaps the target, but
the same problem occurs if the target is preexisting and being overwritten.
A similar solution is employed for renames.
Revision Changes Path
1.35 +51 -8 src/sys/kern/vfs_cache.c
1.19 +5 -2 src/sys/kern/vfs_default.c
1.18 +0 -5 src/sys/kern/vfs_lookup.c
1.44 +8 -0 src/sys/kern/vfs_syscalls.c
1.18 +6 -0 src/sys/vfs/nfs/nfs_serv.c
1.22 +0 -1 src/sys/vfs/ufs/ufs_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cache.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_lookup.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.43&r2=1.44&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_serv.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_vnops.c.diff?r1=1.21&r2=1.22&f=u
More information about the Commits
mailing list