文件系统的小例子
写了个内核模块小例子如下:枚举出pwd目录下文件。struct dentry *pwd = current->fs->pwd.dentry, *tmp;
list_for_each_entry(tmp, &pwd->d_subdirs, d_child) {
printk(KERN_ALERT "sub dir has : %s\n",tmp->d_name.name);
除了打印出该目录下的文件,还打印出了
2788.tmp
2788.o
2782.tmp
2782.o
等等好多这样的数字命名的文件。
而通过ll命令查看当前目录,
没有那样的数字命名的文件,请问怎么回事?
dentry->name不保证\0结尾,需要结合d-name.length来读。
%.*s, d.length, d.name
页:
[1]