Skip to content

filesystem: support ext4 super block emergency_ro flag#3717

Merged
SuperQ merged 1 commit into
prometheus:masterfrom
yadutaf:ext4-emergency-ro
Jul 9, 2026
Merged

filesystem: support ext4 super block emergency_ro flag#3717
SuperQ merged 1 commit into
prometheus:masterfrom
yadutaf:ext4-emergency-ro

Conversation

@yadutaf

@yadutaf yadutaf commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Since Linux 6.15, the ext4 superblock exposes the 'emergency_ro' flag when 'errors=remount-ro' has been triggered. The 'ro' flag is no longer set on the super block in this case since Linux 6.12.

reference:

This commit will allow reporting an ext4 filesystem as read-only, for Linux 6.15+. Hosts with a version between 6.12 and 6.15 or with a backport of the 6.12 fix will still report an 'emergency_ro' filesystem as read-write.

This was tested manually with a 6.18.x Kernel using a 'flakey' device mapper overlay for fault injection.

Since Linux 6.15, the ext4 superblock exposes the 'emergency_ro' flag
when 'errors=remount-ro' has been triggered. The 'ro' flag is no longer
set on the super block in this case since Linux 6.12.

reference:
- torvalds/linux@6b76715d5e41f
- torvalds/linux@d3476f3dad4ad

This commit will allow reporting an ext4 filesystem as read-only,
for Linux 6.15+. Hosts with a version between 6.12 and 6.15 or with a
backport of the 6.12 fix will still report an 'emergency_ro' filesystem
as read-write.

This was tested manually with a 6.18.x Kernel using a 'flakey' device
mapper overlay for fault injection.

Signed-off-by: Jean-Tiare Le Bigot <jean-tiare.lebigot@exoscale.ch>
@yadutaf yadutaf force-pushed the ext4-emergency-ro branch from bcd3cd8 to 760b148 Compare July 8, 2026 08:41
@yadutaf

yadutaf commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@SuperQ, @discordianfish Could you have a look? Thanks!

@SuperQ SuperQ left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, nice, thanks!

@SuperQ

SuperQ commented Jul 9, 2026

Copy link
Copy Markdown
Member

Thanks for the kernel source references, it helps.

@SuperQ SuperQ merged commit 512951b into prometheus:master Jul 9, 2026
17 checks passed
@SuperQ SuperQ mentioned this pull request Jul 10, 2026
SuperQ added a commit that referenced this pull request Jul 10, 2026
* [FEATURE] mountstats: Add NFS mountpoint info metric #3554
* [FEATURE] nvmesubsystem: Add new collector #3579
* [FEATURE] dmmultipath: Add new collector #3581
* [FEATURE] infiniband: Add device filtering option #3694
* [ENHANCEMENT] hwmon: disambiguate colliding chip labels #3646
* [ENHANCEMENT] cpufreq: Add support for cpuinfo_avg_freq #3712
* [ENHANCEMENT] filesystem: Support ext4 super block emergency_ro flag #3717
* [ENHANCEMENT] edac: Add per-channel error metrics with DIMM labels #3720
* [BUGFIX] diskstats: Only enforce mutual exclusivity for non-empty values #3617
* [BUGFIX] thermal_zone: Handle EINVAL errors gracefully #3657
* [BUGFIX] filesystem: Add comma separator in mount options #3659
* [BUGFIX] diskstats: Fix rotational queue stats scrape regression #3686
* [BUGFIX] filesystem: Prevent panic on mount points with non-UTF-8 names #3687

