ocfs2: move some definitions to header file
Patch series "ocfs2: use kobject for online file check", v3. 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. The changed code is based on Goldwyn Rodrigues's patches and ext4 fs code, there is not any new features added, except some very small fixes during this code refactoring. Second, the code change does not affect the underlying file check code. Thank Goldwyn very much. Compare with second version, add more comments in the patch descriptions, to make sure each modification is mentioned. Compare with first version, split the code change into four patches, make sure each patch will not bring ocfs2 kernel modules compiling errors. This patch (of 3): Move some definitions to header file, which will be referenced by other source files when kobject mechanism is introduced. Link: http://lkml.kernel.org/r/1495611866-27360-2-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>
This commit is contained in:
parent
baa31b89b0
commit
5ac9438619
|
@ -56,33 +56,6 @@ static const char * const ocfs2_filecheck_errs[] = {
|
|||
static DEFINE_SPINLOCK(ocfs2_filecheck_sysfs_lock);
|
||||
static LIST_HEAD(ocfs2_filecheck_sysfs_list);
|
||||
|
||||
struct ocfs2_filecheck {
|
||||
struct list_head fc_head; /* File check entry list head */
|
||||
spinlock_t fc_lock;
|
||||
unsigned int fc_max; /* Maximum number of entry in list */
|
||||
unsigned int fc_size; /* Current entry count in list */
|
||||
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
|
||||
|
||||
/* File check operation type */
|
||||
enum {
|
||||
OCFS2_FILECHECK_TYPE_CHK = 0, /* Check a file(inode) */
|
||||
OCFS2_FILECHECK_TYPE_FIX, /* Fix a file(inode) */
|
||||
OCFS2_FILECHECK_TYPE_SET = 100 /* Set entry list maximum size */
|
||||
};
|
||||
|
||||
struct ocfs2_filecheck_entry {
|
||||
struct list_head fe_list;
|
||||
unsigned long fe_ino;
|
||||
|
|
|
@ -43,6 +43,33 @@ enum {
|
|||
#define OCFS2_FILECHECK_ERR_START OCFS2_FILECHECK_ERR_FAILED
|
||||
#define OCFS2_FILECHECK_ERR_END OCFS2_FILECHECK_ERR_UNSUPPORTED
|
||||
|
||||
struct ocfs2_filecheck {
|
||||
struct list_head fc_head; /* File check entry list head */
|
||||
spinlock_t fc_lock;
|
||||
unsigned int fc_max; /* Maximum number of entry in list */
|
||||
unsigned int fc_size; /* Current entry count in list */
|
||||
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
|
||||
|
||||
/* File check operation type */
|
||||
enum {
|
||||
OCFS2_FILECHECK_TYPE_CHK = 0, /* Check a file(inode) */
|
||||
OCFS2_FILECHECK_TYPE_FIX, /* Fix a file(inode) */
|
||||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue