Messages in this thread Patch in this message | | | Subject | [PATCH] fix the sysfs_add_file_to_group interfaces | From | James Bottomley <> | Date | Wed, 02 Jan 2008 18:44:05 -0600 |
| |
I can't see a reason why these shouldn't work on every group. However, they only seem to work on named groups. This patch allows the group functions to work on anonymous groups (those with NULL names).
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
---
Again, this is something that's needed by the code to convert the SCSI transport classes to groups (because we currently have the attributes set up as anonymous groups on class devices). So, taking this via the SCSI tree would be appreciated.
Thanks,
James
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index 4045bdc..b834f17 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -568,7 +568,11 @@ int sysfs_add_file_to_group(struct kobject *kobj, struct sysfs_dirent *dir_sd; int error; - dir_sd = sysfs_get_dirent(kobj->sd, group); + if (group) + dir_sd = sysfs_get_dirent(kobj->sd, group); + else + dir_sd = sysfs_get(kobj->sd); + if (!dir_sd) return -ENOENT; @@ -656,7 +660,10 @@ void sysfs_remove_file_from_group(struct kobject *kobj, { struct sysfs_dirent *dir_sd; - dir_sd = sysfs_get_dirent(kobj->sd, group); + if (group) + dir_sd = sysfs_get_dirent(kobj->sd, group); + else + dir_sd = sysfs_get(kobj->sd); if (dir_sd) { sysfs_hash_and_remove(dir_sd, attr->name); sysfs_put(dir_sd);
| |