From owner-freebsd-fs@FreeBSD.ORG Mon Nov 28 14:34:28 2011 Return-Path: Delivered-To: freebsd-fs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED0DE106566C for ; Mon, 28 Nov 2011 14:34:28 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (60.wheelsystems.com [83.12.187.60]) by mx1.freebsd.org (Postfix) with ESMTP id A4CF58FC0C for ; Mon, 28 Nov 2011 14:34:28 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id 610BA4C2; Sat, 26 Nov 2011 17:59:31 +0100 (CET) Date: Sat, 26 Nov 2011 17:58:23 +0100 From: Pawel Jakub Dawidek To: freebsd-fs@FreeBSD.org Message-ID: <20111126165823.GD8794@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="PHCdUe6m4AxPMzOu" Content-Disposition: inline X-OS: FreeBSD 9.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Subject: NFS corruption in recent HEAD. X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Nov 2011 14:34:29 -0000 --PHCdUe6m4AxPMzOu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi. I'm booting machine over the network using new NFS client and I'm getting those warnings on boot: /etc/rc.subr: 666: Syntax error: "(" unexpected (expecting ";;") I inspected the /etc/rc.subr file on the client and here is the problem. At offset 16384 the file on the client contains data from offset 32768 =66rom the server. It contains exactly 7599 bytes from the wrong place at this offset. All next bytes up to offset 32768 are all zeros. So the data is identical for ranges <0-16384) and <32768-40367) (to the end of the file). Then range <16384-23983) contains data from <32768-40367) and <23984-32768) is all zeros. Probably if file would be bigger there will be no zeros, but more data from wrong block. It seems that the client is asking for third block where it should ask for second block (or the server is providing wrong block). Server is running '8.2-STABLE #17: Wed Sep 28 10:30:02 EDT 2011'. BTW. When I copy the file on the client using cp(1), the copy is not corrupted (cp(1) is using mmap(2)?). But when I do 'cat /etc/rc.subr > /foo' the corruptions is visible in new file too. --=20 Pawel Jakub Dawidek http://www.wheelsystems.com FreeBSD committer http://www.FreeBSD.org Am I Evil? Yes, I Am! http://yomoli.com --PHCdUe6m4AxPMzOu Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk7RGq8ACgkQForvXbEpPzTXjQCghLqwfZa5mwoa1ZtpXcwuGp8Q qesAnR665r+tDN/hdR1o3GFmAiw06iUQ =GyUF -----END PGP SIGNATURE----- --PHCdUe6m4AxPMzOu--