Series updated and force-pushed to the same place: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git #work.d_revalidate itself on top of #work.dcache. Individual patches in followups; please, review. Changes since v2: * document that stable name passed to ->d_revalidate() may be followed by '/' rather than NUL - in normal case it's given a pathname component in the pathname being resolved and it doesn't have to be the last one. Basically, it's the situation as for ->d_hash() and ->d_compare() - ->len should not be ignored. AFS, FUSE and orangefs patches in the series ran afoul of that; spotted (in AFS case) by dhowells. Fixed; in case of afs it used to end up with incorrect debugging printk, in case of fuse and orangefs - stray invalidations, unfortunately not caught by testing. Changes since v1: * reordered external_name members to get rid of hole on 64bit, as suggested by dhowells. * split the added method in two in the last commit ("9p: fix ->rename_sem exclusion")