diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2012-04-16 11:40:56 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2012-04-24 11:44:36 -0400 |
commit | c50b91c4bd511dfe844e2aa7be429b6b88406353 (patch) | |
tree | 0a9584ec238036b599bb717db5bd1a7df5c616ca /fs/gfs2/trans.c | |
parent | dad30e9031c5927c30b402f73ac57ffbe09dc9ee (diff) |
GFS2: Remove bd_list_tr
This is another clean up in the logging code. This per-transaction
list was largely unused. Its main function was to ensure that the
number of buffers in a transaction was correct, however that counter
was only used to check the number of buffers in the bd_list_tr, plus
an assert at the end of each transaction. With the assert now changed
to use the calculated buffer counts, we can remove both bd_list_tr and
its associated counter.
This should make the code easier to understand as well as shrinking
a couple of structures.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/trans.c')
-rw-r--r-- | fs/gfs2/trans.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c index 86ac75d99d31..8fb631769172 100644 --- a/fs/gfs2/trans.c +++ b/fs/gfs2/trans.c | |||
@@ -50,8 +50,6 @@ int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks, | |||
50 | if (revokes) | 50 | if (revokes) |
51 | tr->tr_reserved += gfs2_struct2blk(sdp, revokes, | 51 | tr->tr_reserved += gfs2_struct2blk(sdp, revokes, |
52 | sizeof(u64)); | 52 | sizeof(u64)); |
53 | INIT_LIST_HEAD(&tr->tr_list_buf); | ||
54 | |||
55 | gfs2_holder_init(sdp->sd_trans_gl, LM_ST_SHARED, 0, &tr->tr_t_gh); | 53 | gfs2_holder_init(sdp->sd_trans_gl, LM_ST_SHARED, 0, &tr->tr_t_gh); |
56 | 54 | ||
57 | error = gfs2_glock_nq(&tr->tr_t_gh); | 55 | error = gfs2_glock_nq(&tr->tr_t_gh); |
@@ -93,10 +91,21 @@ static void gfs2_log_release(struct gfs2_sbd *sdp, unsigned int blks) | |||
93 | up_read(&sdp->sd_log_flush_lock); | 91 | up_read(&sdp->sd_log_flush_lock); |
94 | } | 92 | } |
95 | 93 | ||
94 | static void gfs2_print_trans(const struct gfs2_trans *tr) | ||
95 | { | ||
96 | print_symbol(KERN_WARNING "GFS2: Transaction created at: %s\n", tr->tr_ip); | ||
97 | printk(KERN_WARNING "GFS2: blocks=%u revokes=%u reserved=%u touched=%d\n", | ||
98 | tr->tr_blocks, tr->tr_revokes, tr->tr_reserved, tr->tr_touched); | ||
99 | printk(KERN_WARNING "GFS2: Buf %u/%u Databuf %u/%u Revoke %u/%u\n", | ||
100 | tr->tr_num_buf_new, tr->tr_num_buf_rm, | ||
101 | tr->tr_num_databuf_new, tr->tr_num_databuf_rm, | ||
102 | tr->tr_num_revoke, tr->tr_num_revoke_rm); | ||
103 | } | ||
104 | |||
96 | void gfs2_trans_end(struct gfs2_sbd *sdp) | 105 | void gfs2_trans_end(struct gfs2_sbd *sdp) |
97 | { | 106 | { |
98 | struct gfs2_trans *tr = current->journal_info; | 107 | struct gfs2_trans *tr = current->journal_info; |
99 | 108 | s64 nbuf; | |
100 | BUG_ON(!tr); | 109 | BUG_ON(!tr); |
101 | current->journal_info = NULL; | 110 | current->journal_info = NULL; |
102 | 111 | ||
@@ -110,16 +119,13 @@ void gfs2_trans_end(struct gfs2_sbd *sdp) | |||
110 | return; | 119 | return; |
111 | } | 120 | } |
112 | 121 | ||
113 | if (gfs2_assert_withdraw(sdp, tr->tr_num_buf <= tr->tr_blocks)) { | 122 | nbuf = tr->tr_num_buf_new + tr->tr_num_databuf_new; |
114 | fs_err(sdp, "tr_num_buf = %u, tr_blocks = %u ", | 123 | nbuf -= tr->tr_num_buf_rm; |
115 | tr->tr_num_buf, tr->tr_blocks); | 124 | nbuf -= tr->tr_num_databuf_rm; |
116 | print_symbol(KERN_WARNING "GFS2: Transaction created at: %s\n", tr->tr_ip); | 125 | |
117 | } | 126 | if (gfs2_assert_withdraw(sdp, (nbuf <= tr->tr_blocks) && |
118 | if (gfs2_assert_withdraw(sdp, tr->tr_num_revoke <= tr->tr_revokes)) { | 127 | (tr->tr_num_revoke <= tr->tr_revokes))) |
119 | fs_err(sdp, "tr_num_revoke = %u, tr_revokes = %u ", | 128 | gfs2_print_trans(tr); |
120 | tr->tr_num_revoke, tr->tr_revokes); | ||
121 | print_symbol(KERN_WARNING "GFS2: Transaction created at: %s\n", tr->tr_ip); | ||
122 | } | ||
123 | 129 | ||
124 | gfs2_log_commit(sdp, tr); | 130 | gfs2_log_commit(sdp, tr); |
125 | if (tr->tr_t_gh.gh_gl) { | 131 | if (tr->tr_t_gh.gh_gl) { |