Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\locks.c Create Date:2022-07-28 20:25:27
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__locks_wake_up_blocks

Proto:static void __locks_wake_up_blocks(struct file_lock *blocker)

Type:void

Parameter:

TypeParameterName
struct file_lock *blocker
733  When Not list_empty - tests whether a list is empty*@head: the list to test. cycle
736  waiter = list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & list of requests with * ->fl_blocker pointing here, structfile_lock, fl_blocked_member)
738  Remove waiter from blocker's block list.* When blocker ends up pointing to itself then the list is empty.* Must be called with blocked_lock_lock held.
739  If Callbacks for lockmanagers && lm_notify Then lm_notify(waiter)
741  Else wake_up( & fl_wait)
Caller
NameDescribe
locks_delete_blocklocks_delete_lock - stop waiting for a file lock*@waiter: the lock which was waiting* lockd/nfsd need to disconnect the lock while working on it.
__locks_insert_blockInsert waiter into blocker's block list.* We use a circular list so that processes can be easily woken up in* the order they blocked. The documentation doesn't require this but* it seems like the reasonable thing to do.
locks_wake_up_blocksWake up processes blocked waiting for blocker.* Must be called with the inode->flc_lock held!
posix_lock_inode