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