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