On 11 Sep 2024, at 9:24, Jeff Layton wrote: > On Tue, 2024-09-10 at 12:56 -0400, Benjamin Coddington wrote: >> On 10 Sep 2024, at 11:45, Jeff Layton wrote: >> >>> Good catch. Yeah, I think that probably should have been an && >>> condition. IOW: >>> >>> if (nlmsvc_file_file(file)->f_op->lock && >>> !export_op_support_safe_async_lock(inode->i_sb->s_export_op, >>> >> >> Ah Jeff, thanks for confirming - there's been a bunch of changes in there that >> made me uncertain. I can send a patch for this, I'd like to rename >> export_op_support_safe_async_lock to something like fs_can_defer_lock >> (suggestions) and put the test in there. > > Actually, I take it back. The only callers that set > export_op_support_safe_async_lock have ->lock as non-NULL, so that > won't change anything, in practice. *nod* In trying to conjoin the export flag test with the f_op->lock test, I'm just making a huge mess of layering violations. The changes for NFSD are terrible. Seems like we want an FOP_ flag for this, I might ask for one. Wouldn't other users like FUSE be interested? Ben