Skip to content

Use explicit descriptors for cache operations and file yanking ##io - #26895

Merged
trufae merged 2 commits into
masterfrom
fix-explicit-physical-io
Oct 4, 2026
Merged

trufae merged 2 commits into
masterfrom
fix-explicit-physical-io

Conversation

@trufae

@trufae trufae commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator

Follow up to #26118, based on current master (8b9fdb7cda).

Two independent commits use the descriptor already known by the caller:

  • Descriptor-cache listing and commits use the existing plugin-at APIs. They no longer swap the selected descriptor or overwrite the cache-mode bitmask, which previously broke subsequent cached writes. Cache-list destruction also frees the owned data buffers.
  • yf/yfa open, size and read the source descriptor directly. This removes the temporary map and dependence on file.loadalign, io.va and io.autofd. Invalid ranges and incomplete reads leave the clipboard intact; the selected descriptor, maps and seek remain unchanged.

This uses existing APIs, requires no ABI change and removes 44 lines of production code.

Validation: full make -j8 with master's sdb 2.5.6, the existing IO unit suite, git diff --check, and 84 fixture-independent r2r cases covering cache, file yanking, open, write and maps. All four new regression tests fail on unmodified master and pass with these fixes. The focused r2r run excludes 47 cases requiring unavailable binary fixtures.

@trufae
trufae merged commit 3b9702b into master Oct 4, 2026
48 of 51 checks passed
@trufae
trufae deleted the fix-explicit-physical-io branch October 4, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant