4h8qdp6jx9@privaterelay.appleid.com has uploaded this change for review.
MDCACHE: survive directory entries removed outside Ganesha
After a file was removed outside Ganesha, three bugs kept a cached
directory broken:
- READDIR failed with NFS4ERR_NOENT when looking up an evicted entry
again. Drop the entry instead.
- mdcache_is_referral() refreshed expired attributes without the mtime
check that flushes cached entries, so the cache was trusted forever.
- A cached READDIR never revalidated the directory, so it missed the
change unless a GETATTR came first.
Change-Id: I0527fdee179a13868e5242e8ab313eb822fa2a25
Signed-off-by: Evan Champion <4h8qdp6jx9@privaterelay.appleid.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_handle.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c
2 files changed, 52 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/31/1255431/1
To view, visit change 1255431. To unsubscribe, or for help writing mail filters, visit settings.