Linux NFS development
 help / color / mirror / Atom feed
* [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup
@ 2011-02-11  1:52 andros
  2011-02-11  1:52 ` [PATCH 01/17] SQUASHME pnfs-submit wave3 fix nfs4_ds_connect bug andros
  2011-02-13  5:17 ` [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup Benny Halevy
  0 siblings, 2 replies; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs



These patches bring the pnfs-submit-wave3-rev3 branch equal to the wave3 patches
at git://linux-nfs.org/projects/andros/nfs-2.6.git wave3-on-nfs-for-next-rev4
which is being tested.

-->Andy


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH 01/17] SQUASHME pnfs-submit wave3 fix nfs4_ds_connect bug
  2011-02-11  1:52 [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup andros
@ 2011-02-11  1:52 ` andros
  2011-02-11  1:52   ` [PATCH 02/17] SQUASHME fix filelayout_set_lo_fail logic andros
  2011-02-13  5:17 ` [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup Benny Halevy
  1 sibling, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

MDS/DS dual role nfs_client not assigned to the nfs4_pnfs_ds->clp

squash into: pnfs-submit-wave3-data-server-connection.patch

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayoutdev.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/fs/nfs/nfs4filelayoutdev.c b/fs/nfs/nfs4filelayoutdev.c
index 96e9e6a..673e31e 100644
--- a/fs/nfs/nfs4filelayoutdev.c
+++ b/fs/nfs/nfs4filelayoutdev.c
@@ -131,13 +131,13 @@ nfs4_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds)
 	}
 
 	if ((clp->cl_exchange_flags & EXCHGID4_FLAG_MASK_PNFS) != 0) {
-		dprintk("%s [existing] ip=%x, port=%hu\n", __func__,
-			ntohl(ds->ds_ip_addr), ntohs(ds->ds_port));
-
 		if (!is_ds_client(clp)) {
 			status = -ENODEV;
 			goto out_put;
 		}
+		ds->ds_clp = clp;
+		dprintk("%s [existing] ip=%x, port=%hu\n", __func__,
+			ntohl(ds->ds_ip_addr), ntohs(ds->ds_port));
 		goto out;
 	}
 
@@ -155,9 +155,7 @@ nfs4_ds_connect(struct nfs_server *mds_srv, struct nfs4_pnfs_ds *ds)
 	if (status)
 		goto out_put;
 
-
 	ds->ds_clp = clp;
-
 	dprintk("%s [new] ip=%x, port=%hu\n", __func__, ntohl(ds->ds_ip_addr),
 		ntohs(ds->ds_port));
 out:
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 02/17] SQUASHME fix filelayout_set_lo_fail logic
  2011-02-11  1:52 ` [PATCH 01/17] SQUASHME pnfs-submit wave3 fix nfs4_ds_connect bug andros
@ 2011-02-11  1:52   ` andros
  2011-02-11  1:52     ` [PATCH 03/17] SQUASHME rename orig_offset to mds_offset andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

Just use lseg iomode.

squash into pnfs-submit wave3 filelayout read done

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayout.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 777d78b..05fcc6a 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -99,12 +99,12 @@ filelayout_get_dserver_offset(struct pnfs_layout_segment *lseg, loff_t offset)
 
 /* For data server errors we don't recover from */
 static void
-filelayout_set_lo_fail(struct pnfs_layout_segment *lseg, fmode_t mode)
+filelayout_set_lo_fail(struct pnfs_layout_segment *lseg)
 {
-	if (mode & FMODE_WRITE) {
+	if (lseg->pls_range.iomode == IOMODE_RW) {
 		dprintk("%s Setting layout IOMODE_RW fail bit\n", __func__);
 		set_bit(lo_fail_bit(IOMODE_RW), &lseg->pls_layout->plh_flags);
-	} else if (mode & FMODE_READ) {
+	} else {
 		dprintk("%s Setting layout IOMODE_READ fail bit\n", __func__);
 		set_bit(lo_fail_bit(IOMODE_READ), &lseg->pls_layout->plh_flags);
 	}
@@ -143,9 +143,8 @@ static int filelayout_async_handle_error(struct rpc_task *task,
 		task->tk_status = 0;
 		return -EAGAIN;
 	default:
-		dprintk("%s DS error %d\n", __func__, task->tk_status);
-		/* Layout marked as failed by pnfs_check_io_status.
-		 * Retry I/O through the MDS */
+		dprintk("%s DS error. Retry through MDS %d\n", __func__,
+			task->tk_status);
 		*reset = 1;
 		task->tk_status = 0;
 		return -EAGAIN;
@@ -168,8 +167,7 @@ static int filelayout_read_done_cb(struct rpc_task *task,
 			__func__, data->ds_clp, data->ds_clp->cl_session);
 		if (reset) {
 			nfs4_reset_read(task, data);
-			filelayout_set_lo_fail(data->lseg,
-					data->args.context->state->state);
+			filelayout_set_lo_fail(data->lseg);
 			clp = NFS_SERVER(data->inode)->nfs_client;
 		}
 		nfs_restart_rpc(task, clp);
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 03/17] SQUASHME rename orig_offset to mds_offset
  2011-02-11  1:52   ` [PATCH 02/17] SQUASHME fix filelayout_set_lo_fail logic andros
@ 2011-02-11  1:52     ` andros
  2011-02-11  1:52       ` [PATCH 04/17] SQUASHME rename nfs_read_data call_ops ONE andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into pnfs_submit: filelayout read

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayout.c |    8 ++++----
 include/linux/nfs_xdr.h |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 05fcc6a..61f21b6 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -201,10 +201,10 @@ static void filelayout_read_call_done(struct rpc_task *task, void *data)
 	struct nfs_read_data *rdata = (struct nfs_read_data *)data;
 
 	dprintk("--> %s task->tk_status %d\n", __func__, task->tk_status);
-	if (rdata->orig_offset) {
+	if (rdata->mds_offset) {
 		dprintk("%s new off %llu orig offset %llu\n", __func__,
-			rdata->args.offset, rdata->orig_offset);
-		rdata->args.offset = rdata->orig_offset;
+			rdata->args.offset, rdata->mds_offset);
+		rdata->args.offset = rdata->mds_offset;
 	}
 
 	/* Note this may cause RPC to be resent */
@@ -256,7 +256,7 @@ filelayout_read_pagelist(struct nfs_read_data *data)
 		data->args.fh = fh;
 
 	data->args.offset = filelayout_get_dserver_offset(lseg, offset);
-	data->orig_offset = offset;
+	data->mds_offset = offset;
 
 	/* Perform an asynchronous read to ds */
 	nfs_initiate_read(data, ds->ds_clp->cl_rpcclient,
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index c91f468..935d8ff 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1021,7 +1021,7 @@ struct nfs_read_data {
 	struct nfs_client	*ds_clp;	/* pNFS data server */
 	const struct rpc_call_ops *call_ops;	/* For pNFS recovery to MDS */
 	int (*read_done_cb) (struct rpc_task *task, struct nfs_read_data *data);
-	__u64			orig_offset;	/* Filelayout dense stripe */
+	__u64			mds_offset;
 	struct page		*page_array[NFS_PAGEVEC_SIZE];
 };
 
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 04/17] SQUASHME rename nfs_read_data call_ops ONE
  2011-02-11  1:52     ` [PATCH 03/17] SQUASHME rename orig_offset to mds_offset andros
@ 2011-02-11  1:52       ` andros
  2011-02-11  1:52         ` [PATCH 05/17] SQUASHME rename nfs_read_data call_ops TWO andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into pnfs_submit-wave3-generic-read

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pnfs.c           |    2 +-
 include/linux/nfs_xdr.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index e96bd82..98dd993 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -902,7 +902,7 @@ pnfs_try_to_read_data(struct nfs_read_data *rdata,
 	struct nfs_server *nfss = NFS_SERVER(inode);
 	enum pnfs_try_status trypnfs;
 
-	rdata->call_ops = call_ops;
+	rdata->mds_ops = call_ops;
 
 	dprintk("%s: Reading ino:%lu %u@%llu\n",
 		__func__, inode->i_ino, rdata->args.count, rdata->args.offset);
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 935d8ff..4121c3e 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1019,7 +1019,7 @@ struct nfs_read_data {
 	unsigned long		timestamp;	/* For lease renewal */
 	struct pnfs_layout_segment *lseg;
 	struct nfs_client	*ds_clp;	/* pNFS data server */
-	const struct rpc_call_ops *call_ops;	/* For pNFS recovery to MDS */
+	const struct rpc_call_ops *mds_ops;
 	int (*read_done_cb) (struct rpc_task *task, struct nfs_read_data *data);
 	__u64			mds_offset;
 	struct page		*page_array[NFS_PAGEVEC_SIZE];
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 05/17] SQUASHME rename nfs_read_data call_ops TWO
  2011-02-11  1:52       ` [PATCH 04/17] SQUASHME rename nfs_read_data call_ops ONE andros
@ 2011-02-11  1:52         ` andros
  2011-02-11  1:52           ` [PATCH 06/17] SQUASHME rename nfs_read_data call_ops THREE andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into pnfs-submit wave3 filelayout read done

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4proc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 9dee49d..64a0d4f 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3115,7 +3115,7 @@ void nfs4_reset_read(struct rpc_task *task, struct nfs_read_data *data)
 	data->ds_clp = NULL;
 	data->args.fh     = NFS_FH(data->inode);
 	data->read_done_cb = nfs4_read_done_cb;
-	task->tk_ops = data->call_ops;
+	task->tk_ops = data->mds_ops;
 	rpc_task_reset_client(task, NFS_CLIENT(data->inode));
 }
 EXPORT_SYMBOL_GPL(nfs4_reset_read);
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 06/17] SQUASHME rename nfs_read_data call_ops THREE
  2011-02-11  1:52         ` [PATCH 05/17] SQUASHME rename nfs_read_data call_ops TWO andros
@ 2011-02-11  1:52           ` andros
  2011-02-11  1:52             ` [PATCH 07/17] SQUASHME remove reset mds_offset from filelayout_rpc_call_done andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into pnfs_submit-filelayout-read

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayout.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 61f21b6..36a797a 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -208,14 +208,14 @@ static void filelayout_read_call_done(struct rpc_task *task, void *data)
 	}
 
 	/* Note this may cause RPC to be resent */
-	rdata->call_ops->rpc_call_done(task, data);
+	rdata->mds_ops->rpc_call_done(task, data);
 }
 
 static void filelayout_read_release(void *data)
 {
 	struct nfs_read_data *rdata = (struct nfs_read_data *)data;
 
-	rdata->call_ops->rpc_release(data);
+	rdata->mds_ops->rpc_release(data);
 }
 
 struct rpc_call_ops filelayout_read_call_ops = {
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 07/17] SQUASHME remove reset mds_offset from filelayout_rpc_call_done
  2011-02-11  1:52           ` [PATCH 06/17] SQUASHME rename nfs_read_data call_ops THREE andros
@ 2011-02-11  1:52             ` andros
  2011-02-11  1:52               ` [PATCH 08/17] SQUASHME reset offset to mds_offset andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into pnfs_submit: filelayout read

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayout.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 36a797a..083f541 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -201,11 +201,6 @@ static void filelayout_read_call_done(struct rpc_task *task, void *data)
 	struct nfs_read_data *rdata = (struct nfs_read_data *)data;
 
 	dprintk("--> %s task->tk_status %d\n", __func__, task->tk_status);
-	if (rdata->mds_offset) {
-		dprintk("%s new off %llu orig offset %llu\n", __func__,
-			rdata->args.offset, rdata->mds_offset);
-		rdata->args.offset = rdata->mds_offset;
-	}
 
 	/* Note this may cause RPC to be resent */
 	rdata->mds_ops->rpc_call_done(task, data);
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 08/17] SQUASHME reset offset to mds_offset
  2011-02-11  1:52             ` [PATCH 07/17] SQUASHME remove reset mds_offset from filelayout_rpc_call_done andros
@ 2011-02-11  1:52               ` andros
  2011-02-11  1:52                 ` [PATCH 09/17] SQUASHME cleanup read_pagelist declaration and comment andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs-submit wave3 filelayout read done

Update the mds_offset in nfs_readpage_retry so that a failed short-read retry
to a DS gets correctly resent through the MDS.

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4proc.c |    4 +++-
 fs/nfs/read.c     |    1 +
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 64a0d4f..f396853 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -3108,10 +3108,12 @@ static void nfs4_proc_read_setup(struct nfs_read_data *data, struct rpc_message
 	msg->rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_READ];
 }
 
-/* Reset the the nfs_read_data to send the read to another server. */
+/* Reset the the nfs_read_data to send the read to the MDS. */
 void nfs4_reset_read(struct rpc_task *task, struct nfs_read_data *data)
 {
 	dprintk("%s Reset task for i/o through \n", __func__);
+	/* offsets will differ in the dense stripe case */
+	data->args.offset = data->mds_offset;
 	data->ds_clp = NULL;
 	data->args.fh     = NFS_FH(data->inode);
 	data->read_done_cb = nfs4_read_done_cb;
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index cb0b239..896dc4e 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -393,6 +393,7 @@ static void nfs_readpage_retry(struct rpc_task *task, struct nfs_read_data *data
 		return;
 
 	/* Yes, so retry the read at the end of the data */
+	data->mds_offset += resp->count;
 	argp->offset += resp->count;
 	argp->pgbase += resp->count;
 	argp->count -= resp->count;
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 09/17] SQUASHME cleanup read_pagelist declaration and comment
  2011-02-11  1:52               ` [PATCH 08/17] SQUASHME reset offset to mds_offset andros
@ 2011-02-11  1:52                 ` andros
  2011-02-11  1:52                   ` [PATCH 10/17] SQUASHME just return ds in nfs4_fl_prepare_ds andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into pnfs_submit-wave3-generic-read

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pnfs.h |   12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index 218cdfe..b47598c 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -76,15 +76,11 @@ struct pnfs_layoutdriver_type {
 	/* test for nfs page cache coalescing */
 	int (*pg_test)(struct nfs_pageio_descriptor *, struct nfs_page *, struct nfs_page *);
 
-	/* read and write pagelist should return just 0 (to indicate that
-	 * the layout code has taken control) or 1 (to indicate that the
-	 * layout code wishes to fall back to normal nfs.)  If 0 is returned,
-	 * information can be passed back through nfs_data->res and
-	 * nfs_data->task.tk_status, and the appropriate pnfs done function
-	 * MUST be called.
+	/*
+	 * Return PNFS_ATTEMPTED to indicate the layout code has attempted
+	 * I/O, else return PNFS_NOT_ATTEMPTED to fall back to normal NFS
 	 */
-	enum pnfs_try_status
-	(*read_pagelist) (struct nfs_read_data *nfs_data);
+	enum pnfs_try_status (*read_pagelist) (struct nfs_read_data *nfs_data);
 };
 
 struct pnfs_layout_hdr {
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 10/17] SQUASHME just return ds in nfs4_fl_prepare_ds
  2011-02-11  1:52                 ` [PATCH 09/17] SQUASHME cleanup read_pagelist declaration and comment andros
@ 2011-02-11  1:52                   ` andros
  2011-02-11  1:52                     ` [PATCH 11/17] SQUASHME update pnfs_try_to_read_data comment andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs_submit: filelayout i/o helpers

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayoutdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/nfs4filelayoutdev.c b/fs/nfs/nfs4filelayoutdev.c
index 673e31e..6a7de00 100644
--- a/fs/nfs/nfs4filelayoutdev.c
+++ b/fs/nfs/nfs4filelayoutdev.c
@@ -599,5 +599,5 @@ nfs4_fl_prepare_ds(struct pnfs_layout_segment *lseg, u32 ds_idx)
 			return NULL;
 		}
 	}
-	return dsaddr->ds_list[ds_idx];
+	return ds;
 }
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 11/17] SQUASHME update pnfs_try_to_read_data comment
  2011-02-11  1:52                   ` [PATCH 10/17] SQUASHME just return ds in nfs4_fl_prepare_ds andros
@ 2011-02-11  1:52                     ` andros
  2011-02-11  1:52                       ` [PATCH 12/17] SQUASHME remove filelayout_async_handle_error comment andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs_submit-wave3-generic-read

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pnfs.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 98dd993..31e5f55 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -891,8 +891,6 @@ pnfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
 
 /*
  * Call the appropriate parallel I/O subsystem read function.
- * If no I/O device driver exists, or one does match the returned
- * fstype, then return a positive status for regular NFS processing.
  */
 enum pnfs_try_status
 pnfs_try_to_read_data(struct nfs_read_data *rdata,
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 12/17] SQUASHME remove filelayout_async_handle_error comment
  2011-02-11  1:52                     ` [PATCH 11/17] SQUASHME update pnfs_try_to_read_data comment andros
