diff options
Diffstat (limited to 'fs/reiserfs/journal.c')
-rw-r--r-- | fs/reiserfs/journal.c | 49 |
1 files changed, 16 insertions, 33 deletions
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index e6b5ccf23f15..ad8cbc49883a 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c | |||
@@ -718,8 +718,7 @@ static int add_to_chunk(struct buffer_chunk *chunk, struct buffer_head *bh, | |||
718 | spinlock_t * lock, void (fn) (struct buffer_chunk *)) | 718 | spinlock_t * lock, void (fn) (struct buffer_chunk *)) |
719 | { | 719 | { |
720 | int ret = 0; | 720 | int ret = 0; |
721 | if (chunk->nr >= CHUNK_SIZE) | 721 | BUG_ON(chunk->nr >= CHUNK_SIZE); |
722 | BUG(); | ||
723 | chunk->bh[chunk->nr++] = bh; | 722 | chunk->bh[chunk->nr++] = bh; |
724 | if (chunk->nr >= CHUNK_SIZE) { | 723 | if (chunk->nr >= CHUNK_SIZE) { |
725 | ret = 1; | 724 | ret = 1; |
@@ -788,8 +787,7 @@ static inline int __add_jh(struct reiserfs_journal *j, struct buffer_head *bh, | |||
788 | /* buffer must be locked for __add_jh, should be able to have | 787 | /* buffer must be locked for __add_jh, should be able to have |
789 | * two adds at the same time | 788 | * two adds at the same time |
790 | */ | 789 | */ |
791 | if (bh->b_private) | 790 | BUG_ON(bh->b_private); |
792 | BUG(); | ||
793 | jh->bh = bh; | 791 | jh->bh = bh; |
794 | bh->b_private = jh; | 792 | bh->b_private = jh; |
795 | } | 793 | } |
@@ -2967,8 +2965,7 @@ static int do_journal_begin_r(struct reiserfs_transaction_handle *th, | |||
2967 | int retval; | 2965 | int retval; |
2968 | 2966 | ||
2969 | reiserfs_check_lock_depth(p_s_sb, "journal_begin"); | 2967 | reiserfs_check_lock_depth(p_s_sb, "journal_begin"); |
2970 | if (nblocks > journal->j_trans_max) | 2968 | BUG_ON(nblocks > journal->j_trans_max); |
2971 | BUG(); | ||
2972 | 2969 | ||
2973 | PROC_INFO_INC(p_s_sb, journal.journal_being); | 2970 | PROC_INFO_INC(p_s_sb, journal.journal_being); |
2974 | /* set here for journal_join */ | 2971 | /* set here for journal_join */ |
@@ -3084,9 +3081,8 @@ struct reiserfs_transaction_handle *reiserfs_persistent_transaction(struct | |||
3084 | if (reiserfs_transaction_running(s)) { | 3081 | if (reiserfs_transaction_running(s)) { |
3085 | th = current->journal_info; | 3082 | th = current->journal_info; |
3086 | th->t_refcount++; | 3083 | th->t_refcount++; |
3087 | if (th->t_refcount < 2) { | 3084 | BUG_ON(th->t_refcount < 2); |
3088 | BUG(); | 3085 | |
3089 | } | ||
3090 | return th; | 3086 | return th; |
3091 | } | 3087 | } |
3092 | th = kmalloc(sizeof(struct reiserfs_transaction_handle), GFP_NOFS); | 3088 | th = kmalloc(sizeof(struct reiserfs_transaction_handle), GFP_NOFS); |
@@ -3126,9 +3122,7 @@ static int journal_join(struct reiserfs_transaction_handle *th, | |||
3126 | ** pointer | 3122 | ** pointer |
3127 | */ | 3123 | */ |
3128 | th->t_handle_save = cur_th; | 3124 | th->t_handle_save = cur_th; |
3129 | if (cur_th && cur_th->t_refcount > 1) { | 3125 | BUG_ON(cur_th && cur_th->t_refcount > 1); |
3130 | BUG(); | ||
3131 | } | ||
3132 | return do_journal_begin_r(th, p_s_sb, nblocks, JBEGIN_JOIN); | 3126 | return do_journal_begin_r(th, p_s_sb, nblocks, JBEGIN_JOIN); |
3133 | } | 3127 | } |
3134 | 3128 | ||
@@ -3141,9 +3135,7 @@ int journal_join_abort(struct reiserfs_transaction_handle *th, | |||
3141 | ** pointer | 3135 | ** pointer |
3142 | */ | 3136 | */ |
3143 | th->t_handle_save = cur_th; | 3137 | th->t_handle_save = cur_th; |
3144 | if (cur_th && cur_th->t_refcount > 1) { | 3138 | BUG_ON(cur_th && cur_th->t_refcount > 1); |
3145 | BUG(); | ||
3146 | } | ||
3147 | return do_journal_begin_r(th, p_s_sb, nblocks, JBEGIN_ABORT); | 3139 | return do_journal_begin_r(th, p_s_sb, nblocks, JBEGIN_ABORT); |
3148 | } | 3140 | } |
3149 | 3141 | ||
@@ -3178,8 +3170,7 @@ int journal_begin(struct reiserfs_transaction_handle *th, | |||
3178 | current->journal_info = th; | 3170 | current->journal_info = th; |
3179 | } | 3171 | } |
3180 | ret = do_journal_begin_r(th, p_s_sb, nblocks, JBEGIN_REG); | 3172 | ret = do_journal_begin_r(th, p_s_sb, nblocks, JBEGIN_REG); |
3181 | if (current->journal_info != th) | 3173 | BUG_ON(current->journal_info != th); |
3182 | BUG(); | ||
3183 | 3174 | ||
3184 | /* I guess this boils down to being the reciprocal of clm-2100 above. | 3175 | /* I guess this boils down to being the reciprocal of clm-2100 above. |
3185 | * If do_journal_begin_r fails, we need to put it back, since journal_end | 3176 | * If do_journal_begin_r fails, we need to put it back, since journal_end |
@@ -3324,8 +3315,7 @@ int journal_end(struct reiserfs_transaction_handle *th, | |||
3324 | /* we aren't allowed to close a nested transaction on a different | 3315 | /* we aren't allowed to close a nested transaction on a different |
3325 | ** filesystem from the one in the task struct | 3316 | ** filesystem from the one in the task struct |
3326 | */ | 3317 | */ |
3327 | if (cur_th->t_super != th->t_super) | 3318 | BUG_ON(cur_th->t_super != th->t_super); |
3328 | BUG(); | ||
3329 | 3319 | ||
3330 | if (th != cur_th) { | 3320 | if (th != cur_th) { |
3331 | memcpy(current->journal_info, th, sizeof(*th)); | 3321 | memcpy(current->journal_info, th, sizeof(*th)); |
@@ -3444,9 +3434,7 @@ int journal_end_sync(struct reiserfs_transaction_handle *th, | |||
3444 | 3434 | ||
3445 | BUG_ON(!th->t_trans_id); | 3435 | BUG_ON(!th->t_trans_id); |
3446 | /* you can sync while nested, very, very bad */ | 3436 | /* you can sync while nested, very, very bad */ |
3447 | if (th->t_refcount > 1) { | 3437 | BUG_ON(th->t_refcount > 1); |
3448 | BUG(); | ||
3449 | } | ||
3450 | if (journal->j_len == 0) { | 3438 | if (journal->j_len == 0) { |
3451 | reiserfs_prepare_for_journal(p_s_sb, SB_BUFFER_WITH_SB(p_s_sb), | 3439 | reiserfs_prepare_for_journal(p_s_sb, SB_BUFFER_WITH_SB(p_s_sb), |
3452 | 1); | 3440 | 1); |
@@ -3556,9 +3544,8 @@ static int check_journal_end(struct reiserfs_transaction_handle *th, | |||
3556 | ** will be dealt with by next transaction that actually writes something, but should be taken | 3544 | ** will be dealt with by next transaction that actually writes something, but should be taken |
3557 | ** care of in this trans | 3545 | ** care of in this trans |
3558 | */ | 3546 | */ |
3559 | if (journal->j_len == 0) { | 3547 | BUG_ON(journal->j_len == 0); |
3560 | BUG(); | 3548 | |
3561 | } | ||
3562 | /* if wcount > 0, and we are called to with flush or commit_now, | 3549 | /* if wcount > 0, and we are called to with flush or commit_now, |
3563 | ** we wait on j_join_wait. We will wake up when the last writer has | 3550 | ** we wait on j_join_wait. We will wake up when the last writer has |
3564 | ** finished the transaction, and started it on its way to the disk. | 3551 | ** finished the transaction, and started it on its way to the disk. |
@@ -3592,9 +3579,8 @@ static int check_journal_end(struct reiserfs_transaction_handle *th, | |||
3592 | unlock_journal(p_s_sb); | 3579 | unlock_journal(p_s_sb); |
3593 | } | 3580 | } |
3594 | } | 3581 | } |
3595 | if (journal->j_trans_id == trans_id) { | 3582 | BUG_ON(journal->j_trans_id == trans_id); |
3596 | BUG(); | 3583 | |
3597 | } | ||
3598 | if (commit_now | 3584 | if (commit_now |
3599 | && journal_list_still_alive(p_s_sb, trans_id) | 3585 | && journal_list_still_alive(p_s_sb, trans_id) |
3600 | && wait_on_commit) { | 3586 | && wait_on_commit) { |
@@ -4074,9 +4060,7 @@ static int do_journal_end(struct reiserfs_transaction_handle *th, | |||
4074 | set_commit_trans_len(commit, journal->j_len); | 4060 | set_commit_trans_len(commit, journal->j_len); |
4075 | 4061 | ||
4076 | /* special check in case all buffers in the journal were marked for not logging */ | 4062 | /* special check in case all buffers in the journal were marked for not logging */ |
4077 | if (journal->j_len == 0) { | 4063 | BUG_ON(journal->j_len == 0); |
4078 | BUG(); | ||
4079 | } | ||
4080 | 4064 | ||
4081 | /* we're about to dirty all the log blocks, mark the description block | 4065 | /* we're about to dirty all the log blocks, mark the description block |
4082 | * dirty now too. Don't mark the commit block dirty until all the | 4066 | * dirty now too. Don't mark the commit block dirty until all the |
@@ -4173,8 +4157,7 @@ static int do_journal_end(struct reiserfs_transaction_handle *th, | |||
4173 | journal, jl, &jl->j_tail_bh_list); | 4157 | journal, jl, &jl->j_tail_bh_list); |
4174 | lock_kernel(); | 4158 | lock_kernel(); |
4175 | } | 4159 | } |
4176 | if (!list_empty(&jl->j_tail_bh_list)) | 4160 | BUG_ON(!list_empty(&jl->j_tail_bh_list)); |
4177 | BUG(); | ||
4178 | up(&jl->j_commit_lock); | 4161 | up(&jl->j_commit_lock); |
4179 | 4162 | ||
4180 | /* honor the flush wishes from the caller, simple commits can | 4163 | /* honor the flush wishes from the caller, simple commits can |