Re: [PATCH] PCI and sysfs fixes for 2.5.74

From: Greg KH (greg@kroah.com)
Date: Thu Jul 03 2003 - 21:09:14 EST


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/



This archive was generated by hypermail 2b29 : Mon Jul 07 2003 - 22:00:22 EST