fix(msfs): correct virt child-dir-entry-map SIGHUP immutability check#110
fix(msfs): correct virt child-dir-entry-map SIGHUP immutability check#110joshuarobinson wants to merge 1 commit into
Conversation
The SIGHUP config-immutability guard for virt_child_dir_entry_map_page_evict_low_limit compared the *phys* field (globals.config.physChildDirEntryMapPageEvictLowLimit) instead of the virt field, so changing the virt low-limit via SIGHUP was silently accepted and the phys low-limit was checked twice. Also fix the adjacent phys_child_dir_entry_map_page_evict_low_limit guard, whose error message was mistakenly copied from the inode_eviction_queue block. Found in merged MR !907. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
📝 WalkthroughWalkthroughCorrects two SIGHUP configuration validation issues: one reported setting name and one comparison that used physical instead of virtual configuration fields. ChangesSIGHUP validation
Estimated code review effort: 1 (Trivial) | ~5 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 golangci-lint (2.12.2)level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies" Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
multi-storage-file-system/config.go (1)
2135-2159: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winAdd regression coverage for the independent physical and virtual checks.
Test changing only each setting, asserting rejection and the correct setting name in the error. This protects against future copy/paste regressions between adjacent physical and virtual fields.
As per coding guidelines, run
go test ./...andjust analyzebefore submitting changes.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@multi-storage-file-system/config.go` around lines 2135 - 2159, Add regression tests for the SIGHUP validation covering each physical and virtual setting independently, including physChildDirEntryMapPageEvictLowLimit, physChildDirEntryMapPageEvictHighLimit, physChildDirEntryMapPageDirtyFlushTrigger, physChildDirEntryMapFlushedPerGC, and virtChildDirEntryMapKeysPerPageMax. For each case, change only that field, assert rejection, and verify the error names the corresponding setting correctly; run go test ./... and just analyze.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@multi-storage-file-system/config.go`:
- Around line 2135-2159: Add regression tests for the SIGHUP validation covering
each physical and virtual setting independently, including
physChildDirEntryMapPageEvictLowLimit, physChildDirEntryMapPageEvictHighLimit,
physChildDirEntryMapPageDirtyFlushTrigger, physChildDirEntryMapFlushedPerGC, and
virtChildDirEntryMapKeysPerPageMax. For each case, change only that field,
assert rejection, and verify the error names the corresponding setting
correctly; run go test ./... and just analyze.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 9bee474a-bdc4-47c7-8e11-7d0a807c5994
📒 Files selected for processing (1)
multi-storage-file-system/config.go
The SIGHUP config-immutability guard for
virt_child_dir_entry_map_page_evict_low_limit compared the phys field (globals.config.physChildDirEntryMapPageEvictLowLimit) instead of the virt field, so changing the virt low-limit via SIGHUP was silently accepted and the phys low-limit was checked twice.
Also fix the adjacent phys_child_dir_entry_map_page_evict_low_limit guard, whose error message was mistakenly copied from the inode_eviction_queue block.
Found in merged MR !907.
Description
Change description.
{Relates to/Closes} {Task ID}.
Checklist
.release_notes/.unreleased.mdmulti-storage-client/pyproject.toml.release_notes/.unreleased.md.release_notes/{bumped package version}.mdfile.Summary by CodeRabbit