Bug 274615

Summary: sys/fs/tmpfs/times_test:empty test fails with: Incorrect atime [1.051s]
Product: Base System Reporter: Ed Maste <emaste>
Component: testsAssignee: freebsd-testing (Nobody) <testing>
Status: Open ---    
Severity: Affects Only Me CC: des, jlduran, ngie
Priority: ---    
Version: 14.0-STABLE   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274602
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=249362

Description Ed Maste freebsd_committer freebsd_triage 2023-10-20 20:39:47 UTC
# kyua test -k /usr/tests/sys/fs/tmpfs/Kyuafile

Result:     failed: Incorrect atime
Start time: 2023-10-20T13:52:13.292723Z
End time:   2023-10-20T13:52:14.368358Z
Duration:   1.076s

Metadata:
    allowed_architectures is empty
    allowed_platforms is empty
    description = Tests that creating an empty file and later manipulating it updates times correctly
    has_cleanup = false
    is_exclusive = false
    required_configs is empty
    required_disk_space = 0
    required_files is empty
    required_memory = 0
    required_programs is empty
    required_user = root
    timeout = 300

Standard output:
Executing command [ mkdir /tmp/kyua.1N7Z2W/93/work/mntpt ]
mount -t tmpfs  tmpfs /tmp/kyua.1N7Z2W/93/work/mntpt
Executing command [ touch a ]
Executing command [ cat a ]

from markj in PR274602,
> The tmpfs one is understood, it's due to the use of copy_file_range() in cat(1).
Comment 1 Jose Luis Duran freebsd_committer freebsd_triage 2023-10-21 17:07:37 UTC
Related bug #249362, comment #5.
Comment 2 commit-hook freebsd_committer freebsd_triage 2023-10-22 15:00:23 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=63f537551380d2dab29fa402ad1269feae17e594

commit 63f537551380d2dab29fa402ad1269feae17e594
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-10-21 15:15:14 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-10-22 14:58:52 +0000

    Add expected failure for tmpfs atime test failing on FreeBSD

    PR:             274615
    Reviewed by:    ngie
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D42321

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 4 ++++
 1 file changed, 4 insertions(+)
Comment 3 commit-hook freebsd_committer freebsd_triage 2023-10-24 12:50:03 UTC
A commit in branch stable/14 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=465b393b731c621ce027b8542cb70ce50943edcc

commit 465b393b731c621ce027b8542cb70ce50943edcc
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-10-21 15:15:14 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-10-24 12:49:17 +0000

    Add expected failure for tmpfs atime test failing on FreeBSD

    PR:             274615
    Reviewed by:    ngie
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D42321

    (cherry picked from commit 63f537551380d2dab29fa402ad1269feae17e594)

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 4 ++++
 1 file changed, 4 insertions(+)
Comment 4 commit-hook freebsd_committer freebsd_triage 2023-10-24 19:17:20 UTC
A commit in branch releng/14.0 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=e40945c35f5c1a5b67cd70a1ffe007eeea6a2085

commit e40945c35f5c1a5b67cd70a1ffe007eeea6a2085
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-10-21 15:15:14 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-10-24 19:16:09 +0000

    Add expected failure for tmpfs atime test failing on FreeBSD

    PR:             274615
    Reviewed by:    ngie
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D42321

    (cherry picked from commit 63f537551380d2dab29fa402ad1269feae17e594)
    (cherry picked from commit 465b393b731c621ce027b8542cb70ce50943edcc)

    Approved by:    re (gjb)

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 4 ++++
 1 file changed, 4 insertions(+)
Comment 5 Dag-Erling Smørgrav freebsd_committer freebsd_triage 2024-04-03 09:48:39 UTC
89f1dcb3eb46 caused the empty test case to pass again, although it did not fix the bug.  I will be updating the test.
Comment 6 commit-hook freebsd_committer freebsd_triage 2024-04-04 13:42:06 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=8311bc5f17dec348749f763b82dfe2737bc53cd7

commit 8311bc5f17dec348749f763b82dfe2737bc53cd7
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2024-04-04 13:40:47 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2024-04-04 13:40:54 +0000

    tmpfs: Improve file time tests.

    * The empty test case no longer fails because 89f1dcb3eb46 causes empty
      files to bypass the bug.
    * The bug still exists, so add a test case which exercises it.
    * While here, tighten up some of the checks.

    A similar patch has been submitted upstream.

    PR:             274615
    X-MFC-With:     89f1dcb3eb46
    Sponsored by:   Juniper Networks, Inc.
    Sponsored by:   Klara, Inc.
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D44609

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 38 +++++++++++++++++++++++++++-----
 1 file changed, 32 insertions(+), 6 deletions(-)
