Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
[firefly-linux-kernel-4.4.55.git] / fs / gfs2 / incore.h
index cf0e34400f71e5588ffb476fa3f4667012e218f9..bdf70c18610cfafd26d8d475e7ea939d54487a44 100644 (file)
@@ -52,7 +52,7 @@ struct gfs2_log_header_host {
  */
 
 struct gfs2_log_operations {
-       void (*lo_before_commit) (struct gfs2_sbd *sdp);
+       void (*lo_before_commit) (struct gfs2_sbd *sdp, struct gfs2_trans *tr);
        void (*lo_after_commit) (struct gfs2_sbd *sdp, struct gfs2_trans *tr);
        void (*lo_before_scan) (struct gfs2_jdesc *jd,
                                struct gfs2_log_header_host *head, int pass);
@@ -371,6 +371,7 @@ enum {
        GIF_ALLOC_FAILED        = 2,
        GIF_SW_PAGED            = 3,
        GIF_ORDERED             = 4,
+       GIF_FREE_VFS_INODE      = 5,
 };
 
 struct gfs2_inode {
@@ -462,11 +463,11 @@ struct gfs2_trans {
        unsigned int tr_blocks;
        unsigned int tr_revokes;
        unsigned int tr_reserved;
+       unsigned int tr_touched:1;
+       unsigned int tr_attached:1;
 
        struct gfs2_holder tr_t_gh;
 
-       int tr_touched;
-       int tr_attached;
 
        unsigned int tr_num_buf_new;
        unsigned int tr_num_databuf_new;
@@ -476,6 +477,8 @@ struct gfs2_trans {
        unsigned int tr_num_revoke_rm;
 
        struct list_head tr_list;
+       struct list_head tr_databuf;
+       struct list_head tr_buf;
 
        unsigned int tr_first;
        struct list_head tr_ail1_list;
@@ -483,7 +486,7 @@ struct gfs2_trans {
 };
 
 struct gfs2_journal_extent {
-       struct list_head extent_list;
+       struct list_head list;
 
        unsigned int lblock; /* First logical block */
        u64 dblock; /* First disk block */
@@ -493,6 +496,7 @@ struct gfs2_journal_extent {
 struct gfs2_jdesc {
        struct list_head jd_list;
        struct list_head extent_list;
+       unsigned int nr_extents;
        struct work_struct jd_work;
        struct inode *jd_inode;
        unsigned long jd_flags;
@@ -500,6 +504,15 @@ struct gfs2_jdesc {
        unsigned int jd_jid;
        unsigned int jd_blocks;
        int jd_recover_error;
+       /* Replay stuff */
+
+       unsigned int jd_found_blocks;
+       unsigned int jd_found_revokes;
+       unsigned int jd_replayed_blocks;
+
+       struct list_head jd_revoke_list;
+       unsigned int jd_replay_tail;
+
 };
 
 struct gfs2_statfs_change_host {
@@ -746,19 +759,12 @@ struct gfs2_sbd {
 
        struct gfs2_trans *sd_log_tr;
        unsigned int sd_log_blks_reserved;
-       unsigned int sd_log_commited_buf;
-       unsigned int sd_log_commited_databuf;
        int sd_log_commited_revoke;
 
        atomic_t sd_log_pinned;
-       unsigned int sd_log_num_buf;
        unsigned int sd_log_num_revoke;
-       unsigned int sd_log_num_rg;
-       unsigned int sd_log_num_databuf;
 
-       struct list_head sd_log_le_buf;
        struct list_head sd_log_le_revoke;
-       struct list_head sd_log_le_databuf;
        struct list_head sd_log_le_ordered;
        spinlock_t sd_ordered_lock;
 
@@ -786,15 +792,6 @@ struct gfs2_sbd {
        struct list_head sd_ail1_list;
        struct list_head sd_ail2_list;
 
-       /* Replay stuff */
-
-       struct list_head sd_revoke_list;
-       unsigned int sd_replay_tail;
-
-       unsigned int sd_found_blocks;
-       unsigned int sd_found_revokes;
-       unsigned int sd_replayed_blocks;
-
        /* For quiescing the filesystem */
        struct gfs2_holder sd_freeze_gh;