NLM: Remove the signal masking in nlmclnt_proc/nlmclnt_cancel
The signal masks have been rendered obsolete by the preceding patch. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
dc9d8d0481
commit
8ec7ff7444
|
@ -155,8 +155,6 @@ static void nlmclnt_release_lockargs(struct nlm_rqst *req)
|
||||||
int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl)
|
int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl)
|
||||||
{
|
{
|
||||||
struct nlm_rqst *call;
|
struct nlm_rqst *call;
|
||||||
sigset_t oldset;
|
|
||||||
unsigned long flags;
|
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
nlm_get_host(host);
|
nlm_get_host(host);
|
||||||
|
@ -168,22 +166,6 @@ int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl)
|
||||||
/* Set up the argument struct */
|
/* Set up the argument struct */
|
||||||
nlmclnt_setlockargs(call, fl);
|
nlmclnt_setlockargs(call, fl);
|
||||||
|
|
||||||
/* Keep the old signal mask */
|
|
||||||
spin_lock_irqsave(¤t->sighand->siglock, flags);
|
|
||||||
oldset = current->blocked;
|
|
||||||
|
|
||||||
/* If we're cleaning up locks because the process is exiting,
|
|
||||||
* perform the RPC call asynchronously. */
|
|
||||||
if ((IS_SETLK(cmd) || IS_SETLKW(cmd))
|
|
||||||
&& fl->fl_type == F_UNLCK
|
|
||||||
&& (current->flags & PF_EXITING)) {
|
|
||||||
sigfillset(¤t->blocked); /* Mask all signals */
|
|
||||||
recalc_sigpending();
|
|
||||||
|
|
||||||
call->a_flags = RPC_TASK_ASYNC;
|
|
||||||
}
|
|
||||||
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
|
|
||||||
|
|
||||||
if (IS_SETLK(cmd) || IS_SETLKW(cmd)) {
|
if (IS_SETLK(cmd) || IS_SETLKW(cmd)) {
|
||||||
if (fl->fl_type != F_UNLCK) {
|
if (fl->fl_type != F_UNLCK) {
|
||||||
call->a_args.block = IS_SETLKW(cmd) ? 1 : 0;
|
call->a_args.block = IS_SETLKW(cmd) ? 1 : 0;
|
||||||
|
@ -198,11 +180,6 @@ int nlmclnt_proc(struct nlm_host *host, int cmd, struct file_lock *fl)
|
||||||
fl->fl_ops->fl_release_private(fl);
|
fl->fl_ops->fl_release_private(fl);
|
||||||
fl->fl_ops = NULL;
|
fl->fl_ops = NULL;
|
||||||
|
|
||||||
spin_lock_irqsave(¤t->sighand->siglock, flags);
|
|
||||||
current->blocked = oldset;
|
|
||||||
recalc_sigpending();
|
|
||||||
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
|
|
||||||
|
|
||||||
dprintk("lockd: clnt proc returns %d\n", status);
|
dprintk("lockd: clnt proc returns %d\n", status);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@ -722,16 +699,6 @@ static const struct rpc_call_ops nlmclnt_unlock_ops = {
|
||||||
static int nlmclnt_cancel(struct nlm_host *host, int block, struct file_lock *fl)
|
static int nlmclnt_cancel(struct nlm_host *host, int block, struct file_lock *fl)
|
||||||
{
|
{
|
||||||
struct nlm_rqst *req;
|
struct nlm_rqst *req;
|
||||||
unsigned long flags;
|
|
||||||
sigset_t oldset;
|
|
||||||
int status;
|
|
||||||
|
|
||||||
/* Block all signals while setting up call */
|
|
||||||
spin_lock_irqsave(¤t->sighand->siglock, flags);
|
|
||||||
oldset = current->blocked;
|
|
||||||
sigfillset(¤t->blocked);
|
|
||||||
recalc_sigpending();
|
|
||||||
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
|
|
||||||
|
|
||||||
req = nlm_alloc_call(nlm_get_host(host));
|
req = nlm_alloc_call(nlm_get_host(host));
|
||||||
if (!req)
|
if (!req)
|
||||||
|
@ -741,14 +708,7 @@ static int nlmclnt_cancel(struct nlm_host *host, int block, struct file_lock *fl
|
||||||
nlmclnt_setlockargs(req, fl);
|
nlmclnt_setlockargs(req, fl);
|
||||||
req->a_args.block = block;
|
req->a_args.block = block;
|
||||||
|
|
||||||
status = nlmclnt_async_call(req, NLMPROC_CANCEL, &nlmclnt_cancel_ops);
|
return nlmclnt_async_call(req, NLMPROC_CANCEL, &nlmclnt_cancel_ops);
|
||||||
|
|
||||||
spin_lock_irqsave(¤t->sighand->siglock, flags);
|
|
||||||
current->blocked = oldset;
|
|
||||||
recalc_sigpending();
|
|
||||||
spin_unlock_irqrestore(¤t->sighand->siglock, flags);
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nlmclnt_cancel_callback(struct rpc_task *task, void *data)
|
static void nlmclnt_cancel_callback(struct rpc_task *task, void *data)
|
||||||
|
|
Loading…
Reference in New Issue