@ 2011-02-11  1:52                       ` andros
  2011-02-11  1:52                         ` [PATCH 13/17] SQUASHME update nfs4_ds_connect comment andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs-submit-wave3-filelayout-read-done

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayout.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 083f541..80e7a66 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -110,11 +110,6 @@ filelayout_set_lo_fail(struct pnfs_layout_segment *lseg)
 	}
 }
 
-/*
- * Async I/O error handler.
- *
- * NFS4ERR_OLD_STATEID can not occur with a zero stateid seqid.
- */
 static int filelayout_async_handle_error(struct rpc_task *task,
 					 struct nfs4_state *state,
 					 struct nfs_client *clp,
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 13/17] SQUASHME update nfs4_ds_connect comment
  2011-02-11  1:52                       ` [PATCH 12/17] SQUASHME remove filelayout_async_handle_error comment andros
@ 2011-02-11  1:52                         ` andros
  2011-02-11  1:52                           ` [PATCH 14/17] SQUASHME don't remove space andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs-submit wave3 data server connection

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/nfs4filelayoutdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/nfs4filelayoutdev.c b/fs/nfs/nfs4filelayoutdev.c
index 6a7de00..b8c3681 100644
--- a/fs/nfs/nfs4filelayoutdev.c
+++ b/fs/nfs/nfs4filelayoutdev.c
@@ -105,7 +105,7 @@ _data_server_lookup_locked(u32 ip_addr, u32 port)
 }
 
 /*
- * Create an rpc to the nfs4_pnfs_ds data server
+ * Create an rpc connection to the nfs4_pnfs_ds data server
  * Currently only support IPv4
  */
 static int
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 14/17] SQUASHME don't remove space
  2011-02-11  1:52                         ` [PATCH 13/17] SQUASHME update nfs4_ds_connect comment andros
