zfsboot at 12.0: Shortening read at xxxx from 16 to -479991569

Ian Lepore ian at freebsd.org
Thu Dec 13 16:37:20 UTC 2018


On Thu, 2018-12-13 at 08:59 -0700, Warner Losh wrote:
> On Thu, Dec 13, 2018, 6:19 AM Mark Martinec <Mark.Martinec+freebsd at ij
> s.si
> wrote:
> 
> > 
> > On one of my hosts (now running 12.0-RELEASE) the zfsboot shows
> > this weird negative number, which sounds suspicious:
> > 
> >    Verifying DMI pool Data .............
> >    Shortening read at 3907029152 from 16 to 15
> >    Shortening read at 7435283708 from 16 to -479991569
> > 
> >    BTX loader 1.0  BTX version is 1.02
> >    Consoles: ...
> >    BIOS drive C: is disk0
> >    ...
> > 
> > The machine boots up normally and is fine, zpool scrub is happy,
> > so, should I worry? Anything fishy there?
> > 
> > Searching through sources, the message seems to come from
> > stand/i386/zfsboot/zfsboot.c :
> > 
> >    printf("Shortening read at %lld from %d to %lld\n",
> >      alignlba, alignnb, (zdsk->dsk.size + zdsk->dsk.start) -
> > alignlba);
> > 
> 
> Do you have any encrypted disks?
> 
> Warner

I ran into something like this once before, and tracked it down to
using the roundup2() and rounddown2() macros from sys/param.h. In
particular, a mix of 32 and 64 bit types of different signedness
resulted in zero-extension instead of sign-extension of one of the
values, and that masked off significant bits, then a later subtraction
turned a result into a negative number.

-- Ian



More information about the freebsd-stable mailing list