sysfs: make kobj point to sysfs_dirent instead of dentry
As kobj sysfs dentries and inodes are gonna be made reclaimable, dentry can't be used as naming token for sysfs file/directory, replace kobj->dentry with kobj->sd. The only external interface change is shadow directory handling. All other changes are contained in kobj and sysfs. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
此提交包含在:
@@ -69,12 +69,14 @@ extern void sysfs_attach_dirent(struct sysfs_dirent *sd,
|
||||
struct sysfs_dirent *parent_sd,
|
||||
struct dentry *dentry);
|
||||
|
||||
extern int sysfs_add_file(struct dentry *, const struct attribute *, int);
|
||||
extern int sysfs_hash_and_remove(struct dentry * dir, const char * name);
|
||||
extern int sysfs_add_file(struct sysfs_dirent *dir_sd,
|
||||
const struct attribute *attr, int type);
|
||||
extern int sysfs_hash_and_remove(struct sysfs_dirent *dir_sd, const char *name);
|
||||
extern struct sysfs_dirent *sysfs_find(struct sysfs_dirent *dir, const char * name);
|
||||
|
||||
extern int sysfs_create_subdir(struct kobject *, const char *, struct dentry **);
|
||||
extern void sysfs_remove_subdir(struct dentry *);
|
||||
extern int sysfs_create_subdir(struct kobject *kobj, const char *name,
|
||||
struct sysfs_dirent **p_sd);
|
||||
extern void sysfs_remove_subdir(struct sysfs_dirent *sd);
|
||||
|
||||
extern void sysfs_drop_dentry(struct sysfs_dirent *sd);
|
||||
extern int sysfs_setattr(struct dentry *dentry, struct iattr *iattr);
|
||||
|
新增問題並參考
封鎖使用者