[Bug 263129] tar extract on unionfs doesn't work on 13.1-RC1 while it's OK on 12.3-RELEASE

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 08 Apr 2022 02:46:59 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263129

            Bug ID: 263129
           Summary: tar extract on unionfs doesn't work on 13.1-RC1 while
                    it's OK on 12.3-RELEASE
           Product: Base System
           Version: 13.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: t_uemura@macome.co.jp

On a stock 13.1-RC1 amd64 host, tar -x always fails in a unionfs mount
(readonly NFS below the local /usr/ports directory, in my case).

# cat /etc/fstab
...
192.168.1.14:/usr /mnt nfs ro,noinet6,bg,intr,nfsv3,tcp 0 0
/mnt/ports /usr/ports unionfs rw,noauto,noatime,below 0 0

# mount
...
192.168.1.14:/usr on /mnt (nfs, read-only)
<below>:/mnt/ports on /usr/ports (unionfs, noatime)

make extract in anywhere always fails with a bunch of "Could not stat" and "Not
a directory" error messages, like

# cd /usr/ports/ports-mgmt/pkg
# make -DBATCH extract
===>  License BSD2CLAUSE accepted by the user
===> Fetching all distfiles required by pkg-1.17.5_1 for building
===>  Extracting for pkg-1.17.5_1
===>  License BSD2CLAUSE accepted by the user
===> Fetching all distfiles required by pkg-1.17.5_1 for building
=> SHA256 Checksum OK for freebsd-pkg-1.17.5_GH0.tar.gz.
pkg-1.17.5/.cirrus.yml: Could not stat pkg-1.17.5/.cirrus.yml: Not a directory
pkg-1.17.5/.gitignore: Could not stat pkg-1.17.5/.gitignore: Not a directory
pkg-1.17.5/.gitlab-ci.yml: Could not stat pkg-1.17.5/.gitlab-ci.yml: Not a
directory
...

At the same time, simple mkdir and/or touch work as expected.

# mkdir -p foo/bar
# touch foo/bar/baz
# ls -la foo/bar/baz
-rw-r--r--  1 root  wheel  0 Apr  8 11:37 foo/bar/baz

The above make extract (or any other targets) works without any hitch on
12.3-RELEASE so I think it's a regression.

-- 
You are receiving this mail because:
You are the assignee for the bug.