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
pgp7m3HL1diGx.pgp
Description: PGP signature