Lines Matching refs:tr
31 struct gfs2_trans *tr; in gfs2_trans_begin() local
40 tr = kzalloc(sizeof(struct gfs2_trans), GFP_NOFS); in gfs2_trans_begin()
41 if (!tr) in gfs2_trans_begin()
44 tr->tr_ip = _RET_IP_; in gfs2_trans_begin()
45 tr->tr_blocks = blocks; in gfs2_trans_begin()
46 tr->tr_revokes = revokes; in gfs2_trans_begin()
47 tr->tr_reserved = 1; in gfs2_trans_begin()
48 set_bit(TR_ALLOCED, &tr->tr_flags); in gfs2_trans_begin()
50 tr->tr_reserved += 6 + blocks; in gfs2_trans_begin()
52 tr->tr_reserved += gfs2_struct2blk(sdp, revokes, in gfs2_trans_begin()
54 INIT_LIST_HEAD(&tr->tr_databuf); in gfs2_trans_begin()
55 INIT_LIST_HEAD(&tr->tr_buf); in gfs2_trans_begin()
56 INIT_LIST_HEAD(&tr->tr_ail1_list); in gfs2_trans_begin()
57 INIT_LIST_HEAD(&tr->tr_ail2_list); in gfs2_trans_begin()
61 error = gfs2_log_reserve(sdp, tr->tr_reserved); in gfs2_trans_begin()
65 current->journal_info = tr; in gfs2_trans_begin()
71 kfree(tr); in gfs2_trans_begin()
76 static void gfs2_print_trans(struct gfs2_sbd *sdp, const struct gfs2_trans *tr) in gfs2_print_trans() argument
78 fs_warn(sdp, "Transaction created at: %pSR\n", (void *)tr->tr_ip); in gfs2_print_trans()
80 tr->tr_blocks, tr->tr_revokes, tr->tr_reserved, in gfs2_print_trans()
81 test_bit(TR_TOUCHED, &tr->tr_flags)); in gfs2_print_trans()
83 tr->tr_num_buf_new, tr->tr_num_buf_rm, in gfs2_print_trans()
84 tr->tr_num_databuf_new, tr->tr_num_databuf_rm, in gfs2_print_trans()
85 tr->tr_num_revoke); in gfs2_print_trans()
90 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_end() local
92 int alloced = test_bit(TR_ALLOCED, &tr->tr_flags); in gfs2_trans_end()
96 if (!test_bit(TR_TOUCHED, &tr->tr_flags)) { in gfs2_trans_end()
97 gfs2_log_release(sdp, tr->tr_reserved); in gfs2_trans_end()
99 kfree(tr); in gfs2_trans_end()
105 nbuf = tr->tr_num_buf_new + tr->tr_num_databuf_new; in gfs2_trans_end()
106 nbuf -= tr->tr_num_buf_rm; in gfs2_trans_end()
107 nbuf -= tr->tr_num_databuf_rm; in gfs2_trans_end()
109 if (gfs2_assert_withdraw(sdp, (nbuf <= tr->tr_blocks) && in gfs2_trans_end()
110 (tr->tr_num_revoke <= tr->tr_revokes))) in gfs2_trans_end()
111 gfs2_print_trans(sdp, tr); in gfs2_trans_end()
113 gfs2_log_commit(sdp, tr); in gfs2_trans_end()
114 if (alloced && !test_bit(TR_ATTACHED, &tr->tr_flags)) in gfs2_trans_end()
115 kfree(tr); in gfs2_trans_end()
154 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_add_data() local
160 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_data()
176 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_data()
181 tr->tr_num_databuf_new++; in gfs2_trans_add_data()
182 list_add_tail(&bd->bd_list, &tr->tr_databuf); in gfs2_trans_add_data()
195 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_add_meta() local
200 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_meta()
218 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_meta()
237 list_add(&bd->bd_list, &tr->tr_buf); in gfs2_trans_add_meta()
238 tr->tr_num_buf_new++; in gfs2_trans_add_meta()
247 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_add_revoke() local
251 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_revoke()
252 tr->tr_num_revoke++; in gfs2_trans_add_revoke()
258 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_remove_revoke() local
270 tr->tr_num_revoke--; in gfs2_trans_remove_revoke()