Commit ea443607 authored by Trond Myklebust's avatar Trond Myklebust Committed by Linus Torvalds

[PATCH] More rpc cleanup...

Don't share a routing for xdr_encode_mon/umon.

What we really want to do is split the XDR routine into one which does
SM_MON encodes, and the other which does SM_UNMON.

Remove some unused "void" encoders / decoders to avoid compiler warnings.
parent 35abeacb
...@@ -135,16 +135,12 @@ nsm_create(void) ...@@ -135,16 +135,12 @@ nsm_create(void)
* XDR functions for NSM. * XDR functions for NSM.
*/ */
static int static u32 *
xdr_encode_mon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp) xdr_encode_common(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp)
{ {
char buffer[20]; char buffer[20];
u32 addr = ntohl(argp->addr); u32 addr = ntohl(argp->addr);
dprintk("nsm: xdr_encode_mon(%08x, %d, %d, %d)\n",
htonl(argp->addr), htonl(argp->prog),
htonl(argp->vers), htonl(argp->proc));
/* /*
* Use the dotted-quad IP address of the remote host as * Use the dotted-quad IP address of the remote host as
* identifier. Linux statd always looks up the canonical * identifier. Linux statd always looks up the canonical
...@@ -155,19 +151,34 @@ xdr_encode_mon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp) ...@@ -155,19 +151,34 @@ xdr_encode_mon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp)
(addr>>8) & 0xff, (addr) & 0xff); (addr>>8) & 0xff, (addr) & 0xff);
if (!(p = xdr_encode_string(p, buffer)) if (!(p = xdr_encode_string(p, buffer))
|| !(p = xdr_encode_string(p, system_utsname.nodename))) || !(p = xdr_encode_string(p, system_utsname.nodename)))
return -EIO; return ERR_PTR(-EIO);
*p++ = htonl(argp->prog); *p++ = htonl(argp->prog);
*p++ = htonl(argp->vers); *p++ = htonl(argp->vers);
*p++ = htonl(argp->proc); *p++ = htonl(argp->proc);
/* This is the private part. Needed only for SM_MON call */ return p;
if (rqstp->rq_task->tk_msg.rpc_proc == SM_MON) { }
*p++ = argp->addr;
*p++ = argp->vers; static int
*p++ = argp->proto; xdr_encode_mon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp)
*p++ = 0; {
} p = xdr_encode_common(rqstp, p, argp);
if (IS_ERR(p))
return PTR_ERR(p);
*p++ = argp->addr;
*p++ = argp->vers;
*p++ = argp->proto;
*p++ = 0;
rqstp->rq_slen = xdr_adjust_iovec(rqstp->rq_svec, p);
return 0;
}
static int
xdr_encode_unmon(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp)
{
p = xdr_encode_common(rqstp, p, argp);
if (IS_ERR(p))
return PTR_ERR(p);
rqstp->rq_slen = xdr_adjust_iovec(rqstp->rq_svec, p); rqstp->rq_slen = xdr_adjust_iovec(rqstp->rq_svec, p);
return 0; return 0;
} }
...@@ -209,7 +220,7 @@ static struct rpc_procinfo nsm_procedures[] = { ...@@ -209,7 +220,7 @@ static struct rpc_procinfo nsm_procedures[] = {
}, },
[SM_UNMON] = { [SM_UNMON] = {
.p_proc = SM_UNMON, .p_proc = SM_UNMON,
.p_encode = (kxdrproc_t) xdr_encode_mon, .p_encode = (kxdrproc_t) xdr_encode_unmon,
.p_decode = (kxdrproc_t) xdr_decode_stat, .p_decode = (kxdrproc_t) xdr_decode_stat,
.p_bufsiz = MAX(SM_mon_id_sz, SM_unmonres_sz) << 2, .p_bufsiz = MAX(SM_mon_id_sz, SM_unmonres_sz) << 2,
}, },
......
...@@ -379,18 +379,13 @@ nlmsvc_encode_void(struct svc_rqst *rqstp, u32 *p, void *dummy) ...@@ -379,18 +379,13 @@ nlmsvc_encode_void(struct svc_rqst *rqstp, u32 *p, void *dummy)
/* /*
* Now, the client side XDR functions * Now, the client side XDR functions
*/ */
static int #ifdef NLMCLNT_SUPPORT_SHARES
nlmclt_encode_void(struct rpc_rqst *req, u32 *p, void *ptr)
{
req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);
return 0;
}
static int static int
nlmclt_decode_void(struct rpc_rqst *req, u32 *p, void *ptr) nlmclt_decode_void(struct rpc_rqst *req, u32 *p, void *ptr)
{ {
return 0; return 0;
} }
#endif
static int static int
nlmclt_encode_testargs(struct rpc_rqst *req, u32 *p, nlm_args *argp) nlmclt_encode_testargs(struct rpc_rqst *req, u32 *p, nlm_args *argp)
......
...@@ -382,18 +382,13 @@ nlm4svc_encode_void(struct svc_rqst *rqstp, u32 *p, void *dummy) ...@@ -382,18 +382,13 @@ nlm4svc_encode_void(struct svc_rqst *rqstp, u32 *p, void *dummy)
/* /*
* Now, the client side XDR functions * Now, the client side XDR functions
*/ */
static int #ifdef NLMCLNT_SUPPORT_SHARES
nlm4clt_encode_void(struct rpc_rqst *req, u32 *p, void *ptr)
{
req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);
return 0;
}
static int static int
nlm4clt_decode_void(struct rpc_rqst *req, u32 *p, void *ptr) nlm4clt_decode_void(struct rpc_rqst *req, u32 *p, void *ptr)
{ {
return 0; return 0;
} }
#endif
static int static int
nlm4clt_encode_testargs(struct rpc_rqst *req, u32 *p, nlm_args *argp) nlm4clt_encode_testargs(struct rpc_rqst *req, u32 *p, nlm_args *argp)
......
...@@ -44,7 +44,6 @@ extern int nfs_stat_to_errno(int stat); ...@@ -44,7 +44,6 @@ extern int nfs_stat_to_errno(int stat);
#define NFS_info_sz 5 #define NFS_info_sz 5
#define NFS_entry_sz NFS_filename_sz+3 #define NFS_entry_sz NFS_filename_sz+3
#define NFS_enc_void_sz 0
#define NFS_diropargs_sz NFS_fhandle_sz+NFS_filename_sz #define NFS_diropargs_sz NFS_fhandle_sz+NFS_filename_sz
#define NFS_sattrargs_sz NFS_fhandle_sz+NFS_sattr_sz #define NFS_sattrargs_sz NFS_fhandle_sz+NFS_sattr_sz
#define NFS_readlinkargs_sz NFS_fhandle_sz #define NFS_readlinkargs_sz NFS_fhandle_sz
...@@ -56,7 +55,6 @@ extern int nfs_stat_to_errno(int stat); ...@@ -56,7 +55,6 @@ extern int nfs_stat_to_errno(int stat);
#define NFS_symlinkargs_sz NFS_diropargs_sz+NFS_path_sz+NFS_sattr_sz #define NFS_symlinkargs_sz NFS_diropargs_sz+NFS_path_sz+NFS_sattr_sz
#define NFS_readdirargs_sz NFS_fhandle_sz+2 #define NFS_readdirargs_sz NFS_fhandle_sz+2
#define NFS_dec_void_sz 0
#define NFS_attrstat_sz 1+NFS_fattr_sz #define NFS_attrstat_sz 1+NFS_fattr_sz
#define NFS_diropres_sz 1+NFS_fhandle_sz+NFS_fattr_sz #define NFS_diropres_sz 1+NFS_fhandle_sz+NFS_fattr_sz
#define NFS_readlinkres_sz 1 #define NFS_readlinkres_sz 1
...@@ -154,16 +152,6 @@ xdr_encode_sattr(u32 *p, struct iattr *attr) ...@@ -154,16 +152,6 @@ xdr_encode_sattr(u32 *p, struct iattr *attr)
/* /*
* NFS encode functions * NFS encode functions
*/ */
/*
* Encode void argument
*/
static int
nfs_xdr_enc_void(struct rpc_rqst *req, u32 *p, void *dummy)
{
req->rq_slen = xdr_adjust_iovec(req->rq_svec, p);
return 0;
}
/* /*
* Encode file handle argument * Encode file handle argument
* GETATTR, READLINK, STATFS * GETATTR, READLINK, STATFS
...@@ -462,15 +450,6 @@ nfs_decode_dirent(u32 *p, struct nfs_entry *entry, int plus) ...@@ -462,15 +450,6 @@ nfs_decode_dirent(u32 *p, struct nfs_entry *entry, int plus)
/* /*
* NFS XDR decode functions * NFS XDR decode functions
*/ */
/*
* Decode void reply
*/
static int
nfs_xdr_dec_void(struct rpc_rqst *req, u32 *p, void *dummy)
{
return 0;
}
/* /*
* Decode simple status reply * Decode simple status reply
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment