소스 검색

[PATCH] Add fs_subsys to enable filesystems to use sysfs

This creates an "fs" subdirectory in sysfs so that GFS2 (or any other
filesystem, come to that) can make use of sysfs.

Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
David Teigland 19 년 전
부모
커밋
fba7b94019
2개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      fs/namespace.c
  2. 3 0
      include/linux/fs.h

+ 5 - 0
fs/namespace.c

@@ -48,6 +48,10 @@ static int hash_mask __read_mostly, hash_bits __read_mostly;
 static kmem_cache_t *mnt_cache;
 static struct rw_semaphore namespace_sem;
 
+/* /sys/fs */
+decl_subsys(fs, NULL, NULL);
+EXPORT_SYMBOL_GPL(fs_subsys);
+
 static inline unsigned long hash(struct vfsmount *mnt, struct dentry *dentry)
 {
 	unsigned long tmp = ((unsigned long)mnt / L1_CACHE_BYTES);
@@ -1725,6 +1729,7 @@ void __init mnt_init(unsigned long mempages)
 		i--;
 	} while (i);
 	sysfs_init();
+	subsystem_register(&fs_subsys);
 	init_rootfs();
 	init_mount_tree();
 }

+ 3 - 0
include/linux/fs.h

@@ -1293,6 +1293,9 @@ extern int vfs_statfs(struct super_block *, struct kstatfs *);
 #define FLOCK_VERIFY_READ  1
 #define FLOCK_VERIFY_WRITE 2
 
+/* /sys/fs */
+extern struct subsystem fs_subsys;
+
 extern int locks_mandatory_locked(struct inode *);
 extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);