Skip to content

fix(filesystem): add comma separator in mountOptionsString#3659

Open
LeandroSaldivarmrf wants to merge 2 commits into
prometheus:masterfrom
LeandroSaldivarmrf:fix/filesystem-readonly-mount-options
Open

fix(filesystem): add comma separator in mountOptionsString#3659
LeandroSaldivarmrf wants to merge 2 commits into
prometheus:masterfrom
LeandroSaldivarmrf:fix/filesystem-readonly-mount-options

Conversation

@LeandroSaldivarmrf
Copy link
Copy Markdown

@discordianfish — supersedes #3507 which has been inactive since December 2025.

mountOptionsString() was concatenating mount options without a separator, so isFilesystemReadOnly()'s strings.Split(opts, ",") could never find "ro" when it appeared alongside other
options. As a result node_filesystem_readonly incorrectly reported 0 for any multi-option read-only mount, including ZFS filesystems mounted read-only and ext4 filesystems after a kernel
emergency remount-ro triggered by errors=remount-ro.

Also preallocate the slice with len(m) capacity, as suggested in review on #3507, to avoid repeated reallocations during append.

mountOptionsString() was concatenating mount options without a
separator, so isFilesystemReadOnly()'s strings.Split(opts, ",") could
never find "ro" when it appeared alongside other options. As a
result node_filesystem_readonly incorrectly reported 0 for any
multi-option read-only mount, including ZFS filesystems mounted
read-only and ext4 filesystems after a kernel emergency
remount-ro triggered by errors=remount-ro.

Also preallocate the slice with len(m) capacity, as suggested in
review on prometheus#3507, to avoid repeated reallocations during append.

Fixes: prometheus#3484
Fixes: prometheus#3576
Co-authored-by: Ray Tien <[email protected]>
Signed-off-by: LeandroSaldivarmrf <[email protected]>
@nicolastakashi
Copy link
Copy Markdown

@LeandroSaldivarmrf overall it looks great, but I'd suggest the addition of a regression test, just to be safe here that everything is working.

@LeandroSaldivarmrf LeandroSaldivarmrf force-pushed the fix/filesystem-readonly-mount-options branch from e33b936 to 6de5129 Compare June 4, 2026 12:14
@LeandroSaldivarmrf
Copy link
Copy Markdown
Author

@nicolastakashi Thanks for the feedback! I've added two regression tests: TestMountOptionsString to verify the comma-separated output directly, and TestMountOptionsStringReadOnlyDetection to cover the end-to-end path, including the ZFS/remount-ro scenario from the original bug reports

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.

2 participants