> On Nov 9, 2023, at 1:47 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > On Thu, Nov 09, 2023 at 09:01:19AM -0500, Chuck Lever wrote: >> On Thu, Nov 09, 2023 at 06:20:36AM +0000, Al Viro wrote: >>> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx> >>> Tested-by: Jeff Layton <jlayton@xxxxxxxxxx> >>> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> >> >> Future me is going to be mightily confused by the lack of a patch >> description. I went back to the series cover letter and found some >> text that would be nice to include here: > > Does the following work for you? > > switch nfsd_client_rmdir() to use of simple_recursive_removal() > > nfsd_client_rmdir() open-codes a subset of simple_recursive_removal(). > Conversion to calling simple_recursive_removal() allows to clean things > up quite a bit. > > While we are at it, nfsdfs_create_files() doesn't need to mess with "pick > the reference to struct nfsdfs_client from the already created parent" - > the caller already knows it (that's where the parent got it from, > after all), so we might as well just pass it as an explicit argument. > So __get_nfsdfs_client() is only needed in get_nfsdfs_client() and > can be folded in there. > > Incidentally, the locking in get_nfsdfs_client() is too heavy - we don't > need ->i_rwsem for that, ->i_lock serves just fine. Very nice, thanks. Acked-by: Chuck Lever <chuck.lever@xxxxxxxxxx <mailto:chuck.lever@xxxxxxxxxx>> -- Chuck Lever