From owner-svn-src-head@FreeBSD.ORG Sun Jan 4 22:11:25 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00DFF106566C; Sun, 4 Jan 2009 22:11:25 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from dhcp-172-28-76-114.eur.corp.google.com (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id DA1C08FC13; Sun, 4 Jan 2009 22:11:23 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <4961340B.5010306@FreeBSD.org> Date: Sun, 04 Jan 2009 22:11:23 +0000 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209) MIME-Version: 1.0 To: Konstantin Belousov References: <200901041556.n04Funod061146@svn.freebsd.org> In-Reply-To: <200901041556.n04Funod061146@svn.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r186740 - head/sys/gnu/fs/ext2fs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Jan 2009 22:11:25 -0000 Konstantin Belousov wrote: > Author: kib > Date: Sun Jan 4 15:56:49 2009 > New Revision: 186740 > URL: http://svn.freebsd.org/changeset/base/186740 > > Log: > Do not incorrectly add the low 5 bits of the offset to the resulting > position of the found zero bit. > > Submitted by: Jaakko Heinonen > MFC after: 2 weeks > > Modified: > head/sys/gnu/fs/ext2fs/ext2_bitops.h Does this fix ext2fs on amd64? Kris > Modified: head/sys/gnu/fs/ext2fs/ext2_bitops.h > ============================================================================== > --- head/sys/gnu/fs/ext2fs/ext2_bitops.h Sun Jan 4 15:49:30 2009 (r186739) > +++ head/sys/gnu/fs/ext2fs/ext2_bitops.h Sun Jan 4 15:56:49 2009 (r186740) > @@ -84,7 +84,7 @@ find_next_zero_bit(void *data, size_t sz > mask = ~0U << (ofs & 31); > bit = *p | ~mask; > if (bit != ~0U) > - return (ffs(~bit) + ofs - 1); > + return (ffs(~bit) + (ofs & ~31U) - 1); > p++; > ofs = (ofs + 31U) & ~31U; > }