linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH pnfs-submit-wave3 update 0/5] Update tree to match submission
@ 2011-03-01 19:25 andros
  2011-03-01 19:25 ` [PATCH pnfs-submit-wave3 update 1/5] wave3: SQUASHME: remove comment to pnfs_pageio_init_read andros
  0 siblings, 1 reply; 6+ messages in thread
From: andros @ 2011-03-01 19:25 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs


Sync the pNFS Team git://linux-nfs.org/~bhalevy/linux-pnfs.git pnfs-submit-wave3 branch with submitted wave 3 patches.

-->Andy

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

* [PATCH pnfs-submit-wave3 update 1/5] wave3: SQUASHME: remove comment to pnfs_pageio_init_read
  2011-03-01 19:25 [PATCH pnfs-submit-wave3 update 0/5] Update tree to match submission andros
@ 2011-03-01 19:25 ` andros
  2011-03-01 19:25   ` [PATCH pnfs-submit-wave3 update 2/5] wave3: clean up nfs4_reset_read to match write andros
  0 siblings, 1 reply; 6+ messages in thread
From: andros @ 2011-03-01 19:25 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Fred Isaman

From: Fred Isaman <iisaman@netapp.com>

Benny points out this comment is confusing and out of place
for the write code, remove it from read code too.

Signed-off-by: Fred Isaman <iisaman@netapp.com>
---
 fs/nfs/pnfs.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index e17cebd..3e54514 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -864,9 +864,6 @@ static int pnfs_read_pg_test(struct nfs_pageio_descriptor *pgio,
 	return NFS_SERVER(pgio->pg_inode)->pnfs_curr_ld->pg_test(pgio, prev, req);
 }
 
-/*
- * rsize is already set by caller to MDS rsize.
- */
 void
 pnfs_pageio_init_read(struct nfs_pageio_descriptor *pgio, struct inode *inode)
 {
-- 
1.6.2.5


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

* [PATCH pnfs-submit-wave3 update 2/5] wave3: clean up nfs4_reset_read to match write
  2011-03-01 19:25 ` [PATCH pnfs-submit-wave3 update 1/5] wave3: SQUASHME: remove comment to pnfs_pageio_init_read andros
@ 2011-03-01 19:25   ` andros
  2011-03-01 19:25     ` [PATCH pnfs-submit-wave3 update 3/5] wave3: document that we are relying on nfs_initiate_read not failing andros
  0 siblings, 1 reply; 6+ messages in thread
From: andros @ 2011-03-01 19:25 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Fred Isaman

From: Fred Isaman <iisaman@netapp.com>

found a bug in write version of this code, make read code
match fix to write

Signed-off-by: Fred Isaman <iisaman@netapp.com>
---
 fs/nfs/nfs4filelayout.c |    2 +-
 fs/nfs/nfs4proc.c       |    2 ++
 2 files changed, 3 insertions(+), 1 deletions(-)

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;
-- 
1.6.2.5


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

* [PATCH pnfs-submit-wave3 update 3/5] wave3: document that we are relying on nfs_initiate_read not failing
  2011-03-01 19:25   ` [PATCH pnfs-submit-wave3 update 2/5] wave3: clean up nfs4_reset_read to match write andros
@ 2011-03-01 19:25     ` andros
  2011-03-01 19:25       ` [PATCH pnfs-submit-wave3 update 4/5] wave3: clean up lseg after pg_doio function andros
  0 siblings, 1 reply; 6+ messages in thread
From: andros @ 2011-03-01 19:25 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Fred Isaman

From: Fred Isaman <iisaman@netapp.com>

With the curent code, rpc_run_task(), and thus nfs_initiate_read(),
can not fail if the task is pre-initialized.  Trond asked that
we document this in case of future code changes with a BUG_ON.

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

diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 45b650a..e76c582 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -203,6 +203,7 @@ filelayout_read_pagelist(struct nfs_read_data *data)
 	loff_t offset = data->args.offset;
 	u32 j, idx;
 	struct nfs_fh *fh;
+	int status;
 
 	dprintk("--> %s ino %lu pgbase %u req %Zu@%llu\n",
 		__func__, data->inode->i_ino,
@@ -231,8 +232,9 @@ filelayout_read_pagelist(struct nfs_read_data *data)
 	data->mds_offset = offset;
 
 	/* Perform an asynchronous read to ds */
-	nfs_initiate_read(data, ds->ds_clp->cl_rpcclient,
-			  &filelayout_read_call_ops);
+	status = nfs_initiate_read(data, ds->ds_clp->cl_rpcclient,
+				   &filelayout_read_call_ops);
+	BUG_ON(status != 0);
 	return PNFS_ATTEMPTED;
 }
 
-- 
1.6.2.5


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

* [PATCH pnfs-submit-wave3 update 4/5] wave3: clean up lseg after pg_doio function
  2011-03-01 19:25     ` [PATCH pnfs-submit-wave3 update 3/5] wave3: document that we are relying on nfs_initiate_read not failing andros
