On Thu, 2020-01-16 at 11:32 -0500, Benjamin Coddington wrote: > On 16 Jan 2020, at 11:02, Trond Myklebust wrote: > > We should need to perform this revalidation once, and only once for > > that directory, and only if we opened the file using a CLAIM_FH > > open, > > or if we opened it through a different hard linked name (and did > > not > > create this hard link after we got the delegation). > > > > Perhaps we could define a magic value for dentry->d_time that > > causes us > > to skip revalidation if and only if we hold a delegation? > > Can we put the delegation's change_attr in d_time for dentries that > have > been revalided while holding a delegation? We could, but that seems more complicated because it means you need to decide whether you are checking the parent inode or your own inode. It seems easier to just have nfs_force_lookup_revalidate() skip the magic value so that we know that there are no collisions. Once the revalidation is done on the dentry holding the delegation, then we can set dentry->d_time to the magic value, and we're done... -- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@xxxxxxxxxxxxxxx