函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\notify\mark.c Create Date:2022-07-29 10:48:11
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Clear any marks in a group with given type mask

函数原型:void fsnotify_clear_marks_by_group(struct fsnotify_group *group, unsigned int type_mask)

返回类型:void

参数:

类型参数名称
struct fsnotify_group *group
unsigned inttype_mask
724  LIST_HEAD(to_free)
725  head等于to_free
728  如果type_mask恒等于FSNOTIFY_OBJ_ALL_TYPES_MASK
729  head等于 all inode marks for this group
730  转到:clear
741  mutex_lock_nested( & protect marks_list , For trivial one-depth nesting of a lock-class, the following* global define can be used. (Subsystems with multiple levels* of nesting should define their own lock-nesting subclasses.))
743  如果1U左移 Type of object [lock] 位按位与type_mask链表项移动到头部
746  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
748  clear :
749  当1循环
750  mutex_lock_nested( & protect marks_list , For trivial one-depth nesting of a lock-class, the following* global define can be used. (Subsystems with multiple levels* of nesting should define their own lock-nesting subclasses.))
751  如果链表为空
753  退出
755  mark等于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.(head, structfsnotify_mark, g_list)
756  fsnotify_get_mark(mark)
757  Mark mark as detached, remove it from group list
758  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
759  Free fsnotify mark
760  fsnotify_put_mark(mark)
调用者
名称描述
fsnotify_destroy_groupTrying to get rid of a group. Remove all marks, flush all events and release* the group reference.* Note that another thread calling fsnotify_clear_marks_by_group() may still* hold a ref to the group.