diff --git a/sys/fs/tarfs/tarfs_vfsops.c b/sys/fs/tarfs/tarfs_vfsops.c --- a/sys/fs/tarfs/tarfs_vfsops.c +++ b/sys/fs/tarfs/tarfs_vfsops.c @@ -991,7 +991,7 @@ MNT_IUNLOCK(mp); vfs_getnewfsid(mp); - vfs_mountedfrom(mp, "tarfs"); + vfs_mountedfrom(mp, from); TARFS_DPF(FS, "%s: success\n", __func__); return (0); diff --git a/tests/sys/fs/tarfs/tarfs_test.sh b/tests/sys/fs/tarfs/tarfs_test.sh --- a/tests/sys/fs/tarfs/tarfs_test.sh +++ b/tests/sys/fs/tarfs/tarfs_test.sh @@ -38,10 +38,12 @@ atf_set "require.user" "root" } tarfs_basic_body() { + local tarball="${PWD}/tarfs_test.tar.zst" kldload -n tarfs || atf_skip "This test requires tarfs and could not load it" mkdir "${mnt}" - "${mktar}" tarfs_test.tar.zst - atf_check mount -rt tarfs tarfs_test.tar.zst "${mnt}" + "${mktar}" "${tarball}" + atf_check mount -rt tarfs "${tarball}" "${mnt}" + atf_check -o match:"^${tarball} on ${mnt} \(tarfs," mount atf_check_equal "$(stat -f%d,%i "${mnt}"/sparse_file)" "$(stat -f%d,%i "${mnt}"/hard_link)" atf_check_equal "$(stat -f%d,%i "${mnt}"/sparse_file)" "$(stat -L -f%d,%i "${mnt}"/short_link)" atf_check_equal "$(stat -f%d,%i "${mnt}"/sparse_file)" "$(stat -L -f%d,%i "${mnt}"/long_link)"