[pnfs] [PATCH 16/17] [SQUASHME] nfs41: obliterate nfs41_call_validate_seq_args
Benny Halevy
bhalevy at panasas.com
Tue Jun 3 13:41:10 EDT 2008
there's no need to through so many levels of indirection: callers
calling nfs41_call_validate_seq_args indirectly calling
server->nfs_client->rpc_ops->validate_sequence_args that's always
set up to nfs41_validate_seq_args (for nfs41 and pnfs).
nfs41_validate_seq_args just turns around and calls nfs41_setup_sequence.
Instead, the public nfs4_setup_sequence function should be called by
whoever called nfs41_call_validate_seq_args in the nfs module.
Signed-off-by: Benny Halevy <bhalevy at panasas.com>
---
fs/nfs/nfs4_fs.h | 3 ---
fs/nfs/nfs4proc.c | 29 -----------------------------
fs/nfs/read.c | 8 +++-----
fs/nfs/unlink.c | 7 +++----
fs/nfs/write.c | 8 +++-----
include/linux/nfs_xdr.h | 7 -------
6 files changed, 9 insertions(+), 53 deletions(-)
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index 7c36eb1..e54fe5d 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -205,9 +205,6 @@ extern int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name,
extern struct nfs4_state_recovery_ops *nfs4_reboot_recovery_ops[];
extern struct nfs4_state_recovery_ops *nfs4_network_partition_recovery_ops[];
#if defined(CONFIG_NFS_V4_1)
-extern int nfs41_call_validate_seq_args(struct nfs_server *server,
- struct nfs4_session *session, void *args, void *res, int cache_this,
- struct rpc_task *task);
extern int nfs4_setup_sequence(struct nfs_client *clp,
struct nfs4_session *session, struct nfs41_sequence_args *args,
struct nfs41_sequence_res *res, int cache_reply, struct rpc_task *task);
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 76ef329..d4cf831 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -424,17 +424,6 @@ static int nfs41_setup_sequence(struct nfs4_session *session,
return 0;
}
-static int nfs41_validate_seq_args(struct nfs4_session *session,
- void *args,
- void *res,
- int cache_this,
- struct rpc_task *task)
-{
- return nfs41_setup_sequence(session,
- args, res,
- cache_this, task);
-}
-
int nfs4_setup_sequence(struct nfs_client *clp,
struct nfs4_session *session,
struct nfs41_sequence_args *args,
@@ -470,23 +459,6 @@ int nfs4_setup_sequence(struct nfs_client *clp,
return ret;
}
-int nfs41_call_validate_seq_args(struct nfs_server *server,
- struct nfs4_session *session,
- void *args,
- void *res,
- int cache_this,
- struct rpc_task *task)
-{
- int (*setup_sequence)(struct nfs4_session *,
- void *, void *, int, struct rpc_task *);
-
- setup_sequence = server->nfs_client->rpc_ops->validate_sequence_args;
- if (!setup_sequence)
- return 0;
-
- return setup_sequence(session, args, res, cache_this, task);
-}
-
struct nfs41_call_sync_data {
struct nfs_server *server;
struct rpc_message *msg;
@@ -5085,7 +5057,6 @@ const struct nfs_rpc_ops nfs_v41_clientops = {
.file_release = nfs_release,
.lock = nfs4_proc_lock,
.clear_acl_cache = nfs4_zap_acl_attr,
- .validate_sequence_args = nfs41_validate_seq_args,
.increment_open_seqid = nfs41_increment_open_seqid,
.increment_lock_seqid = nfs41_increment_lock_seqid,
.nfs4_clientid = nfs41_clientid,
diff --git a/fs/nfs/read.c b/fs/nfs/read.c
index 7dfc145..8d5a1ed 100644
--- a/fs/nfs/read.c
+++ b/fs/nfs/read.c
@@ -399,12 +399,10 @@ int nfs_read_validate(struct rpc_task *task, void *calldata)
{
struct nfs_read_data *data = calldata;
struct nfs_server *server = data->args.server;
- struct nfs4_session *session = server->session;
- return nfs41_call_validate_seq_args(server, session,
- &data->args.seq_args,
- &data->res.seq_res,
- 0, task);
+ return nfs4_setup_sequence(server->nfs_client, server->session,
+ &data->args.seq_args, &data->res.seq_res,
+ 0, task);
}
#endif /* CONFIG_NFS_V4_1 */
diff --git a/fs/nfs/unlink.c b/fs/nfs/unlink.c
index df54cb0..8f9134c 100644
--- a/fs/nfs/unlink.c
+++ b/fs/nfs/unlink.c
@@ -108,10 +108,9 @@ int nfs_unlink_validate(struct rpc_task *task, void *calldata)
struct nfs_unlinkdata *data = calldata;
struct nfs_server *server = NFS_SERVER(data->dir);
- return nfs41_call_validate_seq_args(server, server->session,
- &data->args.seq_args,
- &data->res.seq_res,
- 1, task);
+ return nfs4_setup_sequence(server->nfs_client, server->session,
+ &data->args.seq_args, &data->res.seq_res,
+ 1, task);
}
#endif /* CONFIG_NFS_V4_1 */
static const struct rpc_call_ops nfs_unlink_ops = {
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 739870f..d5de529 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1019,12 +1019,10 @@ int nfs_write_validate(struct rpc_task *task, void *calldata)
{
struct nfs_write_data *data = calldata;
struct nfs_server *server = NFS_SERVER(data->inode);
- struct nfs4_session *session = server->session;
- return nfs41_call_validate_seq_args(server, session,
- &data->args.seq_args,
- &data->res.seq_res,
- 1, task);
+ return nfs4_setup_sequence(server->nfs_client, server->session,
+ &data->args.seq_args, &data->res.seq_res,
+ 1, task);
}
#endif /* CONFIG_NFS_V4_1 */
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 0c461aa..4c6c4fc 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1118,13 +1118,6 @@ struct nfs_rpc_ops {
int (*file_release) (struct inode *, struct file *);
int (*lock)(struct file *, int, struct file_lock *);
void (*clear_acl_cache)(struct inode *);
-#if defined(CONFIG_NFS_V4_1)
- int (*validate_sequence_args)(struct nfs4_session *,
- void *args,
- void *res,
- int,
- struct rpc_task *);
-#endif /* CONFIG_NFS_V4_1 */
void (*increment_open_seqid)(int status, struct nfs_seqid *seqid);
void (*increment_lock_seqid)(int status, struct nfs_seqid *seqid);
u64 (*nfs4_clientid)(struct nfs_client *);
--
1.5.3.3
More information about the pNFS
mailing list