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? Also, given the name and the pairing with nfs42_ssc_open(), would it be more logical for it to do the fput() as well? --b.