Signed-off-by: Ben Kochie <superq@gmail.com>
ajgon pushed a commit to deedee-ops/home-ops that referenced this pull request Jul 11, 2026
….1 ➔ v1.12.0) (#297)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [quay.io/prometheus/node-exporter](https://github.com/prometheus/node_exporter) | minor | `v1.11.1` → `v1.12.0` |

---

### Release Notes

<details>
<summary>prometheus/node_exporter (quay.io/prometheus/node-exporter)</summary>

### [`v1.12.0`](https://github.com/prometheus/node_exporter/releases/tag/v1.12.0): 1.12.0 / 2026-07-10

[Compare Source](prometheus/node_exporter@v1.11.1...v1.12.0)

- \[FEATURE] mountstats: Add NFS mountpoint info metric [#&#8203;3554](prometheus/node_exporter#3554)
- \[FEATURE] nvmesubsystem: Add new collector [#&#8203;3579](prometheus/node_exporter#3579)
- \[FEATURE] dmmultipath: Add new collector [#&#8203;3581](prometheus/node_exporter#3581)
- \[FEATURE] infiniband: Add device filtering option [#&#8203;3694](prometheus/node_exporter#3694)
- \[ENHANCEMENT] hwmon: disambiguate colliding chip labels [#&#8203;3646](prometheus/node_exporter#3646)
- \[ENHANCEMENT] cpufreq: Add support for cpuinfo\_avg\_freq [#&#8203;3712](prometheus/node_exporter#3712)
- \[ENHANCEMENT] filesystem: Support ext4 super block emergency\_ro flag [#&#8203;3717](prometheus/node_exporter#3717)
- \[ENHANCEMENT] edac: Add per-channel error metrics with DIMM labels [#&#8203;3720](prometheus/node_exporter#3720)
- \[BUGFIX] diskstats: Only enforce mutual exclusivity for non-empty values [#&#8203;3617](prometheus/node_exporter#3617)
- \[BUGFIX] thermal\_zone: Handle EINVAL errors gracefully [#&#8203;3657](prometheus/node_exporter#3657)
- \[BUGFIX] filesystem: Add comma separator in mount options [#&#8203;3659](prometheus/node_exporter#3659)
- \[BUGFIX] diskstats: Fix rotational queue stats scrape regression [#&#8203;3686](prometheus/node_exporter#3686)
- \[BUGFIX] filesystem: Prevent panic on mount points with non-UTF-8 names [#&#8203;3687](prometheus/node_exporter#3687)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Warsaw)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTcuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI1Ny40IiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvbWlub3IiXX0=-->

Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/297
eleboucher pushed a commit to eleboucher/homelab that referenced this pull request Jul 12, 2026
….1 ➔ v1.12.0) (#1526)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [quay.io/prometheus/node-exporter](https://github.com/prometheus/node_exporter) | minor | `v1.11.1` → `v1.12.0` |

---

### Release Notes

<details>
<summary>prometheus/node_exporter (quay.io/prometheus/node-exporter)</summary>

### [`v1.12.0`](https://github.com/prometheus/node_exporter/releases/tag/v1.12.0): 1.12.0 / 2026-07-10

[Compare Source](prometheus/node_exporter@v1.11.1...v1.12.0)

- \[FEATURE] mountstats: Add NFS mountpoint info metric [#&#8203;3554](prometheus/node_exporter#3554)
- \[FEATURE] nvmesubsystem: Add new collector [#&#8203;3579](prometheus/node_exporter#3579)
- \[FEATURE] dmmultipath: Add new collector [#&#8203;3581](prometheus/node_exporter#3581)
- \[FEATURE] infiniband: Add device filtering option [#&#8203;3694](prometheus/node_exporter#3694)
- \[ENHANCEMENT] hwmon: disambiguate colliding chip labels [#&#8203;3646](prometheus/node_exporter#3646)
- \[ENHANCEMENT] cpufreq: Add support for cpuinfo\_avg\_freq [#&#8203;3712](prometheus/node_exporter#3712)
- \[ENHANCEMENT] filesystem: Support ext4 super block emergency\_ro flag [#&#8203;3717](prometheus/node_exporter#3717)
- \[ENHANCEMENT] edac: Add per-channel error metrics with DIMM labels [#&#8203;3720](prometheus/node_exporter#3720)
- \[BUGFIX] diskstats: Only enforce mutual exclusivity for non-empty values [#&#8203;3617](prometheus/node_exporter#3617)
- \[BUGFIX] thermal\_zone: Handle EINVAL errors gracefully [#&#8203;3657](prometheus/node_exporter#3657)
- \[BUGFIX] filesystem: Add comma separator in mount options [#&#8203;3659](prometheus/node_exporter#3659)
- \[BUGFIX] diskstats: Fix rotational queue stats scrape regression [#&#8203;3686](prometheus/node_exporter#3686)
- \[BUGFIX] filesystem: Prevent panic on mount points with non-UTF-8 names [#&#8203;3687](prometheus/node_exporter#3687)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/1526
dadezzz pushed a commit to dadezzz/infra_docker-compose that referenced this pull request Jul 12, 2026
….12.0 (#511)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [quay.io/prometheus/node-exporter](https://github.com/prometheus/node_exporter) | minor | `v1.11.1` → `v1.12.0` |

---

### Release Notes

<details>
<summary>prometheus/node_exporter (quay.io/prometheus/node-exporter)</summary>

### [`v1.12.0`](https://github.com/prometheus/node_exporter/releases/tag/v1.12.0): 1.12.0 / 2026-07-10

[Compare Source](prometheus/node_exporter@v1.11.1...v1.12.0)

- \[FEATURE] mountstats: Add NFS mountpoint info metric [#&#8203;3554](prometheus/node_exporter#3554)
- \[FEATURE] nvmesubsystem: Add new collector [#&#8203;3579](prometheus/node_exporter#3579)
- \[FEATURE] dmmultipath: Add new collector [#&#8203;3581](prometheus/node_exporter#3581)
- \[FEATURE] infiniband: Add device filtering option [#&#8203;3694](prometheus/node_exporter#3694)
- \[ENHANCEMENT] hwmon: disambiguate colliding chip labels [#&#8203;3646](prometheus/node_exporter#3646)
- \[ENHANCEMENT] cpufreq: Add support for cpuinfo\_avg\_freq [#&#8203;3712](prometheus/node_exporter#3712)
- \[ENHANCEMENT] filesystem: Support ext4 super block emergency\_ro flag [#&#8203;3717](prometheus/node_exporter#3717)
- \[ENHANCEMENT] edac: Add per-channel error metrics with DIMM labels [#&#8203;3720](prometheus/node_exporter#3720)
- \[BUGFIX] diskstats: Only enforce mutual exclusivity for non-empty values [#&#8203;3617](prometheus/node_exporter#3617)
- \[BUGFIX] thermal\_zone: Handle EINVAL errors gracefully [#&#8203;3657](prometheus/node_exporter#3657)
- \[BUGFIX] filesystem: Add comma separator in mount options [#&#8203;3659](prometheus/node_exporter#3659)
- \[BUGFIX] diskstats: Fix rotational queue stats scrape regression [#&#8203;3686](prometheus/node_exporter#3686)
- \[BUGFIX] filesystem: Prevent panic on mount points with non-UTF-8 names [#&#8203;3687](prometheus/node_exporter#3687)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
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