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