lockd: refactor SM_MON my_id argument encoder
Clean up: introduce a new XDR encoder specifically for the my_id argument of SM_MON requests. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
4969517431
commit
850c95fd07
@ -183,6 +183,25 @@ static __be32 *xdr_encode_mon_name(__be32 *p, struct nsm_args *argp)
|
|||||||
return xdr_encode_nsm_string(p, name);
|
return xdr_encode_nsm_string(p, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The "my_id" argument specifies the hostname and RPC procedure
|
||||||
|
* to be called when the status manager receives notification
|
||||||
|
* (via the SM_NOTIFY call) that the state of host "mon_name"
|
||||||
|
* has changed.
|
||||||
|
*/
|
||||||
|
static __be32 *xdr_encode_my_id(__be32 *p, struct nsm_args *argp)
|
||||||
|
{
|
||||||
|
p = xdr_encode_nsm_string(p, utsname()->nodename);
|
||||||
|
if (!p)
|
||||||
|
return ERR_PTR(-EIO);
|
||||||
|
|
||||||
|
*p++ = htonl(argp->prog);
|
||||||
|
*p++ = htonl(argp->vers);
|
||||||
|
*p++ = htonl(argp->proc);
|
||||||
|
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
static __be32 *
|
static __be32 *
|
||||||
xdr_encode_common(struct rpc_rqst *rqstp, __be32 *p, struct nsm_args *argp)
|
xdr_encode_common(struct rpc_rqst *rqstp, __be32 *p, struct nsm_args *argp)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user