On 2 Jul 2019, at 2:31, Eric Biggers wrote:

On Tue, Jun 11, 2019 at 12:23:12PM -0400, Benjamin Coddington wrote:
Ugh.. Now that you can cancel the wait, you have to also handle if "new" was
allocated.  I think this needs:

diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index d7e4f0848e28..4d90f5bf0b0a 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -406,10 +406,10 @@ struct nfs_client *nfs_get_client(const struct
nfs_client_initdata *cl_init)
                clp = nfs_match_client(cl_init);
                if (clp) {
                        spin_unlock(&nn->nfs_client_lock);
-                       if (IS_ERR(clp))
-                               return clp;
                        if (new)
                                new->rpc_ops->free_client(new);
+                       if (IS_ERR(clp))
+                               return clp;
                        return nfs_found_client(cl_init, clp);
                }
                if (new) {

I'll patch/test and send it along.

Ben

Hi Ben, what happened to this patch?

I sent it along:

https://lore.kernel.org/linux-nfs/65b675cec79d140df64bc30def88b1def32bf87e.1560272160.git.bcodd...@redhat.com/

I don't think it will go in 5.2.. it's not a huge problem.

Ben

Reply via email to