summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/filecheck.h
diff options
context:
space:
mode:
authorGang He2018-04-06 01:19:29 +0200
committerLinus Torvalds2018-04-06 06:36:22 +0200
commit5f483c4abb507d068b326f24e4ea3481db9cda06 (patch)
tree57d6f96a5d67e5a899c88f92e76263d4bd05acee /fs/ocfs2/filecheck.h
parentocfs2: fix some small problems (diff)
downloadkernel-qcow2-linux-5f483c4abb507d068b326f24e4ea3481db9cda06.tar.gz
kernel-qcow2-linux-5f483c4abb507d068b326f24e4ea3481db9cda06.tar.xz
kernel-qcow2-linux-5f483c4abb507d068b326f24e4ea3481db9cda06.zip
ocfs2: add kobject for online file check
Use embedded kobject mechanism for online file check feature, this will avoid to use a global list to save/search per-device online file check related data, meanwhile, reduce the code lines and make the code logic clear. The changed code is based on Goldwyn Rodrigues's patches and ext4 fs code. Link: http://lkml.kernel.org/r/1495611866-27360-4-git-send-email-ghe@suse.com Signed-off-by: Gang He <ghe@suse.com> Cc: Mark Fasheh <mark@fasheh.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Cc: Joseph Qi <jiangqi903@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/ocfs2/filecheck.h')
-rw-r--r--fs/ocfs2/filecheck.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/fs/ocfs2/filecheck.h b/fs/ocfs2/filecheck.h
index af1678b620a4..6a22ee79e8d0 100644
--- a/fs/ocfs2/filecheck.h
+++ b/fs/ocfs2/filecheck.h
@@ -51,15 +51,6 @@ struct ocfs2_filecheck {
unsigned int fc_done; /* Finished entry count in list */
};
-struct ocfs2_filecheck_sysfs_entry { /* sysfs entry per mounting */
- struct list_head fs_list;
- atomic_t fs_count;
- struct super_block *fs_sb;
- struct kset *fs_devicekset;
- struct kset *fs_fcheckkset;
- struct ocfs2_filecheck *fs_fcheck;
-};
-
#define OCFS2_FILECHECK_MAXSIZE 100
#define OCFS2_FILECHECK_MINSIZE 10
@@ -70,7 +61,14 @@ enum {
OCFS2_FILECHECK_TYPE_SET = 100 /* Set entry list maximum size */
};
-int ocfs2_filecheck_create_sysfs(struct super_block *sb);
-int ocfs2_filecheck_remove_sysfs(struct super_block *sb);
+struct ocfs2_filecheck_sysfs_entry { /* sysfs entry per partition */
+ struct kobject fs_kobj;
+ struct completion fs_kobj_unregister;
+ struct ocfs2_filecheck *fs_fcheck;
+};
+
+
+int ocfs2_filecheck_create_sysfs(struct ocfs2_super *osb);
+void ocfs2_filecheck_remove_sysfs(struct ocfs2_super *osb);
#endif /* FILECHECK_H */