Messages in this thread Patch in this message | | | Subject | Re: [PATCH] PCI and sysfs fixes for 2.5.74 | From | Greg KH <> | Date | Thu, 3 Jul 2003 19:09:14 -0700 |
| |
ChangeSet 1.1374, 2003/07/03 17:43:18-07:00, greg@kroah.com
[PATCH] sysfs: add sysfs_rename_dir() Based on a patch written by Dan Aloni <da-x@gmx.net>
fs/sysfs/dir.c | 22 ++++++++++++++++++++++ include/linux/sysfs.h | 3 +++ 2 files changed, 25 insertions(+)
diff -Nru a/fs/sysfs/dir.c b/fs/sysfs/dir.c --- a/fs/sysfs/dir.c Thu Jul 3 18:15:51 2003 +++ b/fs/sysfs/dir.c Thu Jul 3 18:15:51 2003 @@ -121,7 +121,29 @@ dput(parent); } +void sysfs_rename_dir(struct kobject * kobj, char *new_name) +{ + struct dentry * new_dentry, * parent; + + if (!strcmp(kobj->name, new_name)) + return; + + if (!kobj->parent) + return; + + parent = kobj->parent->dentry; + + down(&parent->d_inode->i_sem); + + new_dentry = sysfs_get_dentry(parent, new_name); + d_move(kobj->dentry, new_dentry); + + strlcpy(kobj->name, new_name, KOBJ_NAME_LEN); + + up(&parent->d_inode->i_sem); +} EXPORT_SYMBOL(sysfs_create_dir); EXPORT_SYMBOL(sysfs_remove_dir); +EXPORT_SYMBOL(sysfs_rename_dir); diff -Nru a/include/linux/sysfs.h b/include/linux/sysfs.h --- a/include/linux/sysfs.h Thu Jul 3 18:15:51 2003 +++ b/include/linux/sysfs.h Thu Jul 3 18:15:51 2003 @@ -39,6 +39,9 @@ extern void sysfs_remove_dir(struct kobject *); +extern void +sysfs_rename_dir(struct kobject *, char *new_name); + extern int sysfs_create_file(struct kobject *, struct attribute *); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |