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