All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.