On Thu, 07 Jul 2022, Chuck Lever III wrote: > > + /* We want to keep the directory locked until we've had a chance > > + * to acquire a delegation if appropriate, so request that > > + * nfsd_lookup() hold on to the lock. > > */ > > status = nfsd_lookup(rqstp, current_fh, > > - open->op_fname, open->op_fnamelen, *resfh); > > + open->op_fname, open->op_fnamelen, *resfh, > > + true); > > + if (!status) { > > + /* NFSv4 protocol requires change attributes even though > > + * no change happened. > > + */ > > + fh_fill_pre_attrs(current_fh); > > + fh_fill_post_attrs(current_fh); > > If this is really correct, the comment should also state that > no concurrent changes to the parent are possible during > the lookup, and thus the pre and post attributes are expected > to be the same always. The earlier comment notes that nfsd_lookup() is called in a way in which it takes and keeps the lock - that should imply that no other changes can happen. But with such insane looking code, it doesn't hurt to be extra explicit. > > Otherwise, this code paragraph looks just a little insane ;-) > :-) Thanks, NeilBrown