From patchwork Tue Mar 1 19:25:31 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Adamson X-Patchwork-Id: 600541 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p21JPrRP030741 for ; Tue, 1 Mar 2011 19:25:54 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752551Ab1CATZx (ORCPT ); Tue, 1 Mar 2011 14:25:53 -0500 Received: from mx2.netapp.com ([216.240.18.37]:1570 "EHLO mx2.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756231Ab1CATZx (ORCPT ); Tue, 1 Mar 2011 14:25:53 -0500 X-IronPort-AV: E=Sophos;i="4.62,248,1297065600"; d="scan'208";a="524785092" Received: from smtp1.corp.netapp.com ([10.57.156.124]) by mx2-out.netapp.com with ESMTP; 01 Mar 2011 11:25:52 -0800 Received: from localhost.localdomain (pulliam-lxp.hq.netapp.com [10.58.50.19] (may be forged)) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id p21JPZBA013702; Tue, 1 Mar 2011 11:25:52 -0800 (PST) From: andros@netapp.com To: bhalevy@panasas.com Cc: linux-nfs@vger.kernel.org, Fred Isaman Subject: [PATCH pnfs-submit-wave3 update 2/5] wave3: clean up nfs4_reset_read to match write Date: Tue, 1 Mar 2011 14:25:31 -0500 Message-Id: <1299007534-4105-3-git-send-email-andros@netapp.com> X-Mailer: git-send-email 1.6.2.5 In-Reply-To: <1299007534-4105-2-git-send-email-andros@netapp.com> References: <1299007534-4105-1-git-send-email-andros@netapp.com> <1299007534-4105-2-git-send-email-andros@netapp.com> Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Tue, 01 Mar 2011 19:25:54 +0000 (UTC) diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c index c26b655..45b650a 100644 --- a/fs/nfs/nfs4filelayout.c +++ b/fs/nfs/nfs4filelayout.c @@ -142,8 +142,8 @@ static int filelayout_read_done_cb(struct rpc_task *task, dprintk("%s calling restart ds_clp %p ds_clp->cl_session %p\n", __func__, data->ds_clp, data->ds_clp->cl_session); if (reset) { - nfs4_reset_read(task, data); filelayout_set_lo_fail(data->lseg); + nfs4_reset_read(task, data); clp = NFS_SERVER(data->inode)->nfs_client; } nfs_restart_rpc(task, clp); diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index a54d8e6..5742a5e 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -3112,6 +3112,8 @@ static void nfs4_proc_read_setup(struct nfs_read_data *data, struct rpc_message void nfs4_reset_read(struct rpc_task *task, struct nfs_read_data *data) { dprintk("%s Reset task for i/o through\n", __func__); + put_lseg(data->lseg); + data->lseg = NULL; /* offsets will differ in the dense stripe case */ data->args.offset = data->mds_offset; data->ds_clp = NULL;