【发布时间】:2013-06-18 16:55:20
【问题描述】:
我想知道在/sys/* 中的哪个文件上调用了函数static ssize_t
sysfs_write_file(struct file *file, const char __user *buf, size_t count, loff_t *ppos)。问题是如何通过struct file *file 获取文件名/路径?
struct file {
mode_t f_mode;
loff_t f_pos;
unsigned short f_flags;
unsigned short f_count;
unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;
struct file *f_next, *f_prev;
int f_owner; /* pid or -pgrp where SIGIO should be sent */
struct inode * f_inode;
struct file_operations * f_op;
unsigned long f_version;
void *private_data; /* needed for tty driver, and maybe others */
};
编辑: 我知道 inode 与名称之间没有一对一的映射,但我必须知道主要/次要/文件描述符,并且可以在文件系统中搜索一些 inode 的名称。
【问题讨论】:
-
你需要这个名字做什么?
标签: c linux linux-kernel