Bug#559647: aborts when making a filesystem larger than 2048 MiB
Robert Millan a écrit :
> Package: ufsutils
> Version: 7.2-3
> Severity: important
>
> mkfs aborts when making a filesystem larger than 2048 MiB. This
> size limit (equivalent to INT32_MAX sectors) seems to indicate that
> it's using 32-bit signed types to measure number of blocks instead
> of unsigned 64-bit.
>
It actually aborts at 1 TiB (2^31 sectors * 512 bytes).
The problem is that ufsutils uses daddr_t to represent the block number
on the disk. This is supposed to be the "type of a disk address", but is
defined as signed 32-bit in the Linux kernel, and signed 64-bit in the
FreeBSD kernel.
The GNU libc type matches the Linux kernel type on GNU/Linux systems,
and the FreeBSD libc type also matches the FreeBSD kernel.
I have modified the GNU libc type on GNU/kFreeBSD to match the kernel
definition fixing this bug (after a rebuild) on this platform. For
GNU/Linux, we will probably have to modify ufsutils sources.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Reply to: