From owner-freebsd-current@FreeBSD.ORG Sat Sep 10 11:03:15 2011 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF56F106566C; Sat, 10 Sep 2011 11:03:15 +0000 (UTC) (envelope-from peterjeremy@acm.org) Received: from mail27.syd.optusnet.com.au (mail27.syd.optusnet.com.au [211.29.133.168]) by mx1.freebsd.org (Postfix) with ESMTP id 3F1178FC0C; Sat, 10 Sep 2011 11:03:15 +0000 (UTC) Received: from server.vk2pj.dyndns.org (c220-239-116-103.belrs4.nsw.optusnet.com.au [220.239.116.103]) by mail27.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p8AB3CIm017426 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 10 Sep 2011 21:03:13 +1000 X-Bogosity: Ham, spamicity=0.000000 Received: from server.vk2pj.dyndns.org (localhost.vk2pj.dyndns.org [127.0.0.1]) by server.vk2pj.dyndns.org (8.14.5/8.14.4) with ESMTP id p8AB3B54007414; Sat, 10 Sep 2011 21:03:11 +1000 (EST) (envelope-from peter@server.vk2pj.dyndns.org) Received: (from peter@localhost) by server.vk2pj.dyndns.org (8.14.5/8.14.4/Submit) id p8AB3BTc007413; Sat, 10 Sep 2011 21:03:11 +1000 (EST) (envelope-from peter) Date: Sat, 10 Sep 2011 21:03:10 +1000 From: Peter Jeremy To: Andriy Gapon Message-ID: <20110910110310.GA6263@server.vk2pj.dyndns.org> References: <20110901223646.14b8aae8@o2.pl> <4E60DBBD.1040703@FreeBSD.org> <4E679D3D.1000007@FreeBSD.org> <4E6B1285.70508@FreeBSD.org> <4E6B1AD4.6080206@FreeBSD.org> <4E6B320A.4090606@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="zhXaljGHf11kAtnf" Content-Disposition: inline In-Reply-To: <4E6B320A.4090606@FreeBSD.org> X-PGP-Key: http://members.optusnet.com.au/peterjeremy/pubkey.asc User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-fs@FreeBSD.org, Pawel Jakub Dawidek , freebsd-current@FreeBSD.org, Dimitry Andric Subject: Re: ZFS: i/o error - all block copies unavailable after upgrading to r225312 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 Sep 2011 11:03:16 -0000 --zhXaljGHf11kAtnf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 2011-Sep-10 12:46:50 +0300, Andriy Gapon wrote: >on 10/09/2011 11:07 Andriy Gapon said the following: >> Actually, removing either -mrtd _or_ -fno-unit-at-a-time produces the co= rrect >> code. Puzzled. > >The problem is reproducible with base gcc and gcc42, it is not reproducible >with gcc45, gcc46 and clang. I was just checking gcc44 & gcc46. gcc44 inlines the entire function and I couldn't quickly find the offending code to see if the bug was there or not. I agree you've triggered a gcc bug but I'm not sure of the correct approach to fix it. I've tried a few trivial code transforms within vdev_read_phys() but haven't stumbled on one that avoids the problem. Since -mrtd changes the calling convention, it's a more intrusive change. I'm not sure if there's any simple way to alter CFLAGS for a single file (since we only want to alter the zfsboot.c compilation. --=20 Peter Jeremy --zhXaljGHf11kAtnf Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk5rQ+4ACgkQ/opHv/APuIdXagCeMrMRpjGHkXnmxlmUG0v7GUGG YZgAoLzV4ypU07F261aURRMIARZa+2VF =imQJ -----END PGP SIGNATURE----- --zhXaljGHf11kAtnf--