On 2011-Dec-19 22:27:49 +0100, Michiel Boland <bolan...@xs4all.nl> wrote:
>Problem solved - it was indeed an endian thing.
>The problem is that fsck uses a real_dev_bsize variable that is declared long, 
>but the DIOCGSECTORSIZE ioctl takes an u_int argument.

To be accurate, this isn't an endian problem, it's a general problem
of passing a pointer to an incorrectly sized object.  The bug is
masked on amd64 & iA64 because real_dev_bsize is statically allocated
and therefore initialised to zero.  This means the failure to assign
the top 32 bits in the ioctl doesn't affect the final result.

>A PR has been submitted.

sparc64/163460 for the record.  Thank you for tracking that down.

-- 
Peter Jeremy

Attachment: pgp7m3HL1diGx.pgp
Description: PGP signature

Reply via email to