aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2014-02-21 10:22:35 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2014-02-24 11:54:54 -0500
commitd69a3c6561362a53d1be908ca343d899161d602c (patch)
tree8e9827ef9c25a21fab641dcaf263f84b026d535e /fs/gfs2/incore.h
parent654a6d2f962edb7bf85973cfe93a04e24f56f902 (diff)
GFS2: Move log buffer lists into transaction
Over time, we hope to be able to improve the concurrency available in the log code. This is one small step towards that, by moving the buffer lists from the super block, and into the transaction structure, so that each transaction builds its own buffer lists. At transaction commit time, the buffer lists are merged into the currently accumulating transaction. That transaction then is passed into the before and after commit functions at journal flush time. Thus there should be no change in overall behaviour yet. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 645655cccdc8..99aab64c771a 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -52,7 +52,7 @@ struct gfs2_log_header_host {
52 */ 52 */
53 53
54struct gfs2_log_operations { 54struct gfs2_log_operations {
55 void (*lo_before_commit) (struct gfs2_sbd *sdp); 55 void (*lo_before_commit) (struct gfs2_sbd *sdp, struct gfs2_trans *tr);
56 void (*lo_after_commit) (struct gfs2_sbd *sdp, struct gfs2_trans *tr); 56 void (*lo_after_commit) (struct gfs2_sbd *sdp, struct gfs2_trans *tr);
57 void (*lo_before_scan) (struct gfs2_jdesc *jd, 57 void (*lo_before_scan) (struct gfs2_jdesc *jd,
58 struct gfs2_log_header_host *head, int pass); 58 struct gfs2_log_header_host *head, int pass);
@@ -476,6 +476,8 @@ struct gfs2_trans {
476 unsigned int tr_num_revoke_rm; 476 unsigned int tr_num_revoke_rm;
477 477
478 struct list_head tr_list; 478 struct list_head tr_list;
479 struct list_head tr_databuf;
480 struct list_head tr_buf;
479 481
480 unsigned int tr_first; 482 unsigned int tr_first;
481 struct list_head tr_ail1_list; 483 struct list_head tr_ail1_list;
@@ -756,9 +758,7 @@ struct gfs2_sbd {
756 unsigned int sd_log_num_rg; 758 unsigned int sd_log_num_rg;
757 unsigned int sd_log_num_databuf; 759 unsigned int sd_log_num_databuf;
758 760
759 struct list_head sd_log_le_buf;
760 struct list_head sd_log_le_revoke; 761 struct list_head sd_log_le_revoke;
761 struct list_head sd_log_le_databuf;
762 struct list_head sd_log_le_ordered; 762 struct list_head sd_log_le_ordered;
763 spinlock_t sd_ordered_lock; 763 spinlock_t sd_ordered_lock;
764 764