@ 2011-02-11  1:52                           ` andros
  2011-02-11  1:52                             ` [PATCH 15/17] SQUASHME set non V41 pg_test to NULL andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs_submit-wave3-pageio-helpers

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pagelist.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/pagelist.c b/fs/nfs/pagelist.c
index cf09cb7..f0aa20b 100644
--- a/fs/nfs/pagelist.c
+++ b/fs/nfs/pagelist.c
@@ -162,6 +162,7 @@ void nfs_clear_request(struct nfs_page *req)
 	}
 }
 
+
 /**
  * nfs_release_request - Release the count on an NFS read/write request
  * @req: request to release
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 15/17] SQUASHME set non V41 pg_test to NULL
  2011-02-11  1:52                           ` [PATCH 14/17] SQUASHME don't remove space andros
@ 2011-02-11  1:52                             ` andros
  2011-02-11  1:52                               ` [PATCH 16/17] SQUASHME restore lost put_lseg code andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into: pnfs_submit-wave3-pageio-helpers

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pnfs.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index b47598c..d2d708a 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -283,6 +283,7 @@ static inline void unset_pnfs_layoutdriver(struct nfs_server *s)
 static inline void
 pnfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, struct inode *ino)
 {
+	pgio->pg_test = NULL;
 }
 
 #endif /* CONFIG_NFS_V4_1 */
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 16/17] SQUASHME restore lost put_lseg code
  2011-02-11  1:52                             ` [PATCH 15/17] SQUASHME set non V41 pg_test to NULL andros
@ 2011-02-11  1:52                               ` andros
  2011-02-11  1:52                                 ` [PATCH 17/17] SQUASHME put_layout_hdr can remove nfsi->layout andros
  0 siblings, 1 reply; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

Lost in merge from Fred's lseg rewrite.

squash into: pnfs-submit-wave3-lseg-refcounting

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pnfs.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index 31e5f55..dc15a76 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -278,9 +278,12 @@ put_lseg(struct pnfs_layout_segment *lseg)
 		test_bit(NFS_LSEG_VALID, &lseg->pls_flags));
 	ino = lseg->pls_layout->plh_inode;
 	if (atomic_dec_and_lock(&lseg->pls_refcount, &ino->i_lock)) {
+		LIST_HEAD(free_me);
+
 		_put_lseg_common(lseg);
+		list_add(&lseg->pls_list, &free_me);
 		spin_unlock(&ino->i_lock);
-		free_lseg(lseg);
+		pnfs_free_lseg_list(&free_me);
 	}
 }
 EXPORT_SYMBOL_GPL(put_lseg);
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 17/17] SQUASHME put_layout_hdr can remove nfsi->layout
  2011-02-11  1:52                               ` [PATCH 16/17] SQUASHME restore lost put_lseg code andros
