Skip to content

Fix TFile gap coalescing#19251

Draft
jblomer wants to merge 2 commits into
root-project:masterfrom
jblomer:tfile-fix-gaps
Draft

Fix TFile gap coalescing#19251
jblomer wants to merge 2 commits into
root-project:masterfrom
jblomer:tfile-fix-gaps

Conversation

@jblomer
Copy link
Copy Markdown
Contributor

@jblomer jblomer commented Jul 2, 2025

Fixes #19245

@jblomer jblomer self-assigned this Jul 2, 2025
@jblomer jblomer requested a review from pcanal as a code owner July 2, 2025 09:59
@jblomer jblomer added the in:I/O label Jul 2, 2025
@jblomer jblomer marked this pull request as draft July 2, 2025 10:00
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 2, 2025

Test Results

    21 files      21 suites   3d 4h 49m 7s ⏱️
 3 861 tests  3 860 ✅ 0 💤  1 ❌
72 440 runs  72 421 ✅ 0 💤 19 ❌

For more details on these failures, see this check.

Results for commit 5389843.

♻️ This comment has been updated with latest results.

@jblomer jblomer force-pushed the tfile-fix-gaps branch 3 times, most recently from c0549c0 to 6449f14 Compare July 7, 2025 13:35
@jblomer jblomer changed the title Fix TFile gap coalescing (partially) Fix TFile gap coalescing Jul 7, 2025
@jblomer jblomer requested a review from silverweed July 7, 2025 13:37
@jblomer jblomer marked this pull request as ready for review July 7, 2025 13:37
Comment thread io/io/src/TFile.cxx Outdated
Comment thread io/io/src/TFree.cxx Outdated
Comment thread io/io/inc/TFree.h Outdated
Comment thread io/io/src/TFree.cxx Outdated
@jblomer jblomer force-pushed the tfile-fix-gaps branch 2 times, most recently from 2e74c8e to e0cecd7 Compare July 18, 2025 16:00
@jblomer jblomer requested review from pcanal and silverweed July 18, 2025 16:01
@jblomer
Copy link
Copy Markdown
Contributor Author

jblomer commented Jul 22, 2025

... still some non-understood issues on recovery, working on that.

@jblomer jblomer force-pushed the tfile-fix-gaps branch 3 times, most recently from 721bd0b to 5389843 Compare June 1, 2026 19:40
jblomer added 2 commits June 1, 2026 21:41
Prevent merged free segments from becoming bigger than 2GB. Requires
additional code to ensure that gaps at the end of the file are always
merged.
This avoids tainting the recovered free list by stale entries that were
read before. It also allows for stronger assertions in TFree::AddFree().
@jblomer jblomer marked this pull request as draft June 2, 2026 07:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TFile issues when coalescing gaps

3 participants