函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Remove the mark from the idr (if present) and drop the reference* on the mark because it was in the idr.

函数原型:static void inotify_remove_from_idr(struct fsnotify_group *group, struct inotify_inode_mark *i_mark)

返回类型:void

参数:

类型参数名称
struct fsnotify_group *group
struct inotify_inode_mark *i_mark
418  idr等于idr
419  idr_lock等于idr_lock
420  struct inotify_inode_mark * found_i_mark = NULL
423  加自旋锁
424  wd等于wd
430  如果wd恒等于负1则
431  WARN_ONCE(1, "%s: i_mark=%p i_mark->wd=%d i_mark->group=%p\n", __func__, i_mark, wd, Group this mark is for. Set on mark creation, stable until last ref * is dropped )
433  转到:out
437  found_i_mark等于inotify_idr_find_locked(group, wd)
438  如果此条件成立可能性小(为编译器优化)(!found_i_mark)则
439  WARN_ONCE(1, "%s: i_mark=%p i_mark->wd=%d i_mark->group=%p\n", __func__, i_mark, wd, Group this mark is for. Set on mark creation, stable until last ref * is dropped )
441  转到:out
449  如果此条件成立可能性小(为编译器优化)(found_i_mark != i_mark)则
450  WARN_ONCE(1, "%s: i_mark=%p i_mark->wd=%d i_mark->group=%p found_i_mark=%p found_i_mark->wd=%d found_i_mark->group=%p\n", __func__, i_mark, wd, Group this mark is for. Set on mark creation, stable until last ref * is dropped , found_i_mark, wd, Group this mark is for. Set on mark creation, stable until last ref * is dropped )
455  转到:out
462  如果此条件成立可能性小(为编译器优化)(_read - get a refcount's value*@r: the refcount* Return: the refcount's value < 2)则
463  printk - print a kernel message*@fmt: format string* This is printk(). It can be called from any context. We want it to work.* We try to grab the console_lock. If we succeed, it's easy - we log the* output and call the console drivers
466  BUG()
469  删除释放idr
471  fsnotify_put_mark( & fsn_mark)
472  out :
473  wd等于负1
474  自旋锁解锁
476  如果found_i_markfsnotify_put_mark( & fsn_mark)
调用者
名称描述
inotify_ignored_and_remove_idrSend IN_IGNORED for this wd, remove this wd from the idr.
inotify_new_watch