Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Sep 2011 11:53:00 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Andreas Longwitz <longwitz@incore.de>
Cc:        freebsd-stable@freebsd.org, John Baldwin <jhb@freebsd.org>
Subject:   Re: UFS_DIRHASH panics on a dozen server within 30 hours
Message-ID:  <CAJ-Vmon4XBQ4vvJOVGSiOdgX1W78x8EUmcVqtMgFPJgnP-FfFw@mail.gmail.com>
In-Reply-To: <4E6D34FE.70703@incore.de>
References:  <4E64933E.8030908@incore.de> <201109061104.43409.jhb@freebsd.org> <4E6D34FE.70703@incore.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12 September 2011 06:23, Andreas Longwitz <longwitz@incore.de> wrote:

>
> Yes. I found that megarc often wants a buffer of 12868 bytes, but the
> controller sends always 25412 bytes back. Because this seems to be an
> error in megarc I have submitted a patch for the existing PR ports/137938.
>
> Furthermore I saw some sporadic answers of the controller to megarc
> ioctl's with much more data than the buffer size stated by megarc.
> Therefore I still use the maximum size in my updated patch in kern/155658.

Just a comment about that kernel PR:

You're doing a 25k allocation (why not just go with an even 32k?) but
you're not enforcing anywhere that if au_length > your #defined value,
the malloc size is made larger.
I know it's a nitpick, but if it were me doing a change, I'd use
MAX(au_length, MAX_AMR_IOCTL) when doing the malloc.

2c,


Adrian



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