Conversation
Locate the mountinfo separator field instead of assuming a fixed offset, and join any trailing fields into super options so unescaped spaces in values (e.g. Docker Desktop 9p path= on WSL2) do not break parsing. Use SplitN when parsing key=value mount options. Fixes prometheus#872 Signed-off-by: arimu1 <19286898+arimu1@users.noreply.github.com>
CI lint failed because the composite literal alignment was not gofmt-clean. Signed-off-by: arimu1 <19286898+arimu1@users.noreply.github.com>
arimu1
force-pushed
the
fix/mountinfo-super-options-space-872
branch
from
September 27, 2026 05:48
c0db6ff to
69effe4
Compare
Member
|
I'm thinking #874 is a more robust solution. What do you think? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
-separator by scanning fields after mount options instead of assuming a fixed index from the end of the line.path=on WSL2) parse correctly.strings.SplitN(..., "=", 2)so embedded=in values is preserved.Fixes #872
Test plan
go test -run '^TestMountInfo$|^TestParseMountInfo' ./proc/self/mountinfoline from mountinfo: parse fails when super options contain an unescaped space (WSL2 + Docker Desktop 9p mount) #872 (Docker Desktop 9p mount at/Docker/host)