mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
filelock: convert locks_{insert,delete}_global_blocked
Have locks_insert_global_blocked and locks_delete_global_blocked take a struct file_lock_core pointer. Signed-off-by: Jeff Layton <jlayton@kernel.org> Link: https://lore.kernel.org/r/20240131-flsplit-v3-23-c6129007ee8d@kernel.org Reviewed-by: NeilBrown <neilb@suse.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
4629172fd7
commit
1a6c75d4bb
1 changed files with 6 additions and 7 deletions
13
fs/locks.c
13
fs/locks.c
|
@ -635,19 +635,18 @@ posix_owner_key(struct file_lock_core *flc)
|
|||
return (unsigned long) flc->flc_owner;
|
||||
}
|
||||
|
||||
static void locks_insert_global_blocked(struct file_lock *waiter)
|
||||
static void locks_insert_global_blocked(struct file_lock_core *waiter)
|
||||
{
|
||||
lockdep_assert_held(&blocked_lock_lock);
|
||||
|
||||
hash_add(blocked_hash, &waiter->c.flc_link,
|
||||
posix_owner_key(&waiter->c));
|
||||
hash_add(blocked_hash, &waiter->flc_link, posix_owner_key(waiter));
|
||||
}
|
||||
|
||||
static void locks_delete_global_blocked(struct file_lock *waiter)
|
||||
static void locks_delete_global_blocked(struct file_lock_core *waiter)
|
||||
{
|
||||
lockdep_assert_held(&blocked_lock_lock);
|
||||
|
||||
hash_del(&waiter->c.flc_link);
|
||||
hash_del(&waiter->flc_link);
|
||||
}
|
||||
|
||||
/* Remove waiter from blocker's block list.
|
||||
|
@ -657,7 +656,7 @@ static void locks_delete_global_blocked(struct file_lock *waiter)
|
|||
*/
|
||||
static void __locks_delete_block(struct file_lock *waiter)
|
||||
{
|
||||
locks_delete_global_blocked(waiter);
|
||||
locks_delete_global_blocked(&waiter->c);
|
||||
list_del_init(&waiter->c.flc_blocked_member);
|
||||
}
|
||||
|
||||
|
@ -768,7 +767,7 @@ new_blocker:
|
|||
list_add_tail(&waiter->c.flc_blocked_member,
|
||||
&blocker->c.flc_blocked_requests);
|
||||
if ((blocker->c.flc_flags & (FL_POSIX|FL_OFDLCK)) == FL_POSIX)
|
||||
locks_insert_global_blocked(waiter);
|
||||
locks_insert_global_blocked(&waiter->c);
|
||||
|
||||
/* The requests in waiter->fl_blocked are known to conflict with
|
||||
* waiter, but might not conflict with blocker, or the requests
|
||||
|
|
Loading…
Add table
Reference in a new issue