如何从给定的 inode 获取路径名或 dentry 或结构文件?

2023-12-15

我需要知道如何获取路径名或dentry or struct file来自给定的索引节点。

我正在使用file_open获得struct file来自路径名,但总是引起内核恐慌。我需要一种方法来将我的 inode 列表中的 inode 与路径名中的 inode 进行比较,或者比较磁盘中的所有 inode 以找到相应的路径名,然后与我的 inode 列表进行比较。


此示例代码可以在 Linux 内核版本 2.6.xx 中正常运行

struct dentry *sample_dentry = NULL;
struct inode *tmp_inode = &inode_need_to_get;
struct list_head *tmp_list = NULL;
list_for_each(tmp_list, &(tmp_inode->i_dentry))
{
    sample_dentry = list_entry(tmp_list, struct dentry, d_alias);
    printk(KERN_EMERG, "name of file is %s\n", sample_dentry->d_iname);
}

每个 inode 对象都会有一个或多个 dentry 对象,以防该文件具有硬链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从给定的 inode 获取路径名或 dentry 或结构文件? 的相关文章

  • 对内核模块代码进行单元测试是否可行?

    如果是这样我应该使用什么技术 我正在考虑使用 hippomock 因为它们可以用来模拟 C 方法 还有更好的方法吗 如果是这样 任何人都可以提供建议 或者您认为内核的单元测试是否太过分了 从 Linux 内核版本 5 5 开始KUnit可用
  • 如何使用 conda 卸载 r-essentials?

    最近 我安装了r essentials using conda命令 conda install c r r essentials正如这个网址中所描述的 https anaconda org r r essentials https anac
  • 杀死 OpenCL 内核

    有没有办法通过 OpenCL API 终止正在运行的 OpenCL 内核 我在规范中没有找到任何内容 我能想到的唯一解决方案是 1 定期检查内核中主机希望内核停止时写入的标志 或 2 在单独的进程中运行内核并终止整个进程 我认为这两个都不是
  • 在 Mac OS X 中创建虚拟 USB 设备

    我尝试以编程方式在 Mac OS 中添加带有驱动程序的虚拟 USB 设备 IOKit 文档说 传统上 虚拟设备的驱动程序在 IOResources 上匹配 因为虚拟设备不发布自己的 nub 此类驱动程序的另一个示例是 HelloIOKit
  • dmesg 和 /var/log/kern.log 之间的区别

    我正在修改kvm模块 并在内核代码中添加了printk语句 运行虚拟机后 printk为我提供了错误地址和有关客户操作系统的其他信息 我需要根据此信息生成统计信息 当我使用 dmesg 时 我只能看到错误地址 在内核空间中 即它们的地址高于
  • Linux 内核:Spinlock SMP:为​​什么 spin_lock_irq SMP 版本中有 preempt_disable()?

    Linux内核中的原始代码是 static inline void raw spin lock irq raw spinlock t lock local irq disable preempt disable spin acquire l
  • Linux 中 NDIS 过滤器的类似物是什么?

    我正在研究一个as close to real time我在linux中尽可能地使用系统 并且需要在收到特定数据包后立即发送大约600 800字节的TCP数据包 为了获得最佳的延迟 我希望这个数据包直接从内核发送 而不是将接收到的数据包一直
  • 如何编写需要内核源头文件的 BitBake 驱动程序配方?

    介绍 我有一个do install我为驱动程序编写的 BitBake 配方中的任务 我在其中执行自定义install脚本 任务失败 因为安装脚本无法在其中找到内核源头文件
  • 从 Linux 内核模块的文件描述符获取文件名/路径?

    在Linux内核模块中 有没有一种方法可以从文件名 路径中获取文件名 路径 unsigned int fd 我知道这个答案 如何从内核模块内的文件描述符获取文件名 https stackoverflow com questions 8250
  • vm.dirty_ratio 和 vm.dirty_background_ratio 之间的区别?

    我目前正在试验中找到的内核参数 proc sys vm 尤其dirty ratio and dirty background ratio 内核文档对两者都有以下解释 脏背景比例 包含 以包含空闲页面的总可用内存的百分比表示 和可回收页 后台
  • 每个进程是否都存在内核堆栈?

    每个用户空间进程是否都存在一个内核堆栈和一个用户空间堆栈 如果两个堆栈都存在 那么每个用户空间进程应该有 2 个堆栈指针 对吗 在 Linux 中 每个任务 用户空间或内核线程 都有一个 8kb 或 4kb 的内核堆栈 具体取决于内核配置
  • Linux 源代码中的哪个位置会识别特定的 USB 设备?

    我有一个特定的 USB 设备 我想检查其 Linux 驱动程序源代码 我的理解是 USB 驱动程序执行的第一步是注册自己能够处理具有特定供应商 ID 和产品 ID 的设备 就我而言 供应商 ID 是0BDA产品 ID 是8187 有了这些信
  • Alsa 带有来自调制解调器的 PCM 接口

    我有一个基于 imx28 CPU 的定制板 CPU 的串行端口连接到调制解调器的 PCM 输出 我必须为调制解调器的 PCM 接口开发一个驱动程序 使其成为 ALSA SoC 的一部分 您能指出内核树 中与我的设置重新组合的一些驱动程序吗
  • 当IRQL下降时,Windows中如何触发软件中断?

    我知道对于硬件中断 当 KeAcquireInterruptSpinLock 调用 KeLowerIrql 时 HAL 会调整 LAPIC 中的中断掩码 这将允许自动服务排队的中断 可能在 IRR 中 但是对于软件中断 例如 ntdll d
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 如何在 Linux x86_64 上模拟 iret

    我正在编写一个基于 Intel VT 的调试器 由于当 NMI Exiting 1 时 iret 指令在 vmx guest 中的性能发生了变化 所以我应该自己处理vmx主机中的NMI 否则 guest会出现nmi可重入错误 我查了英特尔手
  • 是否从页面缓存中的脏页面进行文件读取?

    当字节写入文件时 内核不会立即将这些字节写入磁盘 而是将这些字节存储在页缓存中的脏页中 回写缓存 问题是 如果在脏页刷新到磁盘之前发出文件读取 则将从缓存中的脏页提供字节 还是首先将脏页刷新到磁盘 然后进行磁盘读取以提供字节 将它们存储在进
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 树莓派的设备树驱动内核

    我想用设备树驱动的 Linux 内核启动树莓派 有什么特别的事情要做吗 谁能指出为树莓派设置基于设备树的内核启动需要什么 我可能需要有树莓派内核源代码 其中设备驱动程序应与设备树兼容 如果是这样 我在哪里可以找到 Raspberry Pi
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem

