在我的Linux内核模块的代码中,我创建了一个kobject
,它成为/ sys /目录中的一个目录,然后在其中创建一个sysfs
文件。所以它看起来像/ sys / KobjName / SysfsFile。这是kobject
目录中唯一的文件,执行sysfs
命令后将删除kobject
文件和rmmod moduleX
。
目前我的moduleX
的clean_up代码看起来像
static void cleanup(void)
{
/* Remove test file */
if (file_ok)
sysfs_remove_file(kobj, &attributes.attr);
/* Remove /sys/ddttest directory */
if (kobj)
kobject_put(kobj);
}
其中file_ok
是0或1的整数,表示执行的sysfs_create_file(kobj, &attributes.attr)
函数是否已更正(例如,是否创建了文件)。
我现在的问题是,如果在删除sysfs
之前删除kobject
文件甚至是必要的。在用户空间中导航文件系统时,可以简单地删除目录,这将删除其中的所有文件。那是内核空间中kobject
文件系统的情况吗?