ext2fs crash in -current (r218056)

Kostik Belousov kostikbel at gmail.com
Thu Feb 3 14:01:51 UTC 2011


On Thu, Feb 03, 2011 at 07:53:55AM -0500, John Baldwin wrote:
> On Wednesday, February 02, 2011 5:20:23 pm Jeremy Chadwick wrote:
> > On Wed, Feb 02, 2011 at 05:04:03PM -0500, John Baldwin wrote:
> > > On Wednesday, February 02, 2011 04:13:48 pm Doug Barton wrote:
> > > > I haven't had a chance to test this patch yet, but John's did not work
> > > > (sorry):
> > > > 
> > > > http://dougbarton.us/ext2fs-crash-dump-2.jpg
> > > > 
> > > > No actual dump this time either.
> > > > 
> > > > I'm happy to test the patch below on Thursday if there is consensus that
> > > > it will work.
> > > 
> > > Err, this is a different panic than what you reported earlier.  Your disk died 
> > > and spewed a bunch of EIO errors.  I can look at the locking assertion failure 
> > > tomorrow, but this is a differnt issue.  Even UFS needed a good bit of work to 
> > > handle disks dying gracefully.
> > 
> > Are the byte offsets shown in the screenshot within the range of the
> > drive's capacity?  They're around the 10.7GB mark, but I have no idea
> > what size disk is being used.
> > 
> > The reason I ask is that there have been reported issues in the past
> > where the offsets shown are way outside of the range of the permitted
> > byte offsets of the disk itself (and in some cases even showing a
> > negative number; what is it with people not understanding the difference
> > between signed and unsigned types?  Sigh), and I want to make sure this
> > isn't one of those situations.  I also don't know if underlying
> > filesystem corruption could cause the problem in question ("filesystem
> > says you should write to block N, which is outside of the permitted
> > range of the device").
> 
> Just one comment.  UFS uses negative block numbers to indicate an indirect
> block (or some such) as opposed to a direct block of data.  It's a purposeful
> feature that allows one to instantly spot if a problem relates to a direct
> block vs an indirect block.
Yes, but the block numbers are negative within the vnode address range,
not for the on-disk block numbers. ufs_bmap() shall translate negative
vnode block numbers to the positive disk block numbers before buffer is
passed down.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20110203/2c4e38c2/attachment.pgp


More information about the freebsd-fs mailing list