gpt4 book ai didi

Linux 内核——刷新 VFS Dentry 缓存

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:01:33 28 4
gpt4 key购买 nike

我编写了一个系统调用来打开一个目录并获取文件对象和 dentry 结构。我正在尝试使用 list_for_each() 宏列出所有条目,包括子目录中的条目。问题是它只显示当前在 dentry 缓存中的内容。如果我用 nautilus 打开目录然后重新运行系统调用,则会列出所有条目。有没有办法检查确切的条目列表或刷新缓存?

f = s_open(tpath);

fle = fget(f);
d = fle->f_path.dentry;
list_for_each ( dentry ) {
...
}
sys_close(f);

最佳答案

为什么要使用系统调用来读取目录的内容?听起来你真的应该在用户区,然后你应该使用像 opendir 这样的东西。

关于Linux 内核——刷新 VFS Dentry 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706688/

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