• Home
  • Raw
  • Download

Lines Matching refs:th

98 static int journal_join(struct reiserfs_transaction_handle *th,
114 static int do_journal_begin_r(struct reiserfs_transaction_handle *th,
1878 static int do_journal_release(struct reiserfs_transaction_handle *th, in do_journal_release() argument
1889 BUG_ON(!th->t_trans_id); in do_journal_release()
1890 do_journal_end(th, sb, 10, FLUSH_ALL); in do_journal_release()
1945 int journal_release(struct reiserfs_transaction_handle *th, in journal_release() argument
1948 return do_journal_release(th, sb, 0); in journal_release()
1954 int journal_release_error(struct reiserfs_transaction_handle *th, in journal_release_error() argument
1957 return do_journal_release(th, sb, 1); in journal_release_error()
2861 int journal_transaction_should_end(struct reiserfs_transaction_handle *th, in journal_transaction_should_end() argument
2864 struct reiserfs_journal *journal = SB_JOURNAL(th->t_super); in journal_transaction_should_end()
2867 BUG_ON(!th->t_trans_id); in journal_transaction_should_end()
2868 if (th->t_refcount > 1) in journal_transaction_should_end()
2879 th->t_blocks_allocated += new_alloc ; in journal_transaction_should_end()
2885 void reiserfs_block_writes(struct reiserfs_transaction_handle *th) in reiserfs_block_writes() argument
2887 struct reiserfs_journal *journal = SB_JOURNAL(th->t_super); in reiserfs_block_writes()
2888 BUG_ON(!th->t_trans_id); in reiserfs_block_writes()
2969 static int do_journal_begin_r(struct reiserfs_transaction_handle *th, in do_journal_begin_r() argument
2985 th->t_refcount = 1; in do_journal_begin_r()
2986 th->t_super = sb; in do_journal_begin_r()
3068 th->t_blocks_logged = 0; in do_journal_begin_r()
3069 th->t_blocks_allocated = nblocks; in do_journal_begin_r()
3070 th->t_trans_id = journal->j_trans_id; in do_journal_begin_r()
3072 INIT_LIST_HEAD(&th->t_list); in do_journal_begin_r()
3076 memset(th, 0, sizeof(*th)); in do_journal_begin_r()
3080 th->t_super = sb; in do_journal_begin_r()
3090 struct reiserfs_transaction_handle *th; in reiserfs_persistent_transaction() local
3096 th = current->journal_info; in reiserfs_persistent_transaction()
3097 th->t_refcount++; in reiserfs_persistent_transaction()
3098 BUG_ON(th->t_refcount < 2); in reiserfs_persistent_transaction()
3100 return th; in reiserfs_persistent_transaction()
3102 th = kmalloc(sizeof(struct reiserfs_transaction_handle), GFP_NOFS); in reiserfs_persistent_transaction()
3103 if (!th) in reiserfs_persistent_transaction()
3105 ret = journal_begin(th, s, nblocks); in reiserfs_persistent_transaction()
3107 kfree(th); in reiserfs_persistent_transaction()
3112 return th; in reiserfs_persistent_transaction()
3115 int reiserfs_end_persistent_transaction(struct reiserfs_transaction_handle *th) in reiserfs_end_persistent_transaction() argument
3117 struct super_block *s = th->t_super; in reiserfs_end_persistent_transaction()
3119 if (th->t_trans_id) in reiserfs_end_persistent_transaction()
3120 ret = journal_end(th, th->t_super, th->t_blocks_allocated); in reiserfs_end_persistent_transaction()
3123 if (th->t_refcount == 0) { in reiserfs_end_persistent_transaction()
3125 kfree(th); in reiserfs_end_persistent_transaction()
3130 static int journal_join(struct reiserfs_transaction_handle *th, in journal_join() argument
3138 th->t_handle_save = cur_th; in journal_join()
3140 return do_journal_begin_r(th, sb, nblocks, JBEGIN_JOIN); in journal_join()
3143 int journal_join_abort(struct reiserfs_transaction_handle *th, in journal_join_abort() argument
3151 th->t_handle_save = cur_th; in journal_join_abort()
3153 return do_journal_begin_r(th, sb, nblocks, JBEGIN_ABORT); in journal_join_abort()
3156 int journal_begin(struct reiserfs_transaction_handle *th, in journal_begin() argument
3162 th->t_handle_save = NULL; in journal_begin()
3168 memcpy(th, cur_th, sizeof(*th)); in journal_begin()
3169 if (th->t_refcount <= 1) in journal_begin()
3181 th->t_handle_save = current->journal_info; in journal_begin()
3182 current->journal_info = th; in journal_begin()
3185 current->journal_info = th; in journal_begin()
3187 ret = do_journal_begin_r(th, sb, nblocks, JBEGIN_REG); in journal_begin()
3188 BUG_ON(current->journal_info != th); in journal_begin()
3194 current->journal_info = th->t_handle_save; in journal_begin()
3196 BUG_ON(!th->t_refcount); in journal_begin()
3210 int journal_mark_dirty(struct reiserfs_transaction_handle *th, in journal_mark_dirty() argument
3217 BUG_ON(!th->t_trans_id); in journal_mark_dirty()
3220 if (th->t_trans_id != journal->j_trans_id) { in journal_mark_dirty()
3221 reiserfs_panic(th->t_super, "journal-1577", in journal_mark_dirty()
3223 th->t_trans_id, journal->j_trans_id); in journal_mark_dirty()
3259 reiserfs_panic(th->t_super, "journal-1413", in journal_mark_dirty()
3283 if (th->t_blocks_logged == th->t_blocks_allocated) { in journal_mark_dirty()
3284 th->t_blocks_allocated += JOURNAL_PER_BALANCE_CNT; in journal_mark_dirty()
3287 th->t_blocks_logged++; in journal_mark_dirty()
3313 int journal_end(struct reiserfs_transaction_handle *th, in journal_end() argument
3316 if (!current->journal_info && th->t_refcount > 1) in journal_end()
3318 "th NULL, refcount %d", th->t_refcount); in journal_end()
3320 if (!th->t_trans_id) { in journal_end()
3325 th->t_refcount--; in journal_end()
3326 if (th->t_refcount > 0) { in journal_end()
3333 BUG_ON(cur_th->t_super != th->t_super); in journal_end()
3335 if (th != cur_th) { in journal_end()
3336 memcpy(current->journal_info, th, sizeof(*th)); in journal_end()
3337 th->t_trans_id = 0; in journal_end()
3341 return do_journal_end(th, sb, nblocks, 0); in journal_end()
3445 int journal_end_sync(struct reiserfs_transaction_handle *th, in journal_end_sync() argument
3450 BUG_ON(!th->t_trans_id); in journal_end_sync()
3452 BUG_ON(th->t_refcount > 1); in journal_end_sync()
3456 journal_mark_dirty(th, sb, SB_BUFFER_WITH_SB(sb)); in journal_end_sync()
3458 return do_journal_end(th, sb, nblocks, COMMIT_NOW | WAIT); in journal_end_sync()
3489 struct reiserfs_transaction_handle th; in reiserfs_flush_old_commits() local
3506 if (!journal_join(&th, sb, 1)) { in reiserfs_flush_old_commits()
3510 journal_mark_dirty(&th, sb, in reiserfs_flush_old_commits()
3516 do_journal_end(&th, sb, 1, COMMIT_NOW | WAIT); in reiserfs_flush_old_commits()
3532 static int check_journal_end(struct reiserfs_transaction_handle *th, in check_journal_end() argument
3544 BUG_ON(!th->t_trans_id); in check_journal_end()
3546 if (th->t_trans_id != journal->j_trans_id) { in check_journal_end()
3547 reiserfs_panic(th->t_super, "journal-1577", in check_journal_end()
3549 th->t_trans_id, journal->j_trans_id); in check_journal_end()
3552 journal->j_len_alloc -= (th->t_blocks_allocated - th->t_blocks_logged); in check_journal_end()
3648 int journal_mark_freed(struct reiserfs_transaction_handle *th, in journal_mark_freed() argument
3656 BUG_ON(!th->t_trans_id); in journal_mark_freed()
3742 struct reiserfs_transaction_handle th; in __commit_trans_jl() local
3756 ret = journal_begin(&th, sb, 1); in __commit_trans_jl()
3764 journal_mark_dirty(&th, sb, SB_BUFFER_WITH_SB(sb)); in __commit_trans_jl()
3765 ret = journal_end(&th, sb, 1); in __commit_trans_jl()
3769 ret = journal_end_sync(&th, sb, 1); in __commit_trans_jl()
3893 static int do_journal_end(struct reiserfs_transaction_handle *th, in do_journal_end() argument
3915 BUG_ON(th->t_refcount > 1); in do_journal_end()
3916 BUG_ON(!th->t_trans_id); in do_journal_end()
3920 if (th->t_trans_id == ~0U) in do_journal_end()
3925 current->journal_info = th->t_handle_save; in do_journal_end()
3930 journal_mark_dirty(th, sb, SB_BUFFER_WITH_SB(sb)); in do_journal_end()
3946 if (!check_journal_end(th, sb, nblocks, flags)) { in do_journal_end()
3968 current->journal_info = th; in do_journal_end()
3969 th->t_refcount++; in do_journal_end()
3970 reiserfs_discard_all_prealloc(th); /* it should not involve new blocks into in do_journal_end()
3972 th->t_refcount--; in do_journal_end()
3973 current->journal_info = th->t_handle_save; in do_journal_end()
4250 memset(th, 0, sizeof(*th)); in do_journal_end()
4254 th->t_super = sb; in do_journal_end()