From patchwork Mon Nov 12 20:00:54 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 1730271 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 3091C3FCAE for ; Mon, 12 Nov 2012 20:01:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752845Ab2KLUBR (ORCPT ); Mon, 12 Nov 2012 15:01:17 -0500 Received: from mail-vb0-f46.google.com ([209.85.212.46]:59742 "EHLO mail-vb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752395Ab2KLUBQ (ORCPT ); Mon, 12 Nov 2012 15:01:16 -0500 Received: by mail-vb0-f46.google.com with SMTP id ff1so6652181vbb.19 for ; Mon, 12 Nov 2012 12:01:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:x-gm-message-state; bh=0GzCvfERMskg7dLWeXlwRyLgidRvakzmcL4SLgZ6nJg=; b=WuqP/BPPBWVFUog1uo8dzlzvDTrQWYjnh35FeZQ+/J3SB4Bp5qKP4N4cnHbJq3uyse lhzIPz6dv2vN2BwNdKCfbX38dFxqMfrJ0+LMXmnIGPE/fKy6J3X+mNFxhdTL9Qu2eWcM 0rCxLunszwqGHale5NeQuFkrET7oefi68tbVr1ETkJ+40UmKRFdcBVkw876uhj2APWtI +bsbkfdMFYox3/G19QOprrlBUxhDvOdZ5Xh/ygreB36sQdS/HJ/cbFO6wxtFxRGoHyrU H+yDmO1+41uhpK0qj4kLlpRbqKjJRy3pNaKobX8u36y5F1spL9xwd+n/IvXUDatiyQNw i/UQ== Received: by 10.52.100.5 with SMTP id eu5mr23306848vdb.34.1352750476471; Mon, 12 Nov 2012 12:01:16 -0800 (PST) Received: from salusa.poochiereds.net (cpe-107-015-110-129.nc.res.rr.com. [107.15.110.129]) by mx.google.com with ESMTPS id dh10sm7390369veb.8.2012.11.12.12.01.14 (version=SSLv3 cipher=OTHER); Mon, 12 Nov 2012 12:01:15 -0800 (PST) From: Jeff Layton To: bfields@fieldses.org Cc: linux-nfs@vger.kernel.org Subject: [PATCH 07/11] nfsd: make nfs4_client_to_reclaim return a pointer to the reclaim record Date: Mon, 12 Nov 2012 15:00:54 -0500 Message-Id: <1352750458-16857-8-git-send-email-jlayton@redhat.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1352750458-16857-1-git-send-email-jlayton@redhat.com> References: <1352750458-16857-1-git-send-email-jlayton@redhat.com> X-Gm-Message-State: ALoCoQlbe9suGLRKXonk6P9V2Vvwky+WeQheKGFkT2of0ITd6adJ156CcLQV+c6C/532i0uUJJbh Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Later callers will need to make changes to the record. Signed-off-by: Jeff Layton --- fs/nfsd/nfs4state.c | 20 ++++++++++---------- fs/nfsd/state.h | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 24dcda2..1c6f82e 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -4498,22 +4498,22 @@ nfs4_has_reclaimed_state(const char *name) /* * failure => all reset bets are off, nfserr_no_grace... */ -int +struct nfs4_client_reclaim * nfs4_client_to_reclaim(const char *name) { unsigned int strhashval; - struct nfs4_client_reclaim *crp = NULL; + struct nfs4_client_reclaim *crp; dprintk("NFSD nfs4_client_to_reclaim NAME: %.*s\n", HEXDIR_LEN, name); crp = alloc_reclaim(); - if (!crp) - return 0; - strhashval = clientstr_hashval(name); - INIT_LIST_HEAD(&crp->cr_strhash); - list_add(&crp->cr_strhash, &reclaim_str_hashtbl[strhashval]); - memcpy(crp->cr_recdir, name, HEXDIR_LEN); - reclaim_str_hashtbl_size++; - return 1; + if (crp) { + strhashval = clientstr_hashval(name); + INIT_LIST_HEAD(&crp->cr_strhash); + list_add(&crp->cr_strhash, &reclaim_str_hashtbl[strhashval]); + memcpy(crp->cr_recdir, name, HEXDIR_LEN); + reclaim_str_hashtbl_size++; + } + return crp; } void diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h index 3528616..3f8b26b 100644 --- a/fs/nfsd/state.h +++ b/fs/nfsd/state.h @@ -482,7 +482,7 @@ extern void nfsd4_destroy_callback_queue(void); extern void nfsd4_shutdown_callback(struct nfs4_client *); extern void nfs4_put_delegation(struct nfs4_delegation *dp); extern __be32 nfs4_make_rec_clidname(char *clidname, struct xdr_netobj *clname); -extern int nfs4_client_to_reclaim(const char *name); +extern struct nfs4_client_reclaim *nfs4_client_to_reclaim(const char *name); extern int nfs4_has_reclaimed_state(const char *name); extern void release_session_client(struct nfsd4_session *); extern void nfsd4_purge_closed_stateid(struct nfs4_stateowner *);