函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |