Re: [PATCH v3] NFS: put net on idr allocation failure

From: Myklebust, Trond
Date: Tue May 22 2012 - 10:37:50 EST


On Tue, 2012-05-22 at 12:03 +0400, Stanislav Kinsbursky wrote:
> Signed-off-by: Stanislav Kinsbursky <skinsbursky@xxxxxxxxxxxxx>
> ---
> fs/nfs/client.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> index 44cd70f..ae29d4f 100644
> --- a/fs/nfs/client.c
> +++ b/fs/nfs/client.c
> @@ -176,8 +176,10 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
>
> #ifdef CONFIG_NFS_V4
> err = nfs_get_cb_ident_idr(clp, cl_init->minorversion);
> - if (err)
> + if (err) {
> + put_net(clp->net);
> goto error_cleanup;
> + }
>
> spin_lock_init(&clp->cl_lock);
> INIT_DELAYED_WORK(&clp->cl_renewd, nfs4_renew_state);
>

Let's just move the actual get_net() call to the end of the function.

--
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com

N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i