LIST_ENTRY(jbd_revoke_rec) revoke_node;
};
+struct jbd_block_rec {
+ ext4_fsblk_t lba;
+ RB_ENTRY(jbd_block_rec) block_rec_node;
+};
+
struct jbd_trans {
uint32_t trans_id;
- int buf_cnt;
- int revoke_cnt;
+ uint32_t start_iblock;
+ int alloc_blocks;
+ int data_cnt;
+ int written_cnt;
+ int error;
+
+ struct jbd_journal *journal;
+
LIST_HEAD(jbd_trans_buf, jbd_buf) buf_list;
LIST_HEAD(jbd_revoke_list, jbd_revoke_rec) revoke_list;
+ RB_HEAD(jbd_block, jbd_block_rec) block_rec_root;
TAILQ_ENTRY(jbd_trans) trans_node;
};
uint32_t start;
uint32_t last;
uint32_t trans_id;
+ uint32_t alloc_trans_id;
uint32_t block_size;
TAILQ_HEAD(jbd_trans_queue, jbd_trans) trans_queue;
+ TAILQ_HEAD(jbd_cp_queue, jbd_trans) cp_queue;
struct jbd_fs *jbd_fs;
};