- 论坛徽章:
- 0
|
本帖最后由 wukui1008 于 2012-02-20 09:30 编辑
在sysfs中,删除一个kobj对应的目录sysfs_dirent时,只删除下面的文件,不删除下面的文件夹的吗???
void sysfs_remove_dir(struct kobject * kobj)
{
struct sysfs_dirent *sd = kobj->sd;
struct sysfs_addrm_cxt acxt;
struct sysfs_dirent **pos;
spin_lock(&sysfs_assoc_lock);
kobj->sd = NULL;
spin_unlock(&sysfs_assoc_lock);
if (!dir_sd)
return;
pr_debug("sysfs %s: removing dir\n", dir_sd->s_name);
sysfs_addrm_start(&acxt, dir_sd);
pos = &dir_sd->s_dir.children;
while (*pos) {
struct sysfs_dirent *sd = *pos;
if (sysfs_type(sd) != SYSFS_DIR)
//只删除非文件夹类型的sd??????
sysfs_remove_one(&acxt, sd);
else
pos = &(*pos)->s_sibling;
}
sysfs_addrm_finish(&acxt);
remove_dir(dir_sd);} |
|