函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:fanotify_release

函数原型:static int fanotify_release(struct inode *ignored, struct file *file)

返回类型:int

参数:

类型参数名称
struct inode *ignored
struct file *file
442  group等于 needed for tty driver, and maybe others
451  Stop queueing new events for this group. Once this function returns* fsnotify_add_event() will not add any new events to the group's queue.
457  加自旋锁
458  当非链表为空循环
459  event等于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.( & access_list, structfanotify_perm_event, list)
461  删除链表项并重新初始化
462  Finish processing of permission event by setting it to ANSWERED state and* drop group->notification_lock.
463  加自旋锁
471  当非rn true if the notify queue is empty, false otherwise 循环
472  fsn_event等于Remove and return the first event from the notification list. It is the* responsibility of the caller to destroy the obtained event
476  否则
480  加自旋锁
482  自旋锁解锁
485  wake_up( & access_waitq)
488  Trying 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.
490  返回:0