In message <20100308125643.1ac0b...@ernst.jennejohn.org>, Gary Jennejohn writes : >On Mon, 8 Mar 2010 14:17:17 +0530
>> I'm trying this one more time, since the issue is still unresolved. >> >> newfs(8) broke for big-endian systems since revision 204654. This change >> made sectorsize variable int64_t, and now it cannot be passed to the ioctl >> DIOCGSECTORSIZE. This patch is correct, DIOCGSECTORSIZE takes an unsigned argument, see <sys/disk.h>: #define DIOCGSECTORSIZE _IOR('d', 128, u_int) /*- * Get the sectorsize of the device in bytes. The sectorsize is the * smallest unit of data which can be transfered from this device. * Usually this is a power of two but it may not be. (ie: CDROM audio) */ >I can't say whether this is correct, but the logic could definitely be >simplified like this, since sectorsize is known to be 0 already: > if (sectorsize == 0) > if (ioctl(disk.d_fd, DIOCGSECTORSIZE, &tsecsize) >= 0) > sectorsize = tsecsize; I'm not sure that is a valid assumption. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 p...@freebsd.org | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"