vfs/disk: Fix EvictDiskVisibilityAndRecreateSafety flake #20

Merged
Ghost merged 4 commits from develop into main 2026-09-01 15:23:10 -05:00

Promote #19 from develop to main so default tip keeps the durable vfs/disk fix and md paths-ignore.

Fixes #18 (already closed by #19 if so).

What/Why/Test: see #19. CI green on develop PR.

Promote #19 from develop to main so default tip keeps the durable vfs/disk fix and md paths-ignore. Fixes https://git.s1d3sw1ped.com/s1d3sw1ped/steamcache2/issues/18 (already closed by #19 if so). What/Why/Test: see #19. CI green on develop PR.
Ghost added 4 commits 2026-09-01 15:21:07 -05:00
docs: Add CONTRIBUTING.md
CI / vulncheck (pull_request) Successful in 31s
CI / check-and-test (pull_request) Failing after 57s
0198e8990b
Contributors need a short guide for develop-targeted PRs, commit
subject form, and Gitea issue-closing rules.
New() launches background calculateSizeAndPopulateIndex which scans
disk and calls insertBatch. Create does not wait on initDone, so a
file can be written and indexed, discovered by the scan, then removed
from d.info and disk by EvictLRU/EvictBySize. insertBatch then
re-inserted the stale discoveredFile without checking the path still
existed, so Stat succeeded from the index while os.Stat failed.

Re-stat under the lock and skip gone files so evicted keys are not
resurrected.

Fixes #18.
ci: Skip test workflow on markdown-only pushes
CI / vulncheck (pull_request) Successful in 14s
CI / check-and-test (pull_request) Successful in 40s
acd006d4a2
Docs-only pushes to main (**.md / CONTRIBUTING.md) do not need the
full check-and-test job. Pull requests are unchanged.
vfs/disk: Fix EvictDiskVisibilityAndRecreateSafety flake
CI / vulncheck (pull_request) Successful in 14s
CI / check-and-test (pull_request) Successful in 41s
5d006ac44f
Ghost merged commit a2ac13d317 into main 2026-09-01 15:23:10 -05:00
Sign in to join this conversation.