Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Mar 2010 13:24:10 +0100
From:      Gary Jennejohn <gary.jennejohn@freenet.de>
To:        "Poul-Henning Kamp" <phk@phk.freebsd.dk>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>, "Jayachandran C." <c.jayachandran@gmail.com>
Subject:   Re: newfs broken in -CURRENT after 204654
Message-ID:  <20100308132410.0d99e0f3@ernst.jennejohn.org>
In-Reply-To: <51125.1268049519@critter.freebsd.dk>
References:  <20100308125643.1ac0be0f@ernst.jennejohn.org> <51125.1268049519@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 08 Mar 2010 11:58:39 +0000
"Poul-Henning Kamp" <phk@phk.freebsd.dk> wrote:

> In message <20100308125643.1ac0be0f@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.
> 

I disagree, but there's no reason to get into a bike-shed painting contest :)  The
original patch is OK the way it is.

---
Gary Jennejohn



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100308132410.0d99e0f3>