configfs是一个很有用的接口,可以通过创建文件和创建夹开启和关闭相应的。同时可以通过相应的文件创建相应的属性。
开启支持要使用configfs需要在内核开启CONFIG_CONFIGFS特性
相关API和数据结构config_group_init(struct config_group *);
configfs_register_subsystem(struct configfs_subsystem *subsys);
configfs_unregister_subsystem(struct configfs_subsystem *subsys);
实验代码static struct config_group *testfs_make(struct config_group *group, const char *name)
{}
static void testfs_drop(struct config_group *group, struct config_item *item)
{config_item_put(item);
}
static struct configfs_group_operations testfs_ops = {.make_group = &testfs_make,
.drop_item = &testfs_drop,
};
static struct configfs_item_type testfs_type = {.ct_group_ops = &testfs_ops,
.ct_owner = THIS_MODULE,
};
static struct configfs_subsystem testfs_subsys = {.su_group = { .cg_item = {.ci_namedbuf = "test",
.ci_type = &testfs,
},
.su_mutex = __MUTEX_INITIALIZER(testfs_subsys.su_mutex),
};
static int __init testfs_init(void)
{config_group_init(&testfs_subsys.su_group);
return configfs_register_subsystem(&testfs_subsys);
}
static void __exit testfs_exit(void)
{configfs_unregister_subsystem(&testfs_subsys);
}
module_init(testfs_init);
module_exit(testfs_exit);
以上代码是一个最基本的功能测试代码
测试mkdir config创建一个文件夹,该文件夹用于挂configfs,也可以使用内核默认的位置/sys/kernel/config
mount -t configfs nodev config
上述代码正常工作的情况下,config目录会有一个test文件夹
代码简要说明testfs_ops对应的是在test目录mkdir,rmdir操作。
mkdir操作会调用testfs_make函数,该函数需要返回config_group类型的指针。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
10年积累的成都做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有平塘免费网站建设让你可以放心的选择与我们合作。