debugfs例子

static ssize_t anycall_write(struct file *file, const char __user *user_buf,
			      size_t size, loff_t *ppos)
{
	char buf[64];
	int buf_size;
	int ret=0;

	buf_size = min(size, (sizeof(buf) - 1));
	if (strncpy_from_user(buf, user_buf, buf_size) < 0)
		return -EFAULT;
	buf[buf_size] = 0;

	if (ret < 0)
		return ret;
	 
        runAny(buf);
        return size;
}
static const struct file_operations anycall_fops = {
	.owner		= THIS_MODULE,
	.write		= anycall_write,
};

static int __init anycall_init(void)
{
     
	struct dentry *dentry;
	dentry = debugfs_create_file("anycall", S_IRUGO, NULL, NULL,
			     &anycall_fops);
	printk(KERN_ERR "[anycall]install  anycall  !!!!\n");;
	return 0;
}

 

生成的目录一般在:  /sys/kernel/debug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`debugfs` 是一个用于调试文件系统的工具,可以用来查看和修改文件系统的元数据,包括 inode、块、目录等信息。它通常用于恢复损坏的文件系统或者进行文件系统的调试和分析。 以下是 `debugfs` 常用的一些命令和用法: 1. 打开文件系统 ``` debugfs /dev/device ``` 这个命令会打开 `/dev/device` 设备对应的文件系统,以便进行调试操作。请注意,使用 `debugfs` 命令需要以 root 用户身份运行。 2. 查看 inode 节点 ``` debugfs: inode <inode> ``` 这个命令会查看指定 inode 节点的详细信息,包括文件类型、权限、大小、数据块列表等。 3. 查看目录内容 ``` debugfs: ls <directory> ``` 这个命令会列出指定目录下的所有文件和子目录。 4. 查看数据块内容 ``` debugfs: dump <block> ``` 这个命令会查看指定数据块的内容。请注意,这里的数据块编号是逻辑块编号,不是物理块编号。 5. 查找文件名对应的 inode 节点 ``` debugfs: ncheck <inode> ``` 这个命令会查找指定 inode 节点对应的文件名和路径。 6. 查找数据块对应的文件名和 inode 节点 ``` debugfs: icheck <block> ``` 这个命令会查找指定数据块所属的文件名和 inode 节点。 7. 修改 inode 节点的属性 ``` debugfs: set_inode_field <inode> <field> <value> ``` 这个命令会修改指定 inode 节点的属性。其中,`<field>` 可以是 `mode`、`uid`、`gid`、`atime`、`ctime`、`mtime`、`size` 等字段。 8. 修改数据块的内容 ``` debugfs: write <block> <file> ``` 这个命令会将指定文件的内容写入指定数据块中。 请注意,使用 `debugfs` 命令需要非常小心,因为不正确的操作可能会损坏文件系统。建议在进行任何修改之前先备份文件系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值