* [PATCH 2.6.11-rc4+NFS_ALL 1/1]: tidy up nfs3proc.c
@ 2005-02-17 19:37 Frank van Maarseveen
0 siblings, 0 replies; only message in thread
From: Frank van Maarseveen @ 2005-02-17 19:37 UTC (permalink / raw)
To: Trond Myklebust; +Cc: Linux NFS mailing list
[-- Attachment #1: Type: text/plain, Size: 193 bytes --]
Remove function style macros hiding real functions. Reduce the number
of functions which instantiate a struct rpc_message.
Signed-off-by: Frank van Maarseveen <frankvm@frankvm.com>
--
Frank
[-- Attachment #2: nfs3proc-cleanup.patch --]
[-- Type: text/plain, Size: 11270 bytes --]
--- ./fs/nfs/nfs3proc.c.orig 2005-02-17 19:57:55.000000000 +0100
+++ ./fs/nfs/nfs3proc.c 2005-02-17 20:01:08.000000000 +0100
@@ -24,13 +24,21 @@
/* A wrapper to handle the EJUKEBOX error message */
static int
-nfs3_rpc_wrapper(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
+nfs3_rpc_call(struct rpc_clnt *clnt, u32 proc, void *argp, void *resp,
+ struct rpc_cred *cred, int flags)
{
- sigset_t oldset;
- int res;
+ struct rpc_message msg = {
+ .rpc_proc = &nfs3_procedures[proc],
+ .rpc_argp = argp,
+ .rpc_resp = resp,
+ .rpc_cred = cred,
+ };
+ sigset_t oldset;
+ int res;
+
rpc_clnt_sigmask(clnt, &oldset);
do {
- res = rpc_call_sync(clnt, msg, flags);
+ res = rpc_call_sync(clnt, &msg, flags);
if (res != -EJUKEBOX)
break;
set_current_state(TASK_INTERRUPTIBLE);
@@ -41,22 +49,12 @@
return res;
}
-static inline int
-nfs3_rpc_call_wrapper(struct rpc_clnt *clnt, u32 proc, void *argp, void *resp, int flags)
+static __inline__ int
+nfs3_rpc(struct rpc_clnt *clnt, u32 proc, void *argp, void *resp)
{
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[proc],
- .rpc_argp = argp,
- .rpc_resp = resp,
- };
- return nfs3_rpc_wrapper(clnt, &msg, flags);
+ return nfs3_rpc_call(clnt, proc, argp, resp, NULL, 0);
}
-#define rpc_call(clnt, proc, argp, resp, flags) \
- nfs3_rpc_call_wrapper(clnt, proc, argp, resp, flags)
-#define rpc_call_sync(clnt, msg, flags) \
- nfs3_rpc_wrapper(clnt, msg, flags)
-
static int
nfs3_async_handle_jukebox(struct rpc_task *task)
{
@@ -79,10 +77,10 @@
dprintk("%s: call fsinfo\n", __FUNCTION__);
info->fattr->valid = 0;
- status = rpc_call(server->client_sys, NFS3PROC_FSINFO, fhandle, info, 0);
+ status = nfs3_rpc(server->client_sys, NFS3PROC_FSINFO, fhandle, info);
dprintk("%s: reply fsinfo: %d\n", __FUNCTION__, status);
if (!(info->fattr->valid & NFS_ATTR_FATTR)) {
- status = rpc_call(server->client_sys, NFS3PROC_GETATTR, fhandle, info->fattr, 0);
+ status = nfs3_rpc(server->client_sys, NFS3PROC_GETATTR, fhandle, info->fattr);
dprintk("%s: reply getattr: %d\n", __FUNCTION__, status);
}
return status;
@@ -99,8 +97,7 @@
dprintk("NFS call getattr\n");
fattr->valid = 0;
- status = rpc_call(server->client, NFS3PROC_GETATTR,
- fhandle, fattr, 0);
+ status = nfs3_rpc(server->client, NFS3PROC_GETATTR, fhandle, fattr);
dprintk("NFS reply getattr: %d\n", status);
return status;
}
@@ -118,7 +115,7 @@
dprintk("NFS call setattr\n");
fattr->valid = 0;
- status = rpc_call(NFS_CLIENT(inode), NFS3PROC_SETATTR, &arg, fattr, 0);
+ status = nfs3_rpc(NFS_CLIENT(inode), NFS3PROC_SETATTR, &arg, fattr);
dprintk("NFS reply setattr: %d\n", status);
return status;
}
@@ -143,10 +140,10 @@
dprintk("NFS call lookup %s\n", name->name);
dir_attr.valid = 0;
fattr->valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_LOOKUP, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_LOOKUP, &arg, &res);
if (status >= 0 && !(fattr->valid & NFS_ATTR_FATTR))
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_GETATTR,
- fhandle, fattr, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_GETATTR,
+ fhandle, fattr);
dprintk("NFS reply lookup: %d\n", status);
if (status >= 0)
status = nfs_refresh_inode(dir, &dir_attr);
@@ -162,12 +159,6 @@
struct nfs3_accessres res = {
.fattr = &fattr,
};
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[NFS3PROC_ACCESS],
- .rpc_argp = &arg,
- .rpc_resp = &res,
- .rpc_cred = entry->cred
- };
int mode = entry->mask;
int status;
@@ -187,7 +178,8 @@
if (mode & MAY_EXEC)
arg.access |= NFS3_ACCESS_EXECUTE;
}
- status = rpc_call_sync(NFS_CLIENT(inode), &msg, 0);
+ status = nfs3_rpc_call(NFS_CLIENT(inode), NFS3PROC_ACCESS,
+ &arg, &res, entry->cred, 0);
nfs_refresh_inode(inode, &fattr);
if (status == 0) {
entry->mask = 0;
@@ -216,8 +208,7 @@
dprintk("NFS call readlink\n");
fattr.valid = 0;
- status = rpc_call(NFS_CLIENT(inode), NFS3PROC_READLINK,
- &args, &fattr, 0);
+ status = nfs3_rpc(NFS_CLIENT(inode), NFS3PROC_READLINK, &args, &fattr);
nfs_refresh_inode(inode, &fattr);
dprintk("NFS reply readlink: %d\n", status);
return status;
@@ -228,18 +219,13 @@
int flags = rdata->flags;
struct inode * inode = rdata->inode;
struct nfs_fattr * fattr = rdata->res.fattr;
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[NFS3PROC_READ],
- .rpc_argp = &rdata->args,
- .rpc_resp = &rdata->res,
- .rpc_cred = rdata->cred,
- };
int status;
dprintk("NFS call read %d @ %Ld\n", rdata->args.count,
(long long) rdata->args.offset);
fattr->valid = 0;
- status = rpc_call_sync(NFS_CLIENT(inode), &msg, flags);
+ status = nfs3_rpc_call(NFS_CLIENT(inode), NFS3PROC_READ,
+ &rdata->args, &rdata->res, rdata->cred, flags);
if (status >= 0)
nfs_refresh_inode(inode, fattr);
dprintk("NFS reply read: %d\n", status);
@@ -251,18 +237,13 @@
int rpcflags = wdata->flags;
struct inode * inode = wdata->inode;
struct nfs_fattr * fattr = wdata->res.fattr;
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[NFS3PROC_WRITE],
- .rpc_argp = &wdata->args,
- .rpc_resp = &wdata->res,
- .rpc_cred = wdata->cred,
- };
int status;
dprintk("NFS call write %d @ %Ld\n", wdata->args.count,
(long long) wdata->args.offset);
fattr->valid = 0;
- status = rpc_call_sync(NFS_CLIENT(inode), &msg, rpcflags);
+ status = nfs3_rpc_call(NFS_CLIENT(inode), NFS3PROC_WRITE,
+ &wdata->args, &wdata->res, wdata->cred, rpcflags);
if (status >= 0)
nfs_refresh_inode(inode, fattr);
dprintk("NFS reply write: %d\n", status);
@@ -273,18 +254,13 @@
{
struct inode * inode = cdata->inode;
struct nfs_fattr * fattr = cdata->res.fattr;
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[NFS3PROC_COMMIT],
- .rpc_argp = &cdata->args,
- .rpc_resp = &cdata->res,
- .rpc_cred = cdata->cred,
- };
int status;
dprintk("NFS call commit %d @ %Ld\n", cdata->args.count,
(long long) cdata->args.offset);
fattr->valid = 0;
- status = rpc_call_sync(NFS_CLIENT(inode), &msg, 0);
+ status = nfs3_rpc_call(NFS_CLIENT(inode), NFS3PROC_COMMIT,
+ &cdata->args, &cdata->res, cdata->cred, 0);
if (status >= 0)
nfs_refresh_inode(inode, fattr);
dprintk("NFS reply commit: %d\n", status);
@@ -326,7 +302,7 @@
again:
dir_attr.valid = 0;
fattr.valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_CREATE, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_CREATE, &arg, &res);
nfs_refresh_inode(dir, &dir_attr);
/* If the server doesn't support the exclusive creation semantics,
@@ -376,8 +352,8 @@
* not sure this buys us anything (and I'd have
* to revamp the NFSv3 XDR code) */
fattr.valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_SETATTR,
- &arg, &fattr, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_SETATTR,
+ &arg, &fattr);
dprintk("NFS reply setattr (post-create): %d\n", status);
}
if (status == 0) {
@@ -400,16 +376,11 @@
.name = name->name,
.len = name->len
};
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[NFS3PROC_REMOVE],
- .rpc_argp = &arg,
- .rpc_resp = &dir_attr,
- };
int status;
dprintk("NFS call remove %s\n", name->name);
dir_attr.valid = 0;
- status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_REMOVE, &arg, &dir_attr);
nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply remove: %d\n", status);
return status;
@@ -474,7 +445,7 @@
dprintk("NFS call rename %s -> %s\n", old_name->name, new_name->name);
old_dir_attr.valid = 0;
new_dir_attr.valid = 0;
- status = rpc_call(NFS_CLIENT(old_dir), NFS3PROC_RENAME, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(old_dir), NFS3PROC_RENAME, &arg, &res);
nfs_refresh_inode(old_dir, &old_dir_attr);
nfs_refresh_inode(new_dir, &new_dir_attr);
dprintk("NFS reply rename: %d\n", status);
@@ -500,7 +471,7 @@
dprintk("NFS call link %s\n", name->name);
dir_attr.valid = 0;
fattr.valid = 0;
- status = rpc_call(NFS_CLIENT(inode), NFS3PROC_LINK, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(inode), NFS3PROC_LINK, &arg, &res);
nfs_refresh_inode(dir, &dir_attr);
nfs_refresh_inode(inode, &fattr);
dprintk("NFS reply link: %d\n", status);
@@ -533,7 +504,7 @@
dprintk("NFS call symlink %s -> %s\n", name->name, path->name);
dir_attr.valid = 0;
fattr->valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_SYMLINK, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_SYMLINK, &arg, &res);
nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply symlink: %d\n", status);
return status;
@@ -560,7 +531,7 @@
dprintk("NFS call mkdir %s\n", name->name);
dir_attr.valid = 0;
fattr->valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_MKDIR, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_MKDIR, &arg, &res);
nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply mkdir: %d\n", status);
return status;
@@ -579,7 +550,7 @@
dprintk("NFS call rmdir %s\n", name->name);
dir_attr.valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_RMDIR, &arg, &dir_attr, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_RMDIR, &arg, &dir_attr);
nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply rmdir: %d\n", status);
return status;
@@ -614,24 +585,19 @@
.verf = verf,
.plus = plus
};
- struct rpc_message msg = {
- .rpc_proc = &nfs3_procedures[NFS3PROC_READDIR],
- .rpc_argp = &arg,
- .rpc_resp = &res,
- .rpc_cred = cred
- };
int status;
+ u32 proc = NFS3PROC_READDIR;
lock_kernel();
if (plus)
- msg.rpc_proc = &nfs3_procedures[NFS3PROC_READDIRPLUS];
+ proc = NFS3PROC_READDIRPLUS;
dprintk("NFS call readdir%s %d\n",
plus? "plus" : "", (unsigned int) cookie);
dir_attr.valid = 0;
- status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0);
+ status = nfs3_rpc_call(NFS_CLIENT(dir), proc, &arg, &res, cred, 0);
nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply readdir: %d\n", status);
unlock_kernel();
@@ -669,7 +635,7 @@
MAJOR(rdev), MINOR(rdev));
dir_attr.valid = 0;
fattr->valid = 0;
- status = rpc_call(NFS_CLIENT(dir), NFS3PROC_MKNOD, &arg, &res, 0);
+ status = nfs3_rpc(NFS_CLIENT(dir), NFS3PROC_MKNOD, &arg, &res);
nfs_refresh_inode(dir, &dir_attr);
dprintk("NFS reply mknod: %d\n", status);
return status;
@@ -683,7 +649,7 @@
dprintk("NFS call fsstat\n");
stat->fattr->valid = 0;
- status = rpc_call(server->client, NFS3PROC_FSSTAT, fhandle, stat, 0);
+ status = nfs3_rpc(server->client, NFS3PROC_FSSTAT, fhandle, stat);
dprintk("NFS reply statfs: %d\n", status);
return status;
}
@@ -696,7 +662,7 @@
dprintk("NFS call fsinfo\n");
info->fattr->valid = 0;
- status = rpc_call(server->client_sys, NFS3PROC_FSINFO, fhandle, info, 0);
+ status = nfs3_rpc(server->client_sys, NFS3PROC_FSINFO, fhandle, info);
dprintk("NFS reply fsinfo: %d\n", status);
return status;
}
@@ -709,7 +675,7 @@
dprintk("NFS call pathconf\n");
info->fattr->valid = 0;
- status = rpc_call(server->client, NFS3PROC_PATHCONF, fhandle, info, 0);
+ status = nfs3_rpc(server->client, NFS3PROC_PATHCONF, fhandle, info);
dprintk("NFS reply pathconf: %d\n", status);
return status;
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-02-17 19:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-17 19:37 [PATCH 2.6.11-rc4+NFS_ALL 1/1]: tidy up nfs3proc.c Frank van Maarseveen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox