diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2008-03-14 14:25:46 -0400 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-03-19 18:01:01 -0400 |
| commit | 850c95fd07b63704d06909c9a081c51272d32db1 (patch) | |
| tree | 37cda66d133e442bfc54c97ed8d81016c3a33381 | |
| parent | 496951743100b2d2ccd8b268257e79425e489851 (diff) | |
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>
| -rw-r--r-- | fs/lockd/mon.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c index 87bd4e4d65dd..06216d6715f7 100644 --- a/fs/lockd/mon.c +++ b/fs/lockd/mon.c | |||
| @@ -183,6 +183,25 @@ static __be32 *xdr_encode_mon_name(__be32 *p, struct nsm_args *argp) | |||
| 183 | return xdr_encode_nsm_string(p, name); | 183 | return xdr_encode_nsm_string(p, name); |
| 184 | } | 184 | } |
| 185 | 185 | ||
| 186 | /* | ||
| 187 | * The "my_id" argument specifies the hostname and RPC procedure | ||
| 188 | * to be called when the status manager receives notification | ||
| 189 | * (via the SM_NOTIFY call) that the state of host "mon_name" | ||
| 190 | * has changed. | ||
| 191 | */ | ||
| 192 | static __be32 *xdr_encode_my_id(__be32 *p, struct nsm_args *argp) | ||
| 193 | { | ||
| 194 | p = xdr_encode_nsm_string(p, utsname()->nodename); | ||
| 195 | if (!p) | ||
| 196 | return ERR_PTR(-EIO); | ||
| 197 | |||
| 198 | *p++ = htonl(argp->prog); | ||
| 199 | *p++ = htonl(argp->vers); | ||
| 200 | *p++ = htonl(argp->proc); | ||
| 201 | |||
| 202 | return p; | ||
| 203 | } | ||
| 204 | |||
| 186 | static __be32 * | 205 | static __be32 * |
| 187 | xdr_encode_common(struct rpc_rqst *rqstp, __be32 *p, struct nsm_args *argp) | 206 | xdr_encode_common(struct rpc_rqst *rqstp, __be32 *p, struct nsm_args *argp) |
| 188 | { | 207 | { |
