gpt4 book ai didi

比较两个结构文件(Linux 内核)

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:19 34 4
gpt4 key购买 nike

看一下struct file 定义from this code Linux 内核版本 2.6.18。

我正在尝试比较代码中的两个 struct file 变量,并确定它们是否指的是同一个文件。该结构中是否有任何唯一标识符可以帮助我进行比较?或者是否有可用的辅助函数?

最佳答案

Joachim 走在正确的轨道上,但除了 inode 编号之外,还必须比较其设备,因为每个文件系统可能都有一个 inode 1、inode 2...:

if (f1->f_dentry.d_inode == f2->f_dentry.d_inode  &&
!strcmp (f1->f_vfsmnt->mnt_devname, f2->f_vfsmnt->mnt_devname))
// it is the exact same file

我以为有一个主要/次要设备 ID,但我找不到它。因此比较设备名称 (/dev/dsk/hda1) 是确定性的,即使不是那么快。

关于比较两个结构文件(Linux 内核),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9288326/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com