On Wed, 2018-01-10 at 13:33 +1100, NeilBrown wrote: > On Tue, Jan 09 2018, Trond Myklebust wrote: > > > Support the query flags AT_STATX_FORCE_SYNC by forcing an attribute > > revalidation, and AT_STATX_DONT_SYNC by returning cached attributes > > only. > > > > Use the mask to optimise away server revalidation for attributes > > that are not being requested by the user. > > > > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > > --- > > v2: > > - Respect the attribute cache timeout. > > - Unless AT_STATX_DONT_SYNC is set, we must only return attributes > > that have been duly revalidated. > > This looks good, thanks. > It handles _FORCE_SYNC and _DONT_SYNC and avoids the flush if > CTIME/MTIME aren't requested. > > I note that you no longer call nfs_need_revalidate_inode(). > Most of the checks in there you have included in a different form, > but I don't see a test for NFS_INO_INVALID_LABEL. Is there a reason > that we don't need that test any more? Was it redundant previously? It's a good question. NFS_INO_INVALID_LABEL is definitely not needed in order to satisfy a stat() or statx() request. We wanted to be able to revalidate the security label somewhere, but it doesn't really make much sense to peg that to stat(), and I've never really been happy with that decision. We can add it back in for now. -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part