linux-remove-negative-dentry-20041209
authorChas Williams <chas@cmf.nrl.navy.mil>
Thu, 9 Dec 2004 16:14:21 +0000 (16:14 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 9 Dec 2004 16:14:21 +0000 (16:14 +0000)
commitf8432c77965a79047429b18ae0ee214a45e4c9a4
tree4d067d067937ea35bb14d664a43d656a0d20952a
parente400114f4486cc7be18de13a3a68a38b446620d3
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.
src/afs/LINUX/osi_vnodeops.c
src/afs/VNOPS/afs_vnop_remove.c