]> git.michaelhowe.org Git - packages/o/openafs.git/commit
STABLE14-linux-remove-negative-dentry-20041209
authorChas Williams <chas@cmf.nrl.navy.mil>
Mon, 13 Dec 2004 19:35:02 +0000 (19:35 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 13 Dec 2004 19:35:02 +0000 (19:35 +0000)
commit91390f3ca3700234e2b461e4949028a1b96a0c17
tree5a4048739fcf7e6e2c25a984a9b7100bf31d73e4
parent04e248fc2e6ed6b9385d3dfcd474e457e83f00b9
STABLE14-linux-remove-negative-dentry-20041209

FIXES 16735

during unlink, afs sometimes renames the file instead of deleting it.
this isnt reflected properly in the dcache in linux. the following
patch attempts to address this issue. newname is renamed to afs_newname
and exported.

afs_linux_unlink() checks to see if the file is open. if so, it creates
a negative dcache entry using the name suggested by afs_newname(). then
dmove() moves (exchanges) dp and __dp. __dp is now a negative dentry
for the old name and is put/dropped.

(cherry picked from commit f8432c77965a79047429b18ae0ee214a45e4c9a4)
src/afs/LINUX/osi_vnodeops.c
src/afs/VNOPS/afs_vnop_remove.c