From owner-freebsd-current@FreeBSD.ORG Mon Aug 20 11:42:39 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 828AF106566B for ; Mon, 20 Aug 2012 11:42:39 +0000 (UTC) (envelope-from decke@bluelife.at) Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by mx1.freebsd.org (Postfix) with ESMTP id 072758FC08 for ; Mon, 20 Aug 2012 11:42:38 +0000 (UTC) Received: by wgbds11 with SMTP id ds11so5189676wgb.31 for ; Mon, 20 Aug 2012 04:42:31 -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=xXV+hvQuCPJfDMldXvixIhJh74ZcmjaUQ8AzfWPpdeg=; b=b+y7+hVf3Vsr0bEnYWNq69y58sEqD9XMmhkKWpTGZ6U/L0r+dG9B8jM8aZB64EQIip rs+zTzRoUvW69f9UTuYhvNerTt369Tba83M9XBLoPv0tMLm+P5C80D50VTZJq7RjFl6k TWHKYzDxXC98gnXB4u/RzKYqL7/nZSOgm5xc4= 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=xXV+hvQuCPJfDMldXvixIhJh74ZcmjaUQ8AzfWPpdeg=; b=pGv+JPJM0FRsgfNeH9rjh1/5rPSi8nXc/wqeejUiK1pLL1CzL46grAurOVubgN0n38 6JipYUEwNJc9yILT8Mo/001hZsHJj2vVath7g8Vs5vHtWk0W8SE99s9jDt1r6qsG+jWB Ut0DzSHcYqSpoDlm2ghxHAwUAhRV9NhUlgGoyLnV0mzIiFD6pDObM5YQ1tnLhAmyYVeN qhdFaERiJWmOqZCDXjIytqrK1MENUzYoRQ8l0lTJAsAWIY3oAlupys/ICNVinA8NDE2G BvP+ZkzLB927hW2VbPSwG9qdUhmkdfBYpND92PNuc2BXyjOP5Q+vz5N9gwit51WyPfsu Lacg== MIME-Version: 1.0 Received: by 10.180.81.38 with SMTP id w6mr28302443wix.10.1345462951692; Mon, 20 Aug 2012 04:42:31 -0700 (PDT) Sender: decke@bluelife.at Received: by 10.180.90.15 with HTTP; Mon, 20 Aug 2012 04:42:31 -0700 (PDT) X-Originating-IP: [80.123.233.199] In-Reply-To: References: <20120812132047.GA33526@psconsult.nl> Date: Mon, 20 Aug 2012 13:42:31 +0200 X-Google-Sender-Auth: GahuyOQ7q0KEUBagyMzrNgPib1M Message-ID: From: =?ISO-8859-1?Q?Bernhard_Fr=F6hlich?= To: Tim Kientzle Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQkRArfSb2rBdngQkdg5aKk7uJiTWEg0+v+40Okpa9Cer0rpcPT8azHXzvDnSRrjHlhzTJeq 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: Mon, 20 Aug 2012 11:42:39 -0000 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/ -- Bernhard Froehlich http://www.bluelife.at/