rpdfs: add inode cache invalidation, use in dir

Introduce the basics of multi-client cache consistency by adding
coverage of inodes and dirents.

Users, the dir code in this case, hold rlocks while using the local
cache.  The rlock code calls into the inode code to invalidate caches as
the rlock loses the modes that protected the cache.  The inodes maintain
an invalidation counter which can be used to decide if caches that
survived invalidation are stale (dentries, d_revalidate).

Signed-off-by: Zach Brown <zab@zabbo.net>
8 files changed