Re: [BUG] fs/jbd/checkpoint.c:427: "blocknr != 0"
From: Franz Pletz
Date: Tue Jul 27 2004 - 18:44:09 EST
Andrew Morton wrote:
I assume you have a wrecked journal, which is triggering this assert:
} else {
first_tid = journal->j_transaction_sequence;
blocknr = journal->j_head;
}
spin_unlock(&journal->j_list_lock);
J_ASSERT(blocknr != 0);
/* If the oldest pinned transaction is at the tail of the log
already then there's not much we can do right now. */
e2fsck should have fixed this up when doing its journal replay.
You could probably get your data back by temporarily removing the journal:
tune2fs -O ^has_journal /dev/hda1
e2fsck -f /dev/hda1
tune2fs -j /dev/hda1
e2fsck -f /dev/hda1
That solved the problem. Thank you very much.
I've read the tune2fs manpage in order to rebuild the journal in some
way. But as I didn't want to destroy my data, I didn't dare to do
something unless I am really sure what I'm doing.
I can't track that error down to a specific issue because the machine
didn't lock up or something similar. I just shut it down and got that
message when booting it the other day.
Franz
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/