static void gfs2_merge_trans(struct gfs2_trans *old, struct gfs2_trans *new)
 {
-       WARN_ON_ONCE(old->tr_attached != 1);
+       WARN_ON_ONCE(!test_bit(TR_ATTACHED, &old->tr_flags));
 
        old->tr_num_buf_new     += new->tr_num_buf_new;
        old->tr_num_databuf_new += new->tr_num_databuf_new;
        if (sdp->sd_log_tr) {
                gfs2_merge_trans(sdp->sd_log_tr, tr);
        } else if (tr->tr_num_buf_new || tr->tr_num_databuf_new) {
-               gfs2_assert_withdraw(sdp, tr->tr_alloced);
+               gfs2_assert_withdraw(sdp, test_bit(TR_ALLOCED, &tr->tr_flags));
                sdp->sd_log_tr = tr;
-               tr->tr_attached = 1;
+               set_bit(TR_ATTACHED, &tr->tr_flags);
        }
 
        sdp->sd_log_commited_revoke += tr->tr_num_revoke - tr->tr_num_revoke_rm;
 
        wait_on_buffer(bh);
        if (unlikely(!buffer_uptodate(bh))) {
                struct gfs2_trans *tr = current->journal_info;
-               if (tr && tr->tr_touched)
+               if (tr && test_bit(TR_TOUCHED, &tr->tr_flags))
                        gfs2_io_error_bh(sdp, bh);
                brelse(bh);
                *bhp = NULL;
 
        if (!buffer_uptodate(bh)) {
                struct gfs2_trans *tr = current->journal_info;
-               if (tr && tr->tr_touched)
+               if (tr && test_bit(TR_TOUCHED, &tr->tr_flags))
                        gfs2_io_error_bh(sdp, bh);
                return -EIO;
        }
                        tr->tr_num_buf_rm++;
                else
                        tr->tr_num_databuf_rm++;
-               tr->tr_touched = 1;
+               set_bit(TR_TOUCHED, &tr->tr_flags);
                was_pinned = 1;
                brelse(bh);
        }
 
        tr->tr_blocks = blocks;
        tr->tr_revokes = revokes;
        tr->tr_reserved = 1;
-       tr->tr_alloced = 1;
+       set_bit(TR_ALLOCED, &tr->tr_flags);
        if (blocks)
                tr->tr_reserved += 6 + blocks;
        if (revokes)
 {
        pr_warn("Transaction created at: %pSR\n", (void *)tr->tr_ip);
        pr_warn("blocks=%u revokes=%u reserved=%u touched=%u\n",
-               tr->tr_blocks, tr->tr_revokes, tr->tr_reserved, tr->tr_touched);
+               tr->tr_blocks, tr->tr_revokes, tr->tr_reserved,
+               test_bit(TR_TOUCHED, &tr->tr_flags));
        pr_warn("Buf %u/%u Databuf %u/%u Revoke %u/%u\n",
                tr->tr_num_buf_new, tr->tr_num_buf_rm,
                tr->tr_num_databuf_new, tr->tr_num_databuf_rm,
 {
        struct gfs2_trans *tr = current->journal_info;
        s64 nbuf;
-       int alloced = tr->tr_alloced;
+       int alloced = test_bit(TR_ALLOCED, &tr->tr_flags);
 
        BUG_ON(!tr);
        current->journal_info = NULL;
 
-       if (!tr->tr_touched) {
+       if (!test_bit(TR_TOUCHED, &tr->tr_flags)) {
                gfs2_log_release(sdp, tr->tr_reserved);
                if (alloced) {
                        kfree(tr);
                gfs2_print_trans(tr);
 
        gfs2_log_commit(sdp, tr);
-       if (alloced && !tr->tr_attached)
-                       kfree(tr);
+       if (alloced && !test_bit(TR_ATTACHED, &tr->tr_flags))
+               kfree(tr);
        up_read(&sdp->sd_log_flush_lock);
 
        if (sdp->sd_vfs->s_flags & MS_SYNCHRONOUS)
                gfs2_log_lock(sdp);
        }
        gfs2_assert(sdp, bd->bd_gl == gl);
-       tr->tr_touched = 1;
+       set_bit(TR_TOUCHED, &tr->tr_flags);
        if (list_empty(&bd->bd_list)) {
                set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);
                set_bit(GLF_DIRTY, &bd->bd_gl->gl_flags);
        enum gfs2_freeze_state state = atomic_read(&sdp->sd_freeze_state);
 
        tr = current->journal_info;
-       tr->tr_touched = 1;
+       set_bit(TR_TOUCHED, &tr->tr_flags);
        if (!list_empty(&bd->bd_list))
                return;
        set_bit(GLF_LFLUSH, &bd->bd_gl->gl_flags);
 
        BUG_ON(!list_empty(&bd->bd_list));
        gfs2_add_revoke(sdp, bd);
-       tr->tr_touched = 1;
+       set_bit(TR_TOUCHED, &tr->tr_flags);
        tr->tr_num_revoke++;
 }