函数逻辑报告 |
Source Code:fs\locks.c |
Create Date:2022-07-29 10:59:48 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:lock_get_status
函数原型:static void lock_get_status(struct seq_file *f, struct file_lock *fl, loff_t id, char *pfx)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct seq_file * | f | |
| struct file_lock * | fl | |
| loff_t | id | |
| char * | pfx |
| 2798 | proc_pidns等于s_fs_info |
| 2807 | 如果(fl_file != NULL)则inode等于locks_inode(fl_file) |
| 2810 | seq_printf(f, "%lld:%s ", id, pfx) |
| 2812 | 如果fl_flags按位与 trying to lock, just looking 则seq_puts(f, "ACCESS") |
| 2819 | seq_printf(f, " %s ", (inode == NULL) ? "*NOINODE*" : mandatory_lock(inode) ? "MANDATORY" : "ADVISORY ") |
| 2825 | 否则 |
| 2829 | 如果fl_flags按位与NFSv4 delegation 则seq_puts(f, "DELEG ") |
| 2834 | 如果lease_breaking(fl)则seq_puts(f, "BREAKING ") |
| 2840 | 否则 |
| 2844 | seq_printf(f, "%s ", (fl_type & LOCK_READ) ? (fl_type & LOCK_WRITE) ? "RW " : "READ " : (fl_type & LOCK_WRITE) ? "WRITE" : "NONE ") |
| 2848 | 否则 |
| 2854 | 如果inode则 |
| 2856 | seq_printf(f, "%d %02x:%02x:%lu ", fl_pid, MAJOR(s_dev), MINOR(s_dev), Stat data, not accessed from path walking ) |
| 2859 | 否则 |
| 2860 | seq_printf(f, "%d <none>:0 ", fl_pid) |
| 2863 | 如果fl_end恒等于OFFSET_MAX则seq_printf(f, "%Ld EOF\n", fl_start) |
| 2865 | 否则seq_printf(f, "%Ld %Ld\n", fl_start, fl_end) |
| 2867 | 否则 |
| 名称 | 描述 |
|---|---|
| locks_show | |
| __show_fd_locks |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |