sysfs, kernfs: replace sysfs_dirent->s_dir.kobj and ->s_attr.[bin_]attr with ->priv
A directory sysfs_dirent points to the associated kobj. A regular or bin file points to the associated [bin_]attribute. This patch replaces sysfs_dirent->s_dir.kobj and ->s_attr.[bin_]attr with void * ->priv. This is to prepare for kernfs interface so that sysfs can specify the private data in the same way for directories and files. This lower debuggability but not by much - the whole thing was overlaid in a union anyway. If debuggability becomes an issue, we can later add ->priv accessors which explicitly check for the sysfs_dirent type and performs casting. This patch doesn't introduce any behavior difference. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
45b4539309
commit
7c6e2d362c
@@ -223,7 +223,7 @@ int sysfs_rename_link_ns(struct kobject *kobj, struct kobject *targ,
|
||||
result = -EINVAL;
|
||||
if (sysfs_type(sd) != SYSFS_KOBJ_LINK)
|
||||
goto out;
|
||||
if (sd->s_symlink.target_sd->s_dir.kobj != targ)
|
||||
if (sd->s_symlink.target_sd->priv != targ)
|
||||
goto out;
|
||||
|
||||
result = kernfs_rename_ns(sd, parent_sd, new, new_ns);
|
||||
|
Reference in New Issue
Block a user