From: andros@netapp.com
To: bhalevy@panasas.com
Cc: linux-nfs@vger.kernel.org, Andy Adamson <andros@netapp.com>
Subject: [PATCH 05/13] SQUASHME pnfs_submit: remove ds_wsize, ds_rsize, ds_wpages and ds_rpages
Date: Thu, 29 Apr 2010 16:34:43 -0400 [thread overview]
Message-ID: <1272573291-8986-6-git-send-email-andros@netapp.com> (raw)
In-Reply-To: <1272573291-8986-5-git-send-email-andros@netapp.com>
From: Andy Adamson <andros@netapp.com>
No layoutdriver uses ds_wpages or ds_rpages. The file layout driver does not
use ds_rsize nor ds_wsize - instead, rsize and wsize are used.
Signed-off-by: Andy Adamson <andros@netapp.com>
---
fs/nfs/nfs4filelayout.c | 11 ++++++-----
fs/nfs/pnfs.c | 24 +++++-------------------
fs/nfs/pnfs.h | 6 +++---
fs/nfs/read.c | 2 +-
fs/nfs/super.c | 1 -
fs/nfs/write.c | 2 +-
include/linux/nfs_fs_sb.h | 7 -------
7 files changed, 16 insertions(+), 37 deletions(-)
diff --git a/fs/nfs/nfs4filelayout.c b/fs/nfs/nfs4filelayout.c
index 4a3f58a..9e81195 100644
--- a/fs/nfs/nfs4filelayout.c
+++ b/fs/nfs/nfs4filelayout.c
@@ -407,9 +407,10 @@ filelayout_check_layout(struct pnfs_layout_type *lo,
goto out;
}
- if (fl->stripe_unit % nfss->ds_rsize || fl->stripe_unit % nfss->ds_wsize) {
- dprintk("%s Stripe unit (%u) not aligned with rsize %u wsize %u\n",
- __func__, fl->stripe_unit, nfss->ds_rsize, nfss->ds_wsize);
+ if (fl->stripe_unit % nfss->rsize || fl->stripe_unit % nfss->wsize) {
+ dprintk("%s Stripe unit (%u) not aligned with rsize %u "
+ "wsize %u\n", __func__, fl->stripe_unit, nfss->rsize,
+ nfss->wsize);
}
/* reference the device */
@@ -740,9 +741,9 @@ filelayout_pg_test(struct nfs_pageio_descriptor *pgio, struct nfs_page *prev,
if (!pgio->pg_iswrite)
goto boundary;
- if (pgio->pg_bsize != NFS_SERVER(pgio->pg_inode)->ds_wsize &&
+ if (pgio->pg_bsize != NFS_SERVER(pgio->pg_inode)->wsize &&
pgio->pg_count > pgio->pg_threshold)
- pgio->pg_bsize = NFS_SERVER(pgio->pg_inode)->ds_wsize;
+ pgio->pg_bsize = NFS_SERVER(pgio->pg_inode)->wsize;
boundary:
if (pgio->pg_boundary == 0)
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
index de3f15a..c80ccd2 100644
--- a/fs/nfs/pnfs.c
+++ b/fs/nfs/pnfs.c
@@ -1430,8 +1430,7 @@ void
pnfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
struct inode *inode,
struct nfs_open_context *ctx,
- struct list_head *pages,
- size_t *rsize)
+ struct list_head *pages)
{
struct nfs_server *nfss = NFS_SERVER(inode);
size_t count = 0;
@@ -1452,12 +1451,10 @@ pnfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
if (count > 0 && !below_threshold(inode, count, 0)) {
status = pnfs_update_layout(inode, ctx, count,
loff, IOMODE_READ, NULL);
- dprintk("%s *rsize %Zd virt update returned %d\n",
- __func__, *rsize, status);
+ dprintk("%s virt update returned %d\n", __func__, status);
if (status != 0)
return;
- *rsize = NFS_SERVER(inode)->ds_rsize;
pgio->pg_boundary = pnfs_getboundary(inode);
if (pgio->pg_boundary)
pnfs_set_pg_test(inode, pgio);
@@ -1465,8 +1462,7 @@ pnfs_pageio_init_read(struct nfs_pageio_descriptor *pgio,
}
void
-pnfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, struct inode *inode,
- size_t *wsize)
+pnfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, struct inode *inode)
{
struct nfs_server *server = NFS_SERVER(inode);
@@ -1480,7 +1476,6 @@ pnfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, struct inode *inode,
pgio->pg_threshold = pnfs_getthreshold(inode, 1);
pgio->pg_boundary = pnfs_getboundary(inode);
pnfs_set_pg_test(inode, pgio);
- *wsize = server->ds_wsize;
}
/* Retrieve I/O parameters for O_DIRECT.
@@ -1503,9 +1498,9 @@ _pnfs_direct_init_io(struct inode *inode, struct nfs_open_context *ctx,
return;
if (iswrite)
- rwsize = nfss->ds_wsize;
+ rwsize = nfss->wsize;
else
- rwsize = nfss->ds_rsize;
+ rwsize = nfss->rsize;
boundary = pnfs_getboundary(inode);
@@ -1609,15 +1604,6 @@ pnfs_use_write(struct inode *inode, ssize_t count)
return 1; /* use pNFS I/O */
}
-void
-pnfs_set_ds_iosize(struct nfs_server *server)
-{
- server->ds_wsize = server->wsize;
- server->ds_rsize = server->rsize;
- server->ds_rpages = server->rpages;
- server->ds_wpages = server->wpages;
-}
-
static int
pnfs_call_done(struct pnfs_call_data *pdata, struct rpc_task *task, void *data)
{
diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
index 868c1ac..5745ee1 100644
--- a/fs/nfs/pnfs.h
+++ b/fs/nfs/pnfs.h
@@ -55,11 +55,11 @@ int pnfs_layoutcommit_inode(struct inode *inode, int sync);
void pnfs_update_last_write(struct nfs_inode *nfsi, loff_t offset, size_t extent);
void pnfs_need_layoutcommit(struct nfs_inode *nfsi, struct nfs_open_context *ctx);
unsigned int pnfs_getiosize(struct nfs_server *server);
-void pnfs_set_ds_iosize(struct nfs_server *server);
enum pnfs_try_status _pnfs_try_to_commit(struct nfs_write_data *,
const struct rpc_call_ops *, int);
-void pnfs_pageio_init_read(struct nfs_pageio_descriptor *, struct inode *, struct nfs_open_context *, struct list_head *, size_t *);
-void pnfs_pageio_init_write(struct nfs_pageio_descriptor *, struct inode *, size_t *wsize);
+void pnfs_pageio_init_read(struct nfs_pageio_descriptor *, struct inode *,
+ struct nfs_open_context *, struct list_head *);
+void pnfs_pageio_init_write(struct nfs_pageio_descriptor *, struct inode *);
void pnfs_update_layout_commit(struct inode *, struct list_head *, pgoff_t, unsigned int);
void pnfs_free_fsdata(struct pnfs_fsdata *fsdata);
ssize_t pnfs_file_write(struct file *, const char __user *, size_t, loff_t *);
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index fd8bac7..1d30336 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -663,7 +663,7 @@ int nfs_readpages(struct file *filp, struct address_space *mapping,
goto read_complete; /* all pages were read */
#ifdef CONFIG_NFS_V4_1
- pnfs_pageio_init_read(&pgio, inode, desc.ctx, pages, &rsize);
+ pnfs_pageio_init_read(&pgio, inode, desc.ctx, pages);
#endif /* CONFIG_NFS_V4_1 */
if (rsize < PAGE_CACHE_SIZE)
nfs_pageio_init(&pgio, inode, nfs_pagein_multi, rsize, 0);
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index 7cffaa9..6155d69 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -2591,7 +2591,6 @@ static void nfs4_init_pnfs(struct super_block *sb, struct nfs_fh *fh)
if (nfs4_has_session(clp) &&
(clp->cl_exchange_flags & EXCHGID4_FLAG_USE_PNFS_MDS)) {
set_pnfs_layoutdriver(sb, fh, server->pnfs_fs_ltype);
- pnfs_set_ds_iosize(server);
}
#endif /* CONFIG_NFS_V4_1 */
}
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 38e542a..0faf909 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1009,7 +1009,7 @@ static void nfs_pageio_init_write(struct nfs_pageio_descriptor *pgio,
size_t wsize = NFS_SERVER(inode)->wsize;
#ifdef CONFIG_NFS_V4_1
- pnfs_pageio_init_write(pgio, inode, &wsize);
+ pnfs_pageio_init_write(pgio, inode);
#endif /* CONFIG_NFS_V4_1 */
if (wsize < PAGE_CACHE_SIZE)
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 697df5f..38ba292 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -167,13 +167,6 @@ struct nfs_server {
struct pnfs_layoutdriver_type *pnfs_curr_ld; /* Active layout driver */
struct pnfs_mount_type *pnfs_mountid; /* Mount identifier for
layout driver */
- /* Data server values will equal NFS server values if
- * no pNFS layout driver exists for the mountpoint
- */
- unsigned int ds_rsize; /* Data server read size */
- unsigned int ds_rpages; /* Data server read size (in pages) */
- unsigned int ds_wsize; /* Data server write size */
- unsigned int ds_wpages; /* Data server write size (in pages) */
#endif /* CONFIG_NFS_V4_1 */
void (*destroy)(struct nfs_server *);
--
1.6.6
next prev parent reply other threads:[~2010-04-30 16:48 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-29 20:34 [PATCH 0/13] Remove non-file layout code from submit tree version 2 andros
2010-04-29 20:34 ` [PATCH 01/13] SQUASHME pnfs_submit: remove GETDEVICELIST andros
2010-04-29 20:34 ` [PATCH 02/13] SQUASHME pnfs_submit: remove CB_NOTIFY_DEVICEID andros
2010-04-29 20:34 ` [PATCH 03/13] SQUASHME pnfs_submit: remove pnfs_mount_type from alloc_layout andros
2010-04-29 20:34 ` [PATCH 04/13] SQUASHME pnfs_submit: remove get_blocksize policy operation andros
2010-04-29 20:34 ` andros [this message]
2010-04-29 20:34 ` [PATCH 06/13] SQUASHME pnfs_submit: update uninitialize_mountpoint andros
2010-04-29 20:34 ` [PATCH 07/13] SQUASHME pnfs_submit: remove struct pnfs_mount_type andros
2010-04-29 20:34 ` [PATCH 08/13] SQUASHME pnfs_submit: change initialize_mountpoint parameters andros
2010-04-29 20:34 ` [PATCH 09/13] SQUASHME pnfs_submit: change nfs_fsino layoutclass name andros
2010-04-29 20:34 ` [PATCH 10/13] SQUASHME pnfs_submit: remove pnfs_fs_ltype andros
2010-04-29 20:34 ` [PATCH 11/13] SQUASHME pnfs_submit: remove layout_name andros
2010-04-29 20:34 ` [PATCH 12/13] SQUASHME pnfs_submit: fall back to MDS on filelayout_commit error andros
2010-04-29 20:34 ` [PATCH 13/13] SQUASHME pnfs_submit: cleanup nfs4_pnfs_ds_add andros
2010-05-06 19:48 ` [PATCH 0/13] Remove non-file layout code from submit tree version 2 Benny Halevy
-- strict thread matches above, loose matches on Subject: below --
2010-04-28 22:24 [PATCH 0/13] Remove non-file layout code from submit tree andros
2010-04-28 22:24 ` [PATCH 01/13] SQUASHME pnfs_submit: remove GETDEVICELIST andros
2010-04-28 22:24 ` [PATCH 02/13] SQUASHME pnfs_submit: remove CB_NOTIFY_DEVICEID andros
2010-04-28 22:24 ` [PATCH 03/13] SQUASHME pnfs_submit: remove pnfs_mount_type from alloc_layout andros
2010-04-28 22:24 ` [PATCH 04/13] SQUASHME pnfs_submit: remove get_blocksize policy operation andros
2010-04-28 22:24 ` [PATCH 05/13] SQUASHME pnfs_submit: remove ds_wsize, ds_rsize, ds_wpages and ds_rpages andros
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1272573291-8986-6-git-send-email-andros@netapp.com \
--to=andros@netapp.com \
--cc=bhalevy@panasas.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).