Skip to content

Commit

Permalink
[PATCH] lockd endianness annotations
Browse files Browse the repository at this point in the history
Annotated, all places switched to keeping status net-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Al Viro authored and Linus Torvalds committed Dec 13, 2006
1 parent 905f3ed commit e8c5c04
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 42 deletions.
10 changes: 5 additions & 5 deletions fs/lockd/clntlock.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ struct nlm_wait {
struct nlm_host * b_host;
struct file_lock * b_lock; /* local file lock */
unsigned short b_reclaim; /* got to reclaim lock */
u32 b_status; /* grant callback status */
__be32 b_status; /* grant callback status */
};

static LIST_HEAD(nlm_blocked);
Expand All @@ -53,7 +53,7 @@ struct nlm_wait *nlmclnt_prepare_block(struct nlm_host *host, struct file_lock *
block->b_host = host;
block->b_lock = fl;
init_waitqueue_head(&block->b_wait);
block->b_status = NLM_LCK_BLOCKED;
block->b_status = nlm_lck_blocked;
list_add(&block->b_list, &nlm_blocked);
}
return block;
Expand Down Expand Up @@ -89,7 +89,7 @@ int nlmclnt_block(struct nlm_wait *block, struct nlm_rqst *req, long timeout)
* nlmclnt_lock for an explanation.
*/
ret = wait_event_interruptible_timeout(block->b_wait,
block->b_status != NLM_LCK_BLOCKED,
block->b_status != nlm_lck_blocked,
timeout);
if (ret < 0)
return -ERESTARTSYS;
Expand Down Expand Up @@ -131,7 +131,7 @@ __be32 nlmclnt_grant(const struct sockaddr_in *addr, const struct nlm_lock *lock
/* Alright, we found a lock. Set the return status
* and wake up the caller
*/
block->b_status = NLM_LCK_GRANTED;
block->b_status = nlm_granted;
wake_up(&block->b_wait);
res = nlm_granted;
}
Expand Down Expand Up @@ -211,7 +211,7 @@ reclaimer(void *ptr)
/* Now, wake up all processes that sleep on a blocked lock */
list_for_each_entry(block, &nlm_blocked, b_list) {
if (block->b_host == host) {
block->b_status = NLM_LCK_DENIED_GRACE_PERIOD;
block->b_status = nlm_lck_denied_grace_period;
wake_up(&block->b_wait);
}
}
Expand Down
39 changes: 20 additions & 19 deletions fs/lockd/clntproc.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
static int nlmclnt_test(struct nlm_rqst *, struct file_lock *);
static int nlmclnt_lock(struct nlm_rqst *, struct file_lock *);
static int nlmclnt_unlock(struct nlm_rqst *, struct file_lock *);
static int nlm_stat_to_errno(u32 stat);
static int nlm_stat_to_errno(__be32 stat);
static void nlmclnt_locks_init_private(struct file_lock *fl, struct nlm_host *host);
static int nlmclnt_cancel(struct nlm_host *, int , struct file_lock *);

