aboutsummaryrefslogtreecommitdiffstats
path: root/fs/locks.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/locks.c')
-rw-r--r--fs/locks.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/locks.c b/fs/locks.c
index 250ef53d25ef..75650d52fe60 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1961,19 +1961,10 @@ EXPORT_SYMBOL(posix_block_lock);
1961void 1961void
1962posix_unblock_lock(struct file *filp, struct file_lock *waiter) 1962posix_unblock_lock(struct file *filp, struct file_lock *waiter)
1963{ 1963{
1964 /*
1965 * A remote machine may cancel the lock request after it's been
1966 * granted locally. If that happens, we need to delete the lock.
1967 */
1968 lock_kernel(); 1964 lock_kernel();
1969 if (waiter->fl_next) { 1965 if (waiter->fl_next)
1970 __locks_delete_block(waiter); 1966 __locks_delete_block(waiter);
1971 unlock_kernel(); 1967 unlock_kernel();
1972 } else {
1973 unlock_kernel();
1974 waiter->fl_type = F_UNLCK;
1975 posix_lock_file(filp, waiter);
1976 }
1977} 1968}
1978 1969
1979EXPORT_SYMBOL(posix_unblock_lock); 1970EXPORT_SYMBOL(posix_unblock_lock);