sysfs: reorganize sysfs_new_indoe() and sysfs_create()
Reorganize/clean up sysfs_new_inode() and sysfs_create(). * sysfs_init_inode() is separated out from sysfs_new_inode() and is responsible for basic initialization. * sysfs_instantiate() replaces the last step of sysfs_create() and is responsible for dentry instantitaion. * type-specific initialization is moved out to the callers. * mode is specified only once when creating a sysfs_dirent. * spurious list_del_init(&sd->s_sibling) dropped from create_dir() This change is to * prepare for inode allocation fix. * separate alloc and init code for synchronization update. * make dentry/inode initialization more flexible for later changes. This patch doesn't introduce visible behavior change. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
7f7cfffe60
commit
fc9f54b998
@@ -57,9 +57,9 @@ extern struct vfsmount * sysfs_mount;
|
||||
extern struct kmem_cache *sysfs_dir_cachep;
|
||||
|
||||
extern void sysfs_delete_inode(struct inode *inode);
|
||||
extern struct inode * sysfs_new_inode(mode_t mode, struct sysfs_dirent *);
|
||||
extern int sysfs_create(struct sysfs_dirent *sd, struct dentry *dentry,
|
||||
int mode, int (*init)(struct inode *));
|
||||
extern void sysfs_init_inode(struct sysfs_dirent *sd, struct inode *inode);
|
||||
extern struct inode * sysfs_new_inode(struct sysfs_dirent *sd);
|
||||
extern void sysfs_instantiate(struct dentry *dentry, struct inode *inode);
|
||||
|
||||
extern void release_sysfs_dirent(struct sysfs_dirent * sd);
|
||||
extern int sysfs_dirent_exist(struct sysfs_dirent *, const unsigned char *);
|
||||
|
Reference in New Issue
Block a user