[RFC 1/8] Add kset to file_system_type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>

Creates the top level /sys/fs/<type> as a part of the kset.
Providing the ktype which would handle super_block entries will
be the responsibility of the FS modules.

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx>
---
 fs/filesystems.c   | 7 +++++++
 include/linux/fs.h | 4 +++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/fs/filesystems.c b/fs/filesystems.c
index c5618db..a47391f 100644
--- a/fs/filesystems.c
+++ b/fs/filesystems.c
@@ -81,6 +81,11 @@ int register_filesystem(struct file_system_type * fs)
 	else
 		*p = fs;
 	write_unlock(&file_systems_lock);
+	/* Filesystems to set sb_ktype only if they want
+	 * core to create the sysfs entries
+	 */
+	if (fs->sb_ktype)
+		fs->kset = kset_create_and_add(fs->name, NULL, fs_kobj);
 	return res;
 }
 
@@ -109,6 +114,8 @@ int unregister_filesystem(struct file_system_type * fs)
 			*tmp = fs->next;
 			fs->next = NULL;
 			write_unlock(&file_systems_lock);
+			if (fs->kset)
+				kset_unregister(fs->kset);
 			synchronize_rcu();
 			return 0;
 		}
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 70e61b5..019546b 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -35,6 +35,7 @@
 
 #include <asm/byteorder.h>
 #include <uapi/linux/fs.h>
+#include <linux/kobject.h>
 
 struct backing_dev_info;
 struct bdi_writeback;
@@ -42,7 +43,6 @@ struct export_operations;
 struct hd_geometry;
 struct iovec;
 struct kiocb;
-struct kobject;
 struct pipe_inode_info;
 struct poll_table_struct;
 struct kstatfs;
@@ -1996,6 +1996,8 @@ struct file_system_type {
 	struct lock_class_key i_lock_key;
 	struct lock_class_key i_mutex_key;
 	struct lock_class_key i_mutex_dir_key;
+	struct kobj_type *sb_ktype; /* how to handle super block's kobjects */
+	struct kset *kset; /* For /sys/fs/<type> */
 };
 
 #define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME)
-- 
2.6.6

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux