コード例 #1
0
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);
	}
}
コード例 #2
0
ファイル: jbd-kernel.c プロジェクト: liuxueyang/Linux-Unix
void buffer_assertion_failure(struct buffer_head *bh)
{
	failed_buffer_head = bh;
	print_buffer_trace(bh);
}
コード例 #3
0
void buffer_assertion_failure(struct buffer_head *bh)
{
	console_verbose();
	failed_buffer_head = bh;
	print_buffer_trace(bh);
}