| 函数逻辑报告 | 
| 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 | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称: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 | 
| 420 | struct inotify_inode_mark * found_i_mark = NULL | 
| 423 | 加自旋锁 | 
| 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 | 
| 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 | 
| 466 | BUG() | 
| 469 | 删除释放idr | 
| 471 | fsnotify_put_mark( & fsn_mark) | 
| 472 | out : | 
| 473 | wd等于负1 | 
| 474 | 自旋锁解锁 | 
| 476 | 如果found_i_mark则fsnotify_put_mark( & fsn_mark) | 
| 名称 | 描述 | 
|---|---|
| inotify_ignored_and_remove_idr | Send IN_IGNORED for this wd, remove this wd from the idr. | 
| inotify_new_watch | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |