Skip to content

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

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

fix(filesystem): add comma separator in mountOptionsString#3659
LeandroSaldivarmrf wants to merge 1 commit 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 <ray.tien0907@gmail.com>
Signed-off-by: LeandroSaldivarmrf <leandro.saldivar@marfeel.com>
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.

1 participant