linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jim Rees <rees@umich.edu>
To: Boaz Harrosh <bharrosh@panasas.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>,
	linux-nfs@vger.kernel.org, peter honeyman <honey@citi.umich.edu>
Subject: Re: [PATCH v4 09/27] pnfs: cleanup_layoutcommit
Date: Thu, 28 Jul 2011 23:16:50 -0400	[thread overview]
Message-ID: <20110729031650.GA19579@merit.edu> (raw)
In-Reply-To: <4E31A9F3.9090205@panasas.com>

Boaz Harrosh wrote:

  On 07/28/2011 10:30 AM, Jim Rees wrote:
  > From: Andy Adamson <andros@netapp.com>
  > 
  > This gives layout driver a chance to cleanup structures they put in at
  > encode_layoutcommit.
  > 
  > Signed-off-by: Andy Adamson <andros@netapp.com>
  > [fixup layout header pointer for layoutcommit]
  > Signed-off-by: Benny Halevy <bhalevy@panasas.com>
  > Signed-off-by: Benny Halevy <bhalevy@tonian.com>
  > ---
  >  fs/nfs/nfs4proc.c       |    1 +
  >  fs/nfs/nfs4xdr.c        |    1 +
  >  fs/nfs/pnfs.c           |   10 ++++++++++
  >  fs/nfs/pnfs.h           |    5 +++++
  >  include/linux/nfs_xdr.h |    1 +
  >  5 files changed, 18 insertions(+), 0 deletions(-)
  > 
  > diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
  > index e86de79..6cb84b4 100644
  > --- a/fs/nfs/nfs4proc.c
  > +++ b/fs/nfs/nfs4proc.c
  > @@ -5963,6 +5963,7 @@ static void nfs4_layoutcommit_release(void *calldata)
  >  	struct nfs4_layoutcommit_data *data = calldata;
  >  	struct pnfs_layout_segment *lseg, *tmp;
  >  
  > +	pnfs_cleanup_layoutcommit(data->args.inode, data);
  
  If inode is part of @data, which is also passed as argument then we can simplify
  the API by just passing @data

Thanks, I've applied the following patch, which will be squashed and
included in the next version of the patch set.  Which I will probably send
tomorrow.

>From b757a45f208f31f8eff5ec499f1e99895713a17c Mon Sep 17 00:00:00 2001
From: Jim Rees <rees@umich.edu>
Date: Thu, 28 Jul 2011 15:26:49 -0400
Subject: [PATCH] SQUASHME: rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()

Signed-off-by: Jim Rees <rees@umich.edu>
---
 fs/nfs/blocklayout/blocklayout.c |    5 +++--
 fs/nfs/nfs4proc.c                |    2 +-
 fs/nfs/pnfs.c                    |    8 +++-----
 fs/nfs/pnfs.h                    |    6 ++----
 4 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
index 81efa05..7450309 100644
--- a/fs/nfs/blocklayout/blocklayout.c
+++ b/fs/nfs/blocklayout/blocklayout.c
@@ -771,9 +771,10 @@ bl_encode_layoutcommit(struct pnfs_layout_hdr *lo, struct xdr_stream *xdr,
 }
 
 static void
-bl_cleanup_layoutcommit(struct pnfs_layout_hdr *lo,
-			struct nfs4_layoutcommit_data *lcdata)
+bl_cleanup_layoutcommit(struct nfs4_layoutcommit_data *lcdata)
 {
+	struct pnfs_layout_hdr *lo = NFS_I(lcdata->args.inode)->layout;
+
 	dprintk("%s enter\n", __func__);
 	clean_pnfs_block_layoutupdate(BLK_LO2EXT(lo), &lcdata->args, lcdata->res.status);
 }
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 6cb84b4..8c77039 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -5963,7 +5963,7 @@ static void nfs4_layoutcommit_release(void *calldata)
 	struct nfs4_layoutcommit_data *data = calldata;
 	struct pnfs_layout_segment *lseg, *tmp;
 
-	pnfs_cleanup_layoutcommit(data->args.inode, data);
+	pnfs_cleanup_layoutcommit(data);
 	/* Matched by references in pnfs_set_layoutcommit */
 	list_for_each_entry_safe(lseg, tmp, &data->lseg_list, pls_lc_list) {
 		list_del_init(&lseg->pls_lc_list);
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index c1cc216..e550e88 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1411,14 +1411,12 @@ pnfs_set_layoutcommit(struct nfs_write_data *wdata)
 }
 EXPORT_SYMBOL_GPL(pnfs_set_layoutcommit);
 
