[roll] Roll fuchsia [starnix][kernel] Make DynamicFile::seek() lazy Changes DynamicFile::seek() to be lazy by removing the eager dummy read-internal invocation when seeking to nonzero offsets. Previously, eager seek was designed to force immediate data generation and evaluation of the dynamic file source during the seek() syscall. This was an artifact of DynamicFile initially being backed by SeqFileState, which always reset its cursor and buffer on a seek offset mismatch. Eager seeking was introduced to ensure that the dynamic file contents were generated and cached at the moment seek() was called, preventing inconsistencies with sequential reads when kernel states shifted. This eager evaluation is no longer necessary because DynamicFile's read() pipeline has matured to natively support dynamic catch-up and sequential resets on offset mismatches. Furthermore, evaluating state dynamically at read-time aligns with Linux's behavior on procfs and sysfs. Making seek() lazy has the following functional benefits: - Converts seeking in pseudo-dynamic files into a constant-time metadata operation, eliminating unnecessary generation overhead. - Corrects error reporting semantics to match Linux: lseek() past the end of a pseudo-dynamic file now succeeds eagerly, and only returns EOF or transient errors during the subsequent read(). The following new syscall tests verify behavioral parity with Linux: - ProcTaskDirTest.DynamicFileSeek - ProcTaskDirTest.DynamicFileSeekPastEnd Original-Original-Bug: 297440106 Test: starnix_core_tests Test: procfs_test Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1629477 Original-Original-Revision: 48c2b381515cfb1fe737d663770349777e32c8fa GitOrigin-RevId: aed064c367b6f8dcd1db440e414327b128d760d5 Change-Id: I1b31ec69f582c07651bca3892dc0489800cde0a6
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.