From owner-freebsd-fs@FreeBSD.ORG Sun Nov 27 02:03:47 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 87963106566C; Sun, 27 Nov 2011 02:03:47 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id 2C9B18FC16; Sun, 27 Nov 2011 02:03:46 +0000 (UTC) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap4EAIeZ0U6DaFvO/2dsb2JhbABEhQOnBIFyAQEFIzIkGxgCAg0ZAlkGrESQcoEwgi+FbYEWBIghjCmSKQ X-IronPort-AV: E=Sophos;i="4.69,577,1315195200"; d="scan'208";a="147189245" Received: from erie.cs.uoguelph.ca (HELO zcs3.mail.uoguelph.ca) ([131.104.91.206]) by esa-jnhn-pri.mail.uoguelph.ca with ESMTP; 26 Nov 2011 21:03:46 -0500 Received: from zcs3.mail.uoguelph.ca (localhost.localdomain [127.0.0.1]) by zcs3.mail.uoguelph.ca (Postfix) with ESMTP id 0BD5FB3FE6; Sat, 26 Nov 2011 21:03:46 -0500 (EST) Date: Sat, 26 Nov 2011 21:03:46 -0500 (EST) From: Rick Macklem To: Pawel Jakub Dawidek Message-ID: <1798569802.431412.1322359425997.JavaMail.root@erie.cs.uoguelph.ca> In-Reply-To: <20111126165823.GD8794@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.91.202] X-Mailer: Zimbra 6.0.10_GA_2692 (ZimbraWebClient - FF3.0 (Win)/6.0.10_GA_2692) Cc: freebsd-fs@FreeBSD.org Subject: Re: 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: Sun, 27 Nov 2011 02:03:47 -0000 Pawel Jakub Dawidek wrote: > 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 > from 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. > Oh, and maybe you could try reverting r227543 in the client (assuming the client is post-r227543). Maybe that file's vnode type isn't set to VREG early in the diskless booting and needs the ncl_flush() for some reason. I don't actually have a bug that needs r227543 to fix it. It just seemed incorrect to flush non-VREG files (particularily VDIR). As such, reverting it wouldn't be a big deal. rick > -- > Pawel Jakub Dawidek http://www.wheelsystems.com > FreeBSD committer http://www.FreeBSD.org > Am I Evil? Yes, I Am! http://yomoli.com