-void pnfs_cleanup_layoutcommit(struct inode *inode,
-			       struct nfs4_layoutcommit_data *data)
+void pnfs_cleanup_layoutcommit(struct nfs4_layoutcommit_data *data)
 {
-	struct nfs_server *nfss = NFS_SERVER(inode);
+	struct nfs_server *nfss = NFS_SERVER(data->args.inode);
 
 	if (nfss->pnfs_curr_ld->cleanup_layoutcommit)
-		nfss->pnfs_curr_ld->cleanup_layoutcommit(NFS_I(inode)->layout,
-							 data);
+		nfss->pnfs_curr_ld->cleanup_layoutcommit(data);
 }
 
 /*
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index 82dde37..e0b5d80 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -113,8 +113,7 @@ struct pnfs_layoutdriver_type {
 				     struct xdr_stream *xdr,
 				     const struct nfs4_layoutreturn_args *args);
 
-	void (*cleanup_layoutcommit) (struct pnfs_layout_hdr *layoutid,
-				      struct nfs4_layoutcommit_data *data);
+	void (*cleanup_layoutcommit) (struct nfs4_layoutcommit_data *data);
 
 	void (*encode_layoutcommit) (struct pnfs_layout_hdr *layoutid,
 				     struct xdr_stream *xdr,
@@ -198,8 +197,7 @@ void pnfs_roc_release(struct inode *ino);
 void pnfs_roc_set_barrier(struct inode *ino, u32 barrier);
 bool pnfs_roc_drain(struct inode *ino, u32 *barrier);
 void pnfs_set_layoutcommit(struct nfs_write_data *wdata);
-void pnfs_cleanup_layoutcommit(struct inode *inode,
-			       struct nfs4_layoutcommit_data *data);
+void pnfs_cleanup_layoutcommit(struct nfs4_layoutcommit_data *data);
 int pnfs_layoutcommit_inode(struct inode *inode, bool sync);
 int _pnfs_return_layout(struct inode *);
 int pnfs_ld_write_done(struct nfs_write_data *);
-- 
1.7.4.1


  reply	other threads:[~2011-07-29  3:16 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-28 17:30 [PATCH v4 00/27] add block layout driver to pnfs client Jim Rees
2011-07-28 17:30 ` [PATCH v4 01/27] pnfs: GETDEVICELIST Jim Rees
2011-07-28 17:30 ` [PATCH v4 02/27] pnfs: add set-clear layoutdriver interface Jim Rees
2011-07-28 17:30 ` [PATCH v4 03/27] pnfs: save layoutcommit lwb at layout header Jim Rees
2011-07-28 17:30 ` [PATCH v4 04/27] pnfs: save layoutcommit cred " Jim Rees
2011-07-28 17:30 ` [PATCH v4 05/27] pnfs: let layoutcommit handle a list of lseg Jim Rees
2011-07-28 18:52   ` Boaz Harrosh
2011-07-28 17:30 ` [PATCH v4 06/27] pnfs: use lwb as layoutcommit length Jim Rees
2011-07-28 17:30 ` [PATCH v4 07/27] NFS41: save layoutcommit cred in layout header init Jim Rees
2011-07-28 17:30 ` [PATCH v4 08/27] pnfs: ask for layout_blksize and save it in nfs_server Jim Rees
2011-07-28 17:30 ` [PATCH v4 09/27] pnfs: cleanup_layoutcommit Jim Rees
2011-07-28 18:26   ` Boaz Harrosh
2011-07-29  3:16     ` Jim Rees [this message]
2011-07-28 17:30 ` [PATCH v4 10/27] pnfsblock: add blocklayout Kconfig option, Makefile, and stubs Jim Rees
2011-07-28 17:31 ` [PATCH v4 11/27] pnfsblock: use pageio_ops api Jim Rees
2011-07-28 17:31 ` [PATCH v4 12/27] pnfsblock: basic extent code Jim Rees
2011-07-28 17:31 ` [PATCH v4 13/27] pnfsblock: add device operations Jim Rees
2011-07-28 17:31 ` [PATCH v4 14/27] pnfsblock: remove " Jim Rees
2011-07-28 17:31 ` [PATCH v4 15/27] pnfsblock: lseg alloc and free Jim Rees
2011-07-28 17:31 ` [PATCH v4 16/27] pnfsblock: merge extents Jim Rees
2011-07-28 17:31 ` [PATCH v4 17/27] pnfsblock: call and parse getdevicelist Jim Rees
2011-07-28 17:31 ` [PATCH v4 18/27] pnfsblock: xdr decode pnfs_block_layout4 Jim Rees
2011-07-28 17:31 ` [PATCH v4 19/27] pnfsblock: bl_find_get_extent Jim Rees
2011-07-28 17:31 ` [PATCH v4 20/27] pnfsblock: add extent manipulation functions Jim Rees
2011-07-28 17:31 ` [PATCH v4 21/27] pnfsblock: merge rw extents Jim Rees
2011-07-28 17:31 ` [PATCH v4 22/27] pnfsblock: encode_layoutcommit Jim Rees
2011-07-28 17:31 ` [PATCH v4 23/27] pnfsblock: cleanup_layoutcommit Jim Rees
2011-07-28 17:31 ` [PATCH v4 24/27] pnfsblock: bl_read_pagelist Jim Rees
2011-07-28 17:31 ` [PATCH v4 25/27] pnfsblock: bl_write_pagelist Jim Rees
2011-07-28 17:31 ` [PATCH v4 26/27] pnfsblock: note written INVAL areas for layoutcommit Jim Rees
2011-07-28 17:31 ` [PATCH v4 27/27] pnfsblock: write_pagelist handle zero invalid extents Jim Rees
2011-07-29 15:51 ` [PATCH v4 00/27] add block layout driver to pnfs client Christoph Hellwig
2011-07-29 17:45   ` Peng Tao
2011-07-29 18:44     ` Christoph Hellwig
2011-07-29 18:54   ` Jim Rees
2011-07-29 19:01     ` Christoph Hellwig
2011-07-29 19:13       ` Jim Rees
2011-07-30  1:09         ` Trond Myklebust
2011-07-30  3:26           ` Jim Rees
2011-07-30 14:25             ` Peng Tao
2011-08-01 21:10               ` Trond Myklebust
2011-08-01 22:35                 ` Trond Myklebust
2011-08-01 22:57                   ` Andy Adamson
2011-08-01 23:11                     ` Trond Myklebust
2011-08-02 17:30                       ` Trond Myklebust
2011-08-02 18:50                         ` [PATCH v2 1/2] NFSv4.1: Fix the callback 'highest_used_slotid' behaviour Trond Myklebust
2011-08-02 18:50                           ` [PATCH v2 2/2] NFSv4.1: Return NFS4ERR_BADSESSION to callbacks during session resets Trond Myklebust
2011-08-03  8:52                           ` [PATCH v2 1/2] NFSv4.1: Fix the callback 'highest_used_slotid' behaviour Peng Tao
2011-08-02  2:21                   ` [PATCH v4 00/27] add block layout driver to pnfs client Jim Rees
2011-08-02  2:29                     ` Myklebust, Trond
2011-08-02  3:23                       ` Jim Rees
2011-08-02 12:28                         ` Trond Myklebust
2011-08-02 12:56                           ` Jim Rees
2011-08-03  1:48                           ` Jim Rees
2011-08-03  2:07                             ` Myklebust, Trond
     [not found]                               ` <2E1EB2CF9ED1CB4AA966F0EB76EAB4430A778AE2-hX7t0kiaRRrlMGe9HJ1VYQK/GNPrWCqfQQ4Iyu8u01E@public.gmane.org>
2011-08-03  2:11                                 ` Jim Rees
2011-08-03  2:38                               ` Jim Rees
2011-08-03  8:43                                 ` Peng Tao
2011-08-03 11:49                                   ` Jim Rees
2011-08-03 11:53                                   ` Jim Rees
2011-08-03 13:59                                     ` Peng Tao
2011-08-03 14:11                                       ` Jim Rees
2011-07-30 14:18           ` Jim Rees

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110729031650.GA19579@merit.edu \
    --to=rees@umich.edu \
    --cc=Trond.Myklebust@netapp.com \
    --cc=bharrosh@panasas.com \
    --cc=honey@citi.umich.edu \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).