@ 2011-03-01 19:25       ` andros
  2011-03-01 19:25         ` [PATCH pnfs-submit-wave3 update 5/5] SQUASHME: NFSv4.1: DS only check andros
  0 siblings, 1 reply; 6+ messages in thread
From: andros @ 2011-03-01 19:25 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Fred Isaman

From: Fred Isaman <iisaman@netapp.com>

nfs_pageio_doio can be repeatedly triggered, in which case
it is possible for an lseg which has already been put to be
used and put again without matching gets.

Signed-off-by: Fred Isaman <iisaman@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 b49cb4b..45b0fb8 100644
--- a/fs/nfs/pagelist.c
+++ b/fs/nfs/pagelist.c
@@ -318,6 +318,7 @@ static void nfs_pageio_doio(struct nfs_pageio_descriptor *desc)
 					  desc->pg_count,
 					  desc->pg_ioflags,
 					  desc->pg_lseg);
+		desc->pg_lseg = NULL;
 		if (error < 0)
 			desc->pg_error = error;
 		else
-- 
1.6.2.5


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

* [PATCH pnfs-submit-wave3 update 5/5] SQUASHME: NFSv4.1: DS only check
  2011-03-01 19:25       ` [PATCH pnfs-submit-wave3 update 4/5] wave3: clean up lseg after pg_doio function andros
@ 2011-03-01 19:25         ` andros
  0 siblings, 0 replies; 6+ messages in thread
From: andros @ 2011-03-01 19:25 UTC (permalink / raw)
  To: bhalevy; +Cc: linux-nfs, Andy Adamson

From: Andy Adamson <andros@netapp.com>

squash into fdd1e4e137c75a69a274acc680706906c72344e1
NFSv4.1: add MDS mount DS only check

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

diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 738f624..6dd50ac 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1400,12 +1400,6 @@ static int nfs4_set_client(struct nfs_server *server,
 		goto error;
 	}
 
-	/* Cannot mount a DS only server */
-	if (is_ds_only_client(clp)) {
-		error = -ENODEV;
-		goto error;
-	}
-
 	/*
 	 * Query for the lease time on clientid setup or renewal
 	 *
@@ -1500,6 +1494,10 @@ static int nfs4_server_common_setup(struct nfs_server *server,
 	BUG_ON(!server->nfs_client->rpc_ops);
 	BUG_ON(!server->nfs_client->rpc_ops->file_inode_ops);
 
+	/* data servers support only a subset of NFSv4.1 */
+	if (is_ds_only_client(server->nfs_client))
+		return -EPROTONOSUPPORT;
+
 	fattr = nfs_alloc_fattr();
 	if (fattr == NULL)
 		return -ENOMEM;
-- 
1.6.2.5


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

end of thread, other threads:[~2011-03-01 19:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-01 19:25 [PATCH pnfs-submit-wave3 update 0/5] Update tree to match submission andros
2011-03-01 19:25 ` [PATCH pnfs-submit-wave3 update 1/5] wave3: SQUASHME: remove comment to pnfs_pageio_init_read andros
2011-03-01 19:25   ` [PATCH pnfs-submit-wave3 update 2/5] wave3: clean up nfs4_reset_read to match write andros
2011-03-01 19:25     ` [PATCH pnfs-submit-wave3 update 3/5] wave3: document that we are relying on nfs_initiate_read not failing andros
2011-03-01 19:25       ` [PATCH pnfs-submit-wave3 update 4/5] wave3: clean up lseg after pg_doio function andros
2011-03-01 19:25         ` [PATCH pnfs-submit-wave3 update 5/5] SQUASHME: NFSv4.1: DS only check andros

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).