[Ocfs2-devel] [PATCH 1/1] Ocfs2: Stop tracking a negative dentry after dentry_iput().
Joel Becker
Joel.Becker at oracle.com
Wed Nov 17 15:23:44 PST 2010
On Mon, Nov 15, 2010 at 09:39:09PM +0800, Tristan Ye wrote:
> I suddenly hit the problem during 2.6.37-rc1 regression test, which was
> introduced by commit '5e98d492406818e6a94c0ba54c61f59d40cefa4a'(Track
> negative entries v3), following scenario reproduces the issue easily:
>
> Node A Node B
> ================ ============
> $touch testfile
> $ls testfile
> $rm -rf testfile
> $touch testfile
> $ls testfile
> ls: cannot access testfile: No such file or directory
>
> This patch stops tracking the dentry which was negativated by a inode deletion,
> so as to force the revaliation in next lookup, in case we'll touch the inode
> again in the same node.
>
> It didn't hurt the performance of multiple lookup for none-existed files anyway,
> while regresses a bit in the first try after a file deletion.
I'm going to take this fix for now, because it is clearing the
problem. However, it looks like the original code _should_ work. If we
have created a file, the directory's generation should have been
updated. Thus, the pgen shouldn't match the generation set when the old
inode was deleted. Right?
Joel
--
Life's Little Instruction Book #237
"Seek out the good in people."
Joel Becker
Senior Development Manager
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127
More information about the Ocfs2-devel
mailing list