Page MenuHomeFreeBSD

copy_file_range: Call vn_rdwr() even for zero-length files
ClosedPublic

Authored by markj on Jan 20 2024, 5:29 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Oct 12, 1:00 AM
Unknown Object (File)
Wed, Sep 30, 7:22 PM
Unknown Object (File)
Sat, Sep 26, 6:05 PM
Unknown Object (File)
Sep 13 2026, 1:24 PM
Unknown Object (File)
Sep 11 2026, 12:22 AM
Unknown Object (File)
Sep 9 2026, 11:51 PM
Unknown Object (File)
Sep 8 2026, 11:00 AM
Unknown Object (File)
Sep 6 2026, 3:52 PM
Subscribers

Details

Summary

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

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 55512
Build 52401: arc lint + arc unit

Event Timeline

markj requested review of this revision.Jan 20 2024, 5:29 PM
This revision is now accepted and ready to land.Jan 20 2024, 6:45 PM

Needs rebasing but passes the additional test from D44609.

sys/kern/vfs_vnops.c
3573

Instead of adding a flag, you could simply switch from while to do-while.

sys/kern/vfs_vnops.c
3573

It's not that simple - we could have interrupted != 0 before the first iteration.

This revision was automatically updated to reflect the committed changes.