Comment 7 commit-hook freebsd_committer freebsd_triage 2024-04-04 21:17:53 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=08f3d5b60cdfff434e391d96cdffc5a90c550b07

commit 08f3d5b60cdfff434e391d96cdffc5a90c550b07
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-04-04 15:18:03 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-04-04 21:03:07 +0000

    copy_file_range: Call vn_rdwr() at least once

    This ensures that we invoke VOP_READ on the input file even if it's
    empty, which in turn helps ensure that filesystems update the atime of
    the file.

    PR:             274615
    Reviewed by:    olce, rmacklem, kib
    MFC after:      1 month
    Differential Revision:  https://reviews.freebsd.org/D43524

 sys/kern/vfs_vnops.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
Comment 8 commit-hook freebsd_committer freebsd_triage 2024-04-04 21:18:03 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=8eb21b4ff0082a707517f805cf14616f91d9218e

commit 8eb21b4ff0082a707517f805cf14616f91d9218e
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-04-04 21:04:30 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-04-04 21:04:30 +0000

    tmpfs tests: Remove an xfail annotation

    This test passes after commit 08f3d5b60cdf ("copy_file_range: Call
    vn_rdwr() at least once").

    PR:             274615
    MFC after:      1 month

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 2 --
 1 file changed, 2 deletions(-)
Comment 9 commit-hook freebsd_committer freebsd_triage 2024-04-09 08:49:55 UTC
A commit in branch stable/14 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=e069c451f85e5a28f83bf4fba3b668777d2f9193

commit e069c451f85e5a28f83bf4fba3b668777d2f9193
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2024-04-04 13:40:47 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2024-04-09 08:36:04 +0000

    tmpfs: Improve file time tests.

    * The empty test case no longer fails because 89f1dcb3eb46 causes empty
      files to bypass the bug.
    * The bug still exists, so add a test case which exercises it.
    * While here, tighten up some of the checks.

    A similar patch has been submitted upstream.

    PR:             274615
    X-MFC-With:     89f1dcb3eb46
    Sponsored by:   Juniper Networks, Inc.
    Sponsored by:   Klara, Inc.
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D44609

    (cherry picked from commit 8311bc5f17dec348749f763b82dfe2737bc53cd7)

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 38 +++++++++++++++++++++++++++-----
 1 file changed, 32 insertions(+), 6 deletions(-)
Comment 10 commit-hook freebsd_committer freebsd_triage 2024-05-08 13:08:30 UTC
A commit in branch stable/14 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=e3b27cc3546fb39ec579d023b3520d15a1628021

commit e3b27cc3546fb39ec579d023b3520d15a1628021
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-04-04 15:18:03 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-05-08 13:06:16 +0000

    copy_file_range: Call vn_rdwr() at least once

    This ensures that we invoke VOP_READ on the input file even if it's
    empty, which in turn helps ensure that filesystems update the atime of
    the file.

    PR:             274615
    Reviewed by:    olce, rmacklem, kib
    MFC after:      1 month
    Differential Revision:  https://reviews.freebsd.org/D43524

    (cherry picked from commit 08f3d5b60cdfff434e391d96cdffc5a90c550b07)

 sys/kern/vfs_vnops.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
Comment 11 commit-hook freebsd_committer freebsd_triage 2024-05-08 13:08:32 UTC
A commit in branch stable/14 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=f55be6d9993a552b48f26d75f2229569b6eef8b0

commit f55be6d9993a552b48f26d75f2229569b6eef8b0
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2024-04-04 21:04:30 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2024-05-08 13:06:16 +0000

    tmpfs tests: Remove an xfail annotation

    This test passes after commit 08f3d5b60cdf ("copy_file_range: Call
    vn_rdwr() at least once").

    PR:             274615
    MFC after:      1 month

    (cherry picked from commit 8eb21b4ff0082a707517f805cf14616f91d9218e)

 contrib/netbsd-tests/fs/tmpfs/t_times.sh | 2 --
 1 file changed, 2 deletions(-)