NFS, NLM: Allow blocking locks to respect signals
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
03f28e3a20
commit
a9a801787a
1 changed files with 0 additions and 6 deletions
|
@ -443,10 +443,8 @@ static int do_vfs_lock(struct file *file, struct file_lock *fl)
|
||||||
static int do_unlk(struct file *filp, int cmd, struct file_lock *fl)
|
static int do_unlk(struct file *filp, int cmd, struct file_lock *fl)
|
||||||
{
|
{
|
||||||
struct inode *inode = filp->f_mapping->host;
|
struct inode *inode = filp->f_mapping->host;
|
||||||
sigset_t oldset;
|
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
rpc_clnt_sigmask(NFS_CLIENT(inode), &oldset);
|
|
||||||
/*
|
/*
|
||||||
* Flush all pending writes before doing anything
|
* Flush all pending writes before doing anything
|
||||||
* with locks..
|
* with locks..
|
||||||
|
@ -464,17 +462,14 @@ static int do_unlk(struct file *filp, int cmd, struct file_lock *fl)
|
||||||
else
|
else
|
||||||
status = do_vfs_lock(filp, fl);
|
status = do_vfs_lock(filp, fl);
|
||||||
unlock_kernel();
|
unlock_kernel();
|
||||||
rpc_clnt_sigunmask(NFS_CLIENT(inode), &oldset);
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_setlk(struct file *filp, int cmd, struct file_lock *fl)
|
static int do_setlk(struct file *filp, int cmd, struct file_lock *fl)
|
||||||
{
|
{
|
||||||
struct inode *inode = filp->f_mapping->host;
|
struct inode *inode = filp->f_mapping->host;
|
||||||
sigset_t oldset;
|
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
rpc_clnt_sigmask(NFS_CLIENT(inode), &oldset);
|
|
||||||
/*
|
/*
|
||||||
* Flush all pending writes before doing anything
|
* Flush all pending writes before doing anything
|
||||||
* with locks..
|
* with locks..
|
||||||
|
@ -507,7 +502,6 @@ static int do_setlk(struct file *filp, int cmd, struct file_lock *fl)
|
||||||
nfs_sync_mapping(filp->f_mapping);
|
nfs_sync_mapping(filp->f_mapping);
|
||||||
nfs_zap_caches(inode);
|
nfs_zap_caches(inode);
|
||||||
out:
|
out:
|
||||||
rpc_clnt_sigunmask(NFS_CLIENT(inode), &oldset);
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue