函数逻辑报告 |
Source Code:fs\locks.c |
Create Date:2022-07-29 10:59:32 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:heck_conflicting_open - see if the given file points to an inode that has* an existing open that would conflict with the* desired lease
函数原型:static int check_conflicting_open(struct file *filp, const long arg, int flags)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct file * | filp | |
| const long | arg | |
| int | flags |
| 1776 | inode等于locks_inode(filp) |
| 1777 | self_wcount等于0, self_rcount等于0 |
| 1779 | 如果flags按位与utstanding pNFS layout 则返回:0 |
| 1782 | 如果arg恒等于F_RDLCK则返回:如果inode_is_open_for_write(inode)则负EAGAIN否则0 |
| 1793 | 如果f_mode按位与le is open for writing 则self_wcount等于1 |
| 1795 | 否则如果f_mode按位与le is open for reading 则self_rcount等于1 |
| 1798 | 如果atomic_read( & i_writecount)不等于self_wcount或atomic_read( & struct files open RO )不等于self_rcount则返回:负EAGAIN |
| 1802 | 返回:0 |
| 名称 | 描述 |
|---|---|
| generic_add_lease |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |