diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-04 15:35:30 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2005-11-04 15:35:30 -0500 |
commit | 43b2a33aa868054bd477ab2c1cd20f1ba1af2c3e (patch) | |
tree | f22ad362b9f877dfd4bc44139894a045aa48059a /fs/nfs/nfs4state.c | |
parent | 34ea818846e6cccdd6e05354ab8c8a6d7e34657a (diff) |
NFSv4: Fix recovery of flock() locks.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 81d964bfd8a7..52a26baa114c 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -784,7 +784,7 @@ static int nfs4_reclaim_locks(struct nfs4_state_recovery_ops *ops, struct nfs4_s | |||
784 | int status = 0; | 784 | int status = 0; |
785 | 785 | ||
786 | for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) { | 786 | for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) { |
787 | if (!(fl->fl_flags & FL_POSIX)) | 787 | if (!(fl->fl_flags & (FL_POSIX|FL_FLOCK))) |
788 | continue; | 788 | continue; |
789 | if (((struct nfs_open_context *)fl->fl_file->private_data)->state != state) | 789 | if (((struct nfs_open_context *)fl->fl_file->private_data)->state != state) |
790 | continue; | 790 | continue; |
@@ -799,7 +799,7 @@ static int nfs4_reclaim_locks(struct nfs4_state_recovery_ops *ops, struct nfs4_s | |||
799 | case -NFS4ERR_NO_GRACE: | 799 | case -NFS4ERR_NO_GRACE: |
800 | case -NFS4ERR_RECLAIM_BAD: | 800 | case -NFS4ERR_RECLAIM_BAD: |
801 | case -NFS4ERR_RECLAIM_CONFLICT: | 801 | case -NFS4ERR_RECLAIM_CONFLICT: |
802 | /* kill_proc(fl->fl_owner, SIGLOST, 1); */ | 802 | /* kill_proc(fl->fl_pid, SIGLOST, 1); */ |
803 | break; | 803 | break; |
804 | case -NFS4ERR_STALE_CLIENTID: | 804 | case -NFS4ERR_STALE_CLIENTID: |
805 | goto out_err; | 805 | goto out_err; |