On Wed, Oct 31, 2018 at 02:54:51PM -0400, Olga Kornievskaia wrote: > On Wed, Oct 31, 2018 at 2:40 PM J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > > > Just to pick one thing that I don't understand yet: > > > > On Fri, Oct 19, 2018 at 11:28:56AM -0400, Olga Kornievskaia wrote: > > > +EXPORT_SYMBOL_GPL(nfs42_ssc_open); > > > +void nfs42_ssc_close(struct file *filep) > > > +{ > > > + struct nfs_open_context *ctx = nfs_file_open_context(filep); > > > + > > > + ctx->state->flags = 0; > > > > Why is this needed? > > This is needed so that CLOSE isn't going on the wire but closed internally. > > > Also, given the name and the pairing with nfs42_ssc_open(), would it be > > more logical for it to do the fput() as well? > > I'd like to keep that fput() in the nfsd to make it consistent with > the "intra". There are fput()s for intra but intra doesn't call into > nfs42_ssc_close(). OK, I think. I'll need an ACK from Trond and/or Anna on this one in any case. --b.