aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-03-20 13:44:48 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-03-20 13:44:48 -0500
commita9a801787a761616589a6526d7a29c13f4deb3d8 (patch)
tree73754598e8c65cf18f0a96ca3c32433dcb34cbe7 /fs
parent03f28e3a2059fc466761d872122f30acb7be61ae (diff)
NFS, NLM: Allow blocking locks to respect signals
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfs/file.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 6bcbc4d676c4..5263b2864a44 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -443,10 +443,8 @@ static int do_vfs_lock(struct file *file, struct file_lock *fl)
443static int do_unlk(struct file *filp, int cmd, struct file_lock *fl) 443static int do_unlk(struct file *filp, int cmd, struct file_lock *fl)
444{ 444{
445 struct inode *inode = filp->f_mapping->host; 445 struct inode *inode = filp->f_mapping->host;
446 sigset_t oldset;
447 int status; 446 int status;
448 447
449 rpc_clnt_sigmask(NFS_CLIENT(inode), &oldset);
450 /* 448 /*
451 * Flush all pending writes before doing anything 449 * Flush all pending writes before doing anything
452 * with locks.. 450 * with locks..
@@ -464,17 +462,14 @@ static int do_unlk(struct file *filp, int cmd, struct file_lock *fl)
464 else 462 else
465 status = do_vfs_lock(filp, fl); 463 status = do_vfs_lock(filp, fl);
466 unlock_kernel(); 464 unlock_kernel();
467 rpc_clnt_sigunmask(NFS_CLIENT(inode), &oldset);
468 return status; 465 return status;
469} 466}
470 467
471static int do_setlk(struct file *filp, int cmd, struct file_lock *fl) 468static int do_setlk(struct file *filp, int cmd, struct file_lock *fl)
472{ 469{
473 struct inode *inode = filp->f_mapping->host; 470 struct inode *inode = filp->f_mapping->host;
474 sigset_t oldset;
475 int status; 471 int status;
476 472
477 rpc_clnt_sigmask(NFS_CLIENT(inode), &oldset);
478 /* 473 /*
479 * Flush all pending writes before doing anything 474 * Flush all pending writes before doing anything
480 * with locks.. 475 * with locks..
@@ -507,7 +502,6 @@ static int do_setlk(struct file *filp, int cmd, struct file_lock *fl)
507 nfs_sync_mapping(filp->f_mapping); 502 nfs_sync_mapping(filp->f_mapping);
508 nfs_zap_caches(inode); 503 nfs_zap_caches(inode);
509out: 504out:
510 rpc_clnt_sigunmask(NFS_CLIENT(inode), &oldset);
511 return status; 505 return status;
512} 506}
513 507