随机推荐

  • wxPython 带有面板的框架的最小尺寸

    wxpython 2 8 11 0 python 2 7 如果我放一些Sizer一些控件直接进入Frame like import wx app wx App frm wx Frame None title title sizer wx B
  • 如何检查一个数组中的任何变量是否在另一个数组中

    我正在使用 MatLab 开发一个程序 该程序计算数字的幂 将它们加在一起 然后查看第一组数字 数字的幂 是否等于任何相加的数字的幂 我试图检查第一个数组中的每个值 但是 我得到如下输出 m 1 128 2187 16384 78125 2
  • Netsuite suitetalk 交易电子邮件,带有 pdf 附件介绍文本

    我使用 php 工具包和 netsuite 来添加带有 toBeEmailed 选项的销售订单 并且它登录的 api 用户具有首选项 交易电子邮件附件格式 gt PDF 这会将订单摘要制作为 pdf 并附加到电子邮件中并作为通知发送 我查看
  • Windows MessageBox 忽略 WM_CLOSE

    我们有一个遗留的 C Windows 应用程序 当发生致命连接错误时 它会通过 MessageBox 调用弹出一个模式窗口 我们的网络工程师可能会同时运行许多这样的应用程序 有时 网络故障会导致这些应用程序处理的连接同时失败 在 Windo
  • 从数组中删除重复项

    您好 我有一个使用此函数从 XML 文件创建的数组 LOCATIONS XML HANDLER creates array holding values of field selected from XML string xml param
  • 是否可以从 android 调用 WSHTTPBINDING?

    private static final String SOAP ACTION http tempuri org IService1 HelloTest private static final String METHOD NAME Hel
  • 如何使用 C# 禁用文本框上的复制、粘贴和删除功能

    有人可以建议如何使用 C 处理 WinForms 中文本框上的剪切 复制和粘贴事件吗 在 WinForms 中 禁用文本框上的剪切 复制和粘贴功能的最简单方法是将 ShortcutsEnabled 属性设置为 false
  • 如何在 MDX 中使用 UNION

    我想要UNION下面MDX询问 对于这两个查询 同一日期范围的度量和维度是不同的 请帮助我摆脱困境 SELECT NON EMPTY Measures Number of es2 ON COLUMNS NON EMPTY Date Year
  • 如何按升序对奇数数组进行排序,但将偶数保留在其位置?

    我只想对奇数进行排序而不移动偶数 例如 当我写 sortArray 5 3 2 8 1 4 预期结果是 1 3 2 8 5 4 我是 JavaScript 新手 在互联网上遇到了一个令我困惑的挑战 我通常不会在互联网上发布请求解决方案 但我
  • 带yield的递归函数不返回任何内容

    我正在尝试创建一个用于排列目的的生成器 我知道在 Python 中还有其他方法可以做到这一点 但这是为了别的事情 不幸的是 我无法产生这些值 你能帮我吗 def perm s p 0 ii 0 l len s s list s if l 1
  • HTML5 音频加载

    当音频标签准备好播放时如何获得回调 在实现我自己的控件时告诉用户 使用 Chrome 仅在视频元素上执行此操作 但它应该适用于音频 首先 你不能绑定事件 我不知道为什么这不起作用 所以必须使用setTimeout 使用 jQuery 的示例
  • boost 中的共享内存向量

    我有以下代码 尝试拥有一个具有字符串和数组结构的共享内存向量 但是当我编译代码时出现错误 usr local include boost container vector hpp 1819 4 error no matching funct
  • 在标题中隐藏类类型

    我不确定这是否可能 但这里是 我有一个库 其界面充其量是复杂的 不幸的是 它不仅是一个第三方库 而且太大而无法重写 而且我还使用了一些依赖于它的其他库 因此该界面必须保持原样 为了解决这个问题 我试图从本质上包装接口并将所有依赖项的接口捆绑
  • OPOS PosExplorer.GetDevice() 在 Windows 服务中执行时返回 null

    下面的代码片段利用 OPOS NET 打开 POS 打印机进行打印 当作为独立应用程序的一部分执行时 它工作得很好 当由 Windows 服务执行时 对 GetDevice 的调用始终返回 null explorer new PosExpl
  • Spring boot应用程序启动时如何缓存数据

    我有一个连接到 SQL Server 数据库的 Spring boot 应用程序 我需要一些帮助来在我的应用程序中使用缓存 我有一个 CodeCategory 表 其中包含许多代码的代码列表 该表将每月加载一次 并且数据每月仅更改一次 我想
  • Inno安装程序更改Setup.tmp的任务管理器描述

    我已经怀疑这是不可能的 并且可能是硬编码的 需要修改 Inno Setup 源代码 但是 Inno Setup 非常灵活 所以也许有办法吗 是否可以将与Setup exe 一起运行的Setup tmp 的Windows 任务管理器描述字段中
  • 在 Objective-C 中获取 NSURL 的一部分

    我有一个 NSString 其值为 http digg com news business 24hr 如何获得第三级之前的所有内容 http digg com news 请注意 这不完全是第三层 URL 的分割方式如下 协议或方案 这里 h
  • PHP 会话*并不总是*有效

    我最近将一堆网站迁移到新的 VPS 但 PHP 会话遇到了很多问题 所有网站的配置方式几乎相同 但有一个网站的会话并不总是有效 让我烦恼的是它是随机的 我可以访问该网站并登录 并且会话将正常工作 然后 我一小时后返回 尝试使用同一帐户登录
  • 更改 Firemonkey TListView 中的交替颜色

    将 tlistview 拖放到表单上并检查属性 AlternatingColors 为 true 默认情况下它将在列表视图上的所有其他项目上显示灰色背景 我的问题是现在有人如何将此颜色更改为其他颜色吗 Thanks 您需要编辑 TlistV
  • 如何从给定的 inode 获取路径名或 dentry 或结构文件?

    我需要知道如何获取路径名或dentry or struct file来自给定的索引节点 我正在使用file open获得struct file来自路径名 但总是引起内核恐慌 我需要一种方法来将我的 inode 列表中的 inode 与路径名