[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bug-114821-13602-RA56Ty4zjS@https.bugzilla.kernel.org/>
Date: Sun, 20 Mar 2016 15:12:38 +0000
From: bugzilla-daemon@...zilla.kernel.org
To: linux-ext4@...r.kernel.org
Subject: [Bug 114821] Frequent and recurring ext4 "bad header invalid magic"
errors on a healthy drive
https://bugzilla.kernel.org/show_bug.cgi?id=114821
Andreas Dilger <adilger.kernelbugzilla@...ger.ca> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |adilger.kernelbugzilla@...g
| |er.ca
--- Comment #7 from Andreas Dilger <adilger.kernelbugzilla@...ger.ca> ---
Probably better than deleting the file, which would just release the bad
block(s) to be allocated by some other file, is to use "debugfs -c -R 'stat
<1523>' /dev/sdb1" to list the blocks allocated to the file, and then run
"badblocks" to mark those blocks bad. This might also be the inode block that
is bad, which you could tell by listening for the head jump when you run
"debugfs stat" on the inode. I don't think ext4 or e2fsck currently handles
bad blocks in the middle of the inode table, though I guess they could by
permanently marking those inodes allocated when parsing the bad block numbers.
One way to check which is the bad block(s), if it isn't the inode itself, is
once you isolate the file's block number(s) is to run "dd if=/dev/sdb1
of=/dev/null bs=4k count=1 skip={blocknr}" one at a time for each block and
listen for the head jump. This may be complicated by readahead in both the
drive and the kernel, so it may be better to do this from higher to lower block
numbers.
--
You are receiving this mail because:
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists