From owner-freebsd-current@FreeBSD.ORG Fri Aug 31 09:47:05 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 2930E1065674 for ; Fri, 31 Aug 2012 09:47:05 +0000 (UTC) (envelope-from decke@bluelife.at) Received: from mail-we0-f182.google.com (mail-we0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 827F68FC18 for ; Fri, 31 Aug 2012 09:47:04 +0000 (UTC) Received: by weyx56 with SMTP id x56so2007843wey.13 for ; Fri, 31 Aug 2012 02:47:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bluelife.at; s=google; h=mime-version:sender:x-originating-ip:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=Rz4nnMl8n/RjiAfo5x+4RnAK+RiMMvwPSLuf5MiNEIE=; b=gezXsNP/wcUEw59Ixa6++7FT1j1QPZABp3AAXQI3ojdeZMbNEv55layXbwxhJ4RTJU oNgdXOa8WaSB8Yjjb9yu1LwSgbtHX+qIh3aiiW1jxGBX0hcJqLKI2ya7VoSaCsei+Q9B lfvdYsTNpmC3F818cFS893H92f/E0MT4Vz+3s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:x-originating-ip:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :x-gm-message-state; bh=Rz4nnMl8n/RjiAfo5x+4RnAK+RiMMvwPSLuf5MiNEIE=; b=E+HGvdxdexeaP9WvvHMx7KWd6eMaty7i7QBST2ikY8uQSeWNsLaDl/WpaQpoMh1pKn rHhQeoO0ZS59c2FT4ACmCkiSRdRSxHyRuvjKyh5wTzt4m4BuDHaKwPmiHEDVUlJrlRmz 4g+Ex8C7u1bMIAogNRRDqqOaMEInxvA/Kny+T1ikxW+VFCIsbh0biHlRSctRJKGOM4Pj JuCYGd2C3jAyPLp7kH6XFdmV7vPL8VPR/Ppne/1HIRIqKVjdYrzpixJMiFg/lw9V+aEH 21yLggn/8F1/2tJltb0FM3dZANkJq5XWBAHfcvh/UXg3COehNExV29SH3IBARbBkBiq8 zi9g== MIME-Version: 1.0 Received: by 10.180.14.8 with SMTP id l8mr3456451wic.6.1346406423470; Fri, 31 Aug 2012 02:47:03 -0700 (PDT) Sender: decke@bluelife.at Received: by 10.180.90.15 with HTTP; Fri, 31 Aug 2012 02:47:03 -0700 (PDT) X-Originating-IP: [80.123.233.199] In-Reply-To: <20120830143426.GM33100@deviant.kiev.zoral.com.ua> References: <20120812132047.GA33526@psconsult.nl> <20120820123142.GY33100@deviant.kiev.zoral.com.ua> <20120830143426.GM33100@deviant.kiev.zoral.com.ua> Date: Fri, 31 Aug 2012 11:47:03 +0200 X-Google-Sender-Auth: JA2sghleFxrhennmbmU9jtf2C0A Message-ID: From: =?ISO-8859-1?Q?Bernhard_Fr=F6hlich?= To: Konstantin Belousov Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQkgwauJO4wsIhGH35gDeBJnhkTu3zN4cXUStAOkywRJkmAk28BOjytXoTtDkjAK0TsoP/j4 Cc: Garrett Cooper , Current FreeBSD , Paul Schenkeveld Subject: Re: make package fails in chroot: tar: getvfsbyname failed: No such file or directory 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: Fri, 31 Aug 2012 09:47:05 -0000 On Thu, Aug 30, 2012 at 4:34 PM, Konstantin Belousov wrote: > On Thu, Aug 30, 2012 at 04:07:48PM +0200, Bernhard Fr?hlich wrote: >> On Mon, Aug 20, 2012 at 2:31 PM, Konstantin Belousov >> wrote: >> > On Mon, Aug 20, 2012 at 01:42:31PM +0200, Bernhard Fr?hlich wrote: >> >> On Sun, Aug 19, 2012 at 10:01 PM, Tim Kientzle wrote: >> >> > >> >> > On Aug 19, 2012, at 12:17 PM, Garrett Cooper wrote: >> >> > >> >> >> On Sun, Aug 19, 2012 at 9:45 AM, Tim Kientzle wrote: >> >> >>> >> >> >>> On Aug 12, 2012, at 6:20 AM, Paul Schenkeveld wrote: >> >> >>> >> >> >>>> Hi, >> >> >>>> >> >> >>>> I have a wrapper script that builds packages in a chroot environment >> >> >>>> which happily runs on release 6 thru 9 and earlier 10 but fails with: >> >> >>>> >> >> >>>> tar: getvfsbyname failed: No such file or directory >> >> >>>> >> >> >>>> on a recent -CURRENT. >> >> >>> >> >> >>> libarchive does do an initial getvfsbyname() when you ask it >> >> >>> to traverse a directory tree so that it can accurately handle later >> >> >>> requests about mountpoints and filesystem types. This code >> >> >>> is admittedly a little intricate. >> >> >> >> >> >> The problem most likely is the fact that all mountpoints are >> >> >> exposed via chroot, thus, if it's checking to see if a mountpoint >> >> >> exists, it may exist outside of the chroot. >> >> >> >> >> > >> >> > I reviewed the code to refresh my memory. Some >> >> > of what I said before was not quite right. >> >> > >> >> > Libarchive's directory traversal tracks information about >> >> > the filesystem type so that clients such as bsdtar can >> >> > efficiently skip synthetic filesystems (/dev or /proc) or >> >> > network filesystems (NFS or SMB mounts). >> >> > >> >> > The net effect is something like this: >> >> > >> >> > For each file: >> >> > stat() or lstat() or fstat() the file >> >> > look up dev number in an internal cache >> >> > if the dev number is new: >> >> > fstatfs() the open fd to get the FS name >> >> > getvfsbyname() to identify the FS type >> >> > >> >> > Unless there's a logic error in libarchive itself, this >> >> > would suggest that somehow fstatfs() is returning >> >> > a filesystem type that getvfsbyname() can't >> >> > identify. >> >> > >> >> > Paul: >> >> > What filesystem are you using? >> >> > >> >> > What does "mount" show? >> >> > >> >> > Does it work outside the chroot? >> >> >> >> I also see the same on the redports.org build machines. >> >> It builds within a jail there which is completely on a tmpfs. >> >> Interestinly everything is fine with a 10-CURRENT/amd64 >> >> jail but it breaks in a 10-CURRENT/i386 jail. Both are >> >> running on the same 10-CURRENT/amd64 which is >> >> around 2 months old. >> >> >> >> https://redports.org/buildarchive/20120814130205-56327/ >> > >> > Try this. >> >> Is it possible that this requires the host system to be quite >> new? The commit in HEAD seems to doesn't help in my >> case. Host is 9-stable from Jun 27 and jail is 10-current from >> a few days ago. > Doh, the fix was in kernel, and I merged the change back to stable only > on August 27. > > Running HEAD world on stable is not supported anyway. I've updated the host to a recent 9-stable and it works like a charm now. Thanks for fixing it! -- Bernhard Froehlich http://www.bluelife.at/