void jbd_preclean_buffer_check(struct buffer_head *bh) { if (buffer_jbd(bh)) { struct journal_head *jh = bh2jh(bh); transaction_t *transaction = jh->b_transaction; journal_t *journal; if (jh->b_jlist == 0 && transaction == NULL) return; J_ASSERT_JH(jh, transaction != NULL); /* The kernel may be unmapping old data. We expect it * to be dirty in that case, unless the buffer has * already been forgotten by a transaction. */ if (jh->b_jlist != BJ_Forget) { #if 1 if (!buffer_dirty(bh)) { printk("%s: clean of clean buffer\n", __FUNCTION__); print_buffer_trace(bh); return; } #endif J_ASSERT_BH(bh, buffer_dirty(bh)); } journal = transaction->t_journal; J_ASSERT_JH(jh, transaction == journal->j_running_transaction || transaction == journal->j_committing_transaction); } }
void buffer_assertion_failure(struct buffer_head *bh) { failed_buffer_head = bh; print_buffer_trace(bh); }
void buffer_assertion_failure(struct buffer_head *bh) { console_verbose(); failed_buffer_head = bh; print_buffer_trace(bh); }