Expand Down Expand Up @@ -325,7 +325,7 @@ nlmclnt_call(struct nlm_rqst *req, u32 proc)
}
break;
} else
if (resp->status == NLM_LCK_DENIED_GRACE_PERIOD) {
if (resp->status == nlm_lck_denied_grace_period) {
dprintk("lockd: server in grace period\n");
if (argp->reclaim) {
printk(KERN_WARNING
Expand Down Expand Up @@ -411,10 +411,10 @@ nlmclnt_test(struct nlm_rqst *req, struct file_lock *fl)
goto out;

switch (req->a_res.status) {
case NLM_LCK_GRANTED:
case nlm_granted:
fl->fl_type = F_UNLCK;
break;
case NLM_LCK_DENIED:
case nlm_lck_denied:
/*
* Report the conflicting lock back to the application.
*/
Expand Down Expand Up @@ -524,9 +524,9 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
if (!req->a_args.block)
break;
/* Did a reclaimer thread notify us of a server reboot? */
if (resp->status == NLM_LCK_DENIED_GRACE_PERIOD)
if (resp->status == nlm_lck_denied_grace_period)
continue;
if (resp->status != NLM_LCK_BLOCKED)
if (resp->status != nlm_lck_blocked)
break;
/* Wait on an NLM blocking lock */
status = nlmclnt_block(block, req, NLMCLNT_POLL_TIMEOUT);
Expand All @@ -535,11 +535,11 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
*/
if (status < 0)
goto out_unblock;
if (resp->status != NLM_LCK_BLOCKED)
if (resp->status != nlm_lck_blocked)
break;
}

if (resp->status == NLM_LCK_GRANTED) {
if (resp->status == nlm_granted) {
down_read(&host->h_rwsem);
/* Check whether or not the server has rebooted */
if (fl->fl_u.nfs_fl.state != host->h_state) {
Expand All @@ -556,7 +556,7 @@ nlmclnt_lock(struct nlm_rqst *req, struct file_lock *fl)
out_unblock:
nlmclnt_finish_block(block);
/* Cancel the blocked request if it is still pending */
if (resp->status == NLM_LCK_BLOCKED)
if (resp->status == nlm_lck_blocked)
nlmclnt_cancel(host, req->a_args.block, fl);
out:
nlm_release_call(req);
Expand Down Expand Up @@ -585,12 +585,12 @@ nlmclnt_reclaim(struct nlm_host *host, struct file_lock *fl)
req->a_args.reclaim = 1;

if ((status = nlmclnt_call(req, NLMPROC_LOCK)) >= 0
&& req->a_res.status == NLM_LCK_GRANTED)
&& req->a_res.status == nlm_granted)
return 0;

printk(KERN_WARNING "lockd: failed to reclaim lock for pid %d "
"(errno %d, status %d)\n", fl->fl_pid,
status, req->a_res.status);
status, ntohl(req->a_res.status));

/*
* FIXME: This is a serious failure. We can
Expand Down Expand Up @@ -637,10 +637,10 @@ nlmclnt_unlock(struct nlm_rqst *req, struct file_lock *fl)
if (status < 0)
goto out;

if (resp->status == NLM_LCK_GRANTED)
if (resp->status == nlm_granted)
goto out;

if (resp->status != NLM_LCK_DENIED_NOLOCKS)
if (resp->status != nlm_lck_denied_nolocks)
printk("lockd: unexpected unlock status: %d\n", resp->status);
/* What to do now? I'm out of my depth... */
status = -ENOLCK;
Expand All @@ -652,7 +652,7 @@ nlmclnt_unlock(struct nlm_rqst *req, struct file_lock *fl)
static void nlmclnt_unlock_callback(struct rpc_task *task, void *data)
{
struct nlm_rqst *req = data;
int status = req->a_res.status;
u32 status = ntohl(req->a_res.status);

if (RPC_ASSASSINATED(task))
goto die;
Expand Down Expand Up @@ -720,6 +720,7 @@ static int nlmclnt_cancel(struct nlm_host *host, int block, struct file_lock *fl
static void nlmclnt_cancel_callback(struct rpc_task *task, void *data)
{
struct nlm_rqst *req = data;
u32 status = ntohl(req->a_res.status);

if (RPC_ASSASSINATED(task))
goto die;
Expand All @@ -731,9 +732,9 @@ static void nlmclnt_cancel_callback(struct rpc_task *task, void *data)
}

dprintk("lockd: cancel status %u (task %u)\n",
req->a_res.status, task->tk_pid);
status, task->tk_pid);

switch (req->a_res.status) {
switch (status) {
case NLM_LCK_GRANTED:
case NLM_LCK_DENIED_GRACE_PERIOD:
case NLM_LCK_DENIED:
Expand All @@ -744,7 +745,7 @@ static void nlmclnt_cancel_callback(struct rpc_task *task, void *data)
goto retry_cancel;
default:
printk(KERN_NOTICE "lockd: weird return %d for CANCEL call\n",
req->a_res.status);
status);
}

die:
Expand All @@ -768,9 +769,9 @@ static const struct rpc_call_ops nlmclnt_cancel_ops = {
* Convert an NLM status code to a generic kernel errno
*/
static int
nlm_stat_to_errno(u32 status)
nlm_stat_to_errno(__be32 status)
{
switch(status) {
switch(ntohl(status)) {
case NLM_LCK_GRANTED:
return 0;
case NLM_LCK_DENIED:
Expand Down
4 changes: 2 additions & 2 deletions fs/lockd/svclock.c
Original file line number Diff line number Diff line change
Expand Up @@ -645,7 +645,7 @@ static const struct rpc_call_ops nlmsvc_grant_ops = {
* block.
*/
void
nlmsvc_grant_reply(struct nlm_cookie *cookie, u32 status)
nlmsvc_grant_reply(struct nlm_cookie *cookie, __be32 status)
{
struct nlm_block *block;

Expand All @@ -655,7 +655,7 @@ nlmsvc_grant_reply(struct nlm_cookie *cookie, u32 status)
return;

if (block) {
if (status == NLM_LCK_DENIED_GRACE_PERIOD) {
if (status == nlm_lck_denied_grace_period) {
/* Try again in a couple of seconds */
nlmsvc_insert_block(block, 10 * HZ);
} else {
Expand Down
8 changes: 4 additions & 4 deletions fs/lockd/xdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ nlmsvc_decode_res(struct svc_rqst *rqstp, __be32 *p, struct nlm_res *resp)
{
if (!(p = nlm_decode_cookie(p, &resp->cookie)))
return 0;
resp->status = ntohl(*p++);
resp->status = *p++;
return xdr_argsize_check(rqstp, p);
}

Expand Down Expand Up @@ -407,8 +407,8 @@ nlmclt_decode_testres(struct rpc_rqst *req, __be32 *p, struct nlm_res *resp)
{
if (!(p = nlm_decode_cookie(p, &resp->cookie)))
return -EIO;
resp->status = ntohl(*p++);
if (resp->status == NLM_LCK_DENIED) {
resp->status = *p++;
if (resp->status == nlm_lck_denied) {
struct file_lock *fl = &resp->lock.fl;
u32 excl;
s32 start, len, end;
Expand Down Expand Up @@ -506,7 +506,7 @@ nlmclt_decode_res(struct rpc_rqst *req, __be32 *p, struct nlm_res *resp)
{
if (!(p = nlm_decode_cookie(p, &resp->cookie)))
return -EIO;
resp->status = ntohl(*p++);
resp->status = *p++;
return 0;
}

Expand Down
8 changes: 4 additions & 4 deletions fs/lockd/xdr4.c
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,7 @@ nlm4svc_decode_res(struct svc_rqst *rqstp, __be32 *p, struct nlm_res *resp)
{
if (!(p = nlm4_decode_cookie(p, &resp->cookie)))
return 0;
resp->status = ntohl(*p++);
resp->status = *p++;
return xdr_argsize_check(rqstp, p);
}

Expand Down Expand Up @@ -413,8 +413,8 @@ nlm4clt_decode_testres(struct rpc_rqst *req, __be32 *p, struct nlm_res *resp)
{
if (!(p = nlm4_decode_cookie(p, &resp->cookie)))
return -EIO;
resp->status = ntohl(*p++);
if (resp->status == NLM_LCK_DENIED) {
resp->status = *p++;
if (resp->status == nlm_lck_denied) {
struct file_lock *fl = &resp->lock.fl;
u32 excl;
s64 start, end, len;
Expand Down Expand Up @@ -512,7 +512,7 @@ nlm4clt_decode_res(struct rpc_rqst *req, __be32 *p, struct nlm_res *resp)
{
if (!(p = nlm4_decode_cookie(p, &resp->cookie)))
return -EIO;
resp->status = ntohl(*p++);
resp->status = *p++;
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion fs/nfsd/lockd.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
/*
* Note: we hold the dentry use count while the file is open.
*/
static u32
static __be32
nlm_fopen(struct svc_rqst *rqstp, struct nfs_fh *f, struct file **filp)
{
__be32 nfserr;
Expand Down
2 changes: 1 addition & 1 deletion include/linux/lockd/bind.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ struct svc_rqst;
* This is the set of functions for lockd->nfsd communication
*/
struct nlmsvc_binding {
u32 (*fopen)(struct svc_rqst *,
__be32 (*fopen)(struct svc_rqst *,
struct nfs_fh *,
struct file **);
void (*fclose)(struct file *);
Expand Down
2 changes: 1 addition & 1 deletion include/linux/lockd/lockd.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ __be32 nlmsvc_cancel_blocked(struct nlm_file *, struct nlm_lock *);
unsigned long nlmsvc_retry_blocked(void);
void nlmsvc_traverse_blocks(struct nlm_host *, struct nlm_file *,
nlm_host_match_fn_t match);
void nlmsvc_grant_reply(struct nlm_cookie *, u32);
void nlmsvc_grant_reply(struct nlm_cookie *, __be32);

/*
* File handling for the server personality
Expand Down
2 changes: 1 addition & 1 deletion include/linux/lockd/sm_inter.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
* Arguments for all calls to statd
*/
struct nsm_args {
u32 addr; /* remote address */
__be32 addr; /* remote address */
u32 prog; /* RPC callback info */
u32 vers;
u32 proc;
Expand Down
8 changes: 4 additions & 4 deletions include/linux/lockd/xdr.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ typedef struct nlm_args nlm_args;
*/
struct nlm_res {
struct nlm_cookie cookie;
u32 status;
__be32 status;
struct nlm_lock lock;
};

Expand All @@ -80,9 +80,9 @@ struct nlm_reboot {
char * mon;
int len;
u32 state;
u32 addr;
u32 vers;
u32 proto;
__be32 addr;
__be32 vers;
__be32 proto;
};

/*
Expand Down

0 comments on commit e8c5c04

Please sign in to comment.