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()
59 error = gfs2_log_reserve(sdp, tr->tr_reserved); in gfs2_trans_begin()
63 current->journal_info = tr; in gfs2_trans_begin()
69 kfree(tr); in gfs2_trans_begin()
74 static void gfs2_print_trans(struct gfs2_sbd *sdp, const struct gfs2_trans *tr) in gfs2_print_trans() argument
76 fs_warn(sdp, "Transaction created at: %pSR\n", (void *)tr->tr_ip); in gfs2_print_trans()
78 tr->tr_blocks, tr->tr_revokes, tr->tr_reserved, in gfs2_print_trans()
79 test_bit(TR_TOUCHED, &tr->tr_flags)); in gfs2_print_trans()
81 tr->tr_num_buf_new, tr->tr_num_buf_rm, in gfs2_print_trans()
82 tr->tr_num_databuf_new, tr->tr_num_databuf_rm, in gfs2_print_trans()
83 tr->tr_num_revoke); in gfs2_print_trans()
88 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_end() local
90 int alloced = test_bit(TR_ALLOCED, &tr->tr_flags); in gfs2_trans_end()
94 if (!test_bit(TR_TOUCHED, &tr->tr_flags)) { in gfs2_trans_end()
95 gfs2_log_release(sdp, tr->tr_reserved); in gfs2_trans_end()
97 kfree(tr); in gfs2_trans_end()
103 nbuf = tr->tr_num_buf_new + tr->tr_num_databuf_new; in gfs2_trans_end()
104 nbuf -= tr->tr_num_buf_rm; in gfs2_trans_end()
105 nbuf -= tr->tr_num_databuf_rm; in gfs2_trans_end()
107 if (gfs2_assert_withdraw(sdp, (nbuf <= tr->tr_blocks) && in gfs2_trans_end()
108 (tr->tr_num_revoke <= tr->tr_revokes))) in gfs2_trans_end()
109 gfs2_print_trans(sdp, tr); in gfs2_trans_end()
111 gfs2_log_commit(sdp, tr); in gfs2_trans_end()
112 if (alloced && !test_bit(TR_ATTACHED, &tr->tr_flags)) in gfs2_trans_end()
113 kfree(tr); in gfs2_trans_end()
152 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_add_data() local
158 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_data()
174 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_data()
179 tr->tr_num_databuf_new++; in gfs2_trans_add_data()
180 list_add_tail(&bd->bd_list, &tr->tr_databuf); in gfs2_trans_add_data()
193 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_add_meta() local
198 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_meta()
216 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_meta()
235 list_add(&bd->bd_list, &tr->tr_buf); in gfs2_trans_add_meta()
236 tr->tr_num_buf_new++; in gfs2_trans_add_meta()
245 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_add_revoke() local
249 set_bit(TR_TOUCHED, &tr->tr_flags); in gfs2_trans_add_revoke()
250 tr->tr_num_revoke++; in gfs2_trans_add_revoke()
256 struct gfs2_trans *tr = current->journal_info; in gfs2_trans_remove_revoke() local
266 tr->tr_num_revoke--; in gfs2_trans_remove_revoke()