@ 2011-02-11  1:52                                 ` andros
  0 siblings, 0 replies; 19+ messages in thread
From: andros @ 2011-02-11  1:52 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

Signed-off-by: Andy Adamson <andros@netapp.com>
---
 fs/nfs/pnfs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index dc15a76..912b1ff 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -799,7 +799,7 @@ pnfs_update_layout(struct inode *ino,
 	put_layout_hdr(lo);
 out:
 	dprintk("%s end, state 0x%lx lseg %p\n", __func__,
-		nfsi->layout->plh_flags, lseg);
+		nfsi->layout ? nfsi->layout->plh_flags : -1, lseg);
 	return lseg;
 out_unlock:
 	spin_unlock(&ino->i_lock);
-- 
1.6.6


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup
  2011-02-11  1:52 [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup andros
  2011-02-11  1:52 ` [PATCH 01/17] SQUASHME pnfs-submit wave3 fix nfs4_ds_connect bug andros
@ 2011-02-13  5:17 ` Benny Halevy
  1 sibling, 0 replies; 19+ messages in thread
From: Benny Halevy @ 2011-02-13  5:17 UTC (permalink / raw)
  To: andros; +Cc: linux-nfs

On 2011-02-11 03:52, andros@netapp.com wrote:
> These patches bring the pnfs-submit-wave3-rev3 branch equal to the wave3 patches
> at git://linux-nfs.org/projects/andros/nfs-2.6.git wave3-on-nfs-for-next-rev4
> which is being tested.
> 
> -->Andy
> 

Merged as pnfs-submit-wave3-rev4
I also merged the cleaned up patchset from your tree as pnfs-submit-wave3-rev5
and set pnfs-submit-wave3 to -rev5

Thanks!

Benny

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2011-02-13  5:17 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-11  1:52 [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup andros
2011-02-11  1:52 ` [PATCH 01/17] SQUASHME pnfs-submit wave3 fix nfs4_ds_connect bug andros
2011-02-11  1:52   ` [PATCH 02/17] SQUASHME fix filelayout_set_lo_fail logic andros
2011-02-11  1:52     ` [PATCH 03/17] SQUASHME rename orig_offset to mds_offset andros
2011-02-11  1:52       ` [PATCH 04/17] SQUASHME rename nfs_read_data call_ops ONE andros
2011-02-11  1:52         ` [PATCH 05/17] SQUASHME rename nfs_read_data call_ops TWO andros
2011-02-11  1:52           ` [PATCH 06/17] SQUASHME rename nfs_read_data call_ops THREE andros
2011-02-11  1:52             ` [PATCH 07/17] SQUASHME remove reset mds_offset from filelayout_rpc_call_done andros
2011-02-11  1:52               ` [PATCH 08/17] SQUASHME reset offset to mds_offset andros
2011-02-11  1:52                 ` [PATCH 09/17] SQUASHME cleanup read_pagelist declaration and comment andros
2011-02-11  1:52                   ` [PATCH 10/17] SQUASHME just return ds in nfs4_fl_prepare_ds andros
2011-02-11  1:52                     ` [PATCH 11/17] SQUASHME update pnfs_try_to_read_data comment andros
2011-02-11  1:52                       ` [PATCH 12/17] SQUASHME remove filelayout_async_handle_error comment andros
2011-02-11  1:52                         ` [PATCH 13/17] SQUASHME update nfs4_ds_connect comment andros
2011-02-11  1:52                           ` [PATCH 14/17] SQUASHME don't remove space andros
2011-02-11  1:52                             ` [PATCH 15/17] SQUASHME set non V41 pg_test to NULL andros
2011-02-11  1:52                               ` [PATCH 16/17] SQUASHME restore lost put_lseg code andros
2011-02-11  1:52                                 ` [PATCH 17/17] SQUASHME put_layout_hdr can remove nfsi->layout andros
2011-02-13  5:17 ` [PATCH 0/17] pnfs-submit-wave3-rev3 bug fixes and cleanup Benny Halevy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox