diff options
-rw-r--r-- | fs/cifs/file.c | 2 | ||||
-rw-r--r-- | fs/locks.c | 3 | ||||
-rw-r--r-- | include/linux/fs.h | 5 |
3 files changed, 2 insertions, 8 deletions
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 48b29d24c9f4..1686e4085646 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -999,7 +999,7 @@ try_again: | |||
999 | rc = wait_event_interruptible(flock->fl_wait, !flock->fl_next); | 999 | rc = wait_event_interruptible(flock->fl_wait, !flock->fl_next); |
1000 | if (!rc) | 1000 | if (!rc) |
1001 | goto try_again; | 1001 | goto try_again; |
1002 | locks_delete_block(flock); | 1002 | posix_unblock_lock(flock); |
1003 | } | 1003 | } |
1004 | return rc; | 1004 | return rc; |
1005 | } | 1005 | } |
diff --git a/fs/locks.c b/fs/locks.c index 72fb2b722211..d732e2226f17 100644 --- a/fs/locks.c +++ b/fs/locks.c | |||
@@ -496,13 +496,12 @@ static void __locks_delete_block(struct file_lock *waiter) | |||
496 | 496 | ||
497 | /* | 497 | /* |
498 | */ | 498 | */ |
499 | void locks_delete_block(struct file_lock *waiter) | 499 | static void locks_delete_block(struct file_lock *waiter) |
500 | { | 500 | { |
501 | lock_flocks(); | 501 | lock_flocks(); |
502 | __locks_delete_block(waiter); | 502 | __locks_delete_block(waiter); |
503 | unlock_flocks(); | 503 | unlock_flocks(); |
504 | } | 504 | } |
505 | EXPORT_SYMBOL(locks_delete_block); | ||
506 | 505 | ||
507 | /* Insert waiter into blocker's block list. | 506 | /* Insert waiter into blocker's block list. |
508 | * We use a circular list so that processes can be easily woken up in | 507 | * We use a circular list so that processes can be easily woken up in |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 172303655702..6cfc9a29a783 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1006,7 +1006,6 @@ extern int vfs_setlease(struct file *, long, struct file_lock **); | |||
1006 | extern int lease_modify(struct file_lock **, int); | 1006 | extern int lease_modify(struct file_lock **, int); |
1007 | extern int lock_may_read(struct inode *, loff_t start, unsigned long count); | 1007 | extern int lock_may_read(struct inode *, loff_t start, unsigned long count); |
1008 | extern int lock_may_write(struct inode *, loff_t start, unsigned long count); | 1008 | extern int lock_may_write(struct inode *, loff_t start, unsigned long count); |
1009 | extern void locks_delete_block(struct file_lock *waiter); | ||
1010 | extern void lock_flocks(void); | 1009 | extern void lock_flocks(void); |
1011 | extern void unlock_flocks(void); | 1010 | extern void unlock_flocks(void); |
1012 | #else /* !CONFIG_FILE_LOCKING */ | 1011 | #else /* !CONFIG_FILE_LOCKING */ |
@@ -1150,10 +1149,6 @@ static inline int lock_may_write(struct inode *inode, loff_t start, | |||
1150 | return 1; | 1149 | return 1; |
1151 | } | 1150 | } |
1152 | 1151 | ||
1153 | static inline void locks_delete_block(struct file_lock *waiter) | ||
1154 | { | ||
1155 | } | ||
1156 | |||
1157 | static inline void lock_flocks(void) | 1152 | static inline void lock_flocks(void) |
1158 | { | 1153 | { |
1159 | } | 1154 | } |