@@ -829,7 +829,7 @@ static void locks_insert_block(struct file_lock_core *blocker,
*
* Must be called with the inode->flc_lock held!
*/
-static void locks_wake_up_blocks(struct file_lock *blocker)
+static void locks_wake_up_blocks(struct file_lock_core *blocker)
{
/*
* Avoid taking global lock if list is empty. This is safe since new
@@ -838,11 +838,11 @@ static void locks_wake_up_blocks(struct file_lock *blocker)
* fl_blocked_requests list does not require the flc_lock, so we must
* recheck list_empty() after acquiring the blocked_lock_lock.
*/
- if (list_empty(&blocker->fl_core.fl_blocked_requests))
+ if (list_empty(&blocker->fl_blocked_requests))
return;
spin_lock(&blocked_lock_lock);
- __locks_wake_up_blocks(&blocker->fl_core);
+ __locks_wake_up_blocks(blocker);
spin_unlock(&blocked_lock_lock);
}
@@ -858,7 +858,7 @@ locks_unlink_lock_ctx(struct file_lock *fl)
{
locks_delete_global_locks(&fl->fl_core);
list_del_init(&fl->fl_core.fl_list);
- locks_wake_up_blocks(fl);
+ locks_wake_up_blocks(&fl->fl_core);
}
static void
@@ -1351,11 +1351,11 @@ static int posix_lock_inode(struct inode *inode, struct file_lock *request,
locks_insert_lock_ctx(left, &fl->fl_core.fl_list);
}
right->fl_start = request->fl_end + 1;
- locks_wake_up_blocks(right);
+ locks_wake_up_blocks(&right->fl_core);
}
if (left) {
left->fl_end = request->fl_start - 1;
- locks_wake_up_blocks(left);
+ locks_wake_up_blocks(&left->fl_core);
}
out:
spin_unlock(&ctx->flc_lock);
@@ -1437,7 +1437,7 @@ int lease_modify(struct file_lock *fl, int arg, struct list_head *dispose)
if (error)
return error;
lease_clear_pending(fl, arg);
- locks_wake_up_blocks(fl);
+ locks_wake_up_blocks(&fl->fl_core);
if (arg == F_UNLCK) {
struct file *filp = fl->fl_core.fl_file;
Have locks_wake_up_blocks take a file_lock_core pointer, and fix up the callers to pass one in. Signed-off-by: Jeff Layton <jlayton@kernel.org> --- fs/locks.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)