ext2fs bug

Bruce Evans brde at optusnet.com.au
Sun Jun 23 10:29:23 UTC 2013


On Sun, 23 Jun 2013 gabor at zahemszky.hu wrote:

> I've got 2 disks (a 1TB and a 2TB), these disk were written under Linux 2.4.
> I can mount them under FreeBSD, and I can reach about half of the files, but
> on some files, I only get some FS errors. In dmesg, I can see the following
> errors:

It's very broken at 1TB, since it is still using a quick fix from 2002
that preserved the old limit of signed 32-bit block numbers at the vfs
level when that limit was increased to 64 bits.

> g_vfs_done():ada2s1[READ(offset=-756558786560, length=4096)]error = 5
> g_vfs_done():ada2s1[READ(offset=-899189821440, length=4096)]error = 5
> ...

The brokeness includes not refusing to mount file systems that are too
large to work.  I wouldn't risk mounting read-writes file systems that
are too large to work.  1TB should work though.  That's in real TB
(2**40 bytes).

ext2fs also has internal 32-bit block numbers.  With a block size of
4K, this should give a limit of 16TB, but FreeBSD uses negative block
numbers magically, so the limit will be 8TB after the main bugs are
fixed.  With a block size of 1K, the limit will be 2TB.

Bruce


More information about the freebsd-fs mailing list