Skip to content

fix(boot): backport mounted usage stats to 7.3 - #2740

Open
SimonFair wants to merge 1 commit into
7.3from
fix/os-852-backport-boot-device-stats-7-3-3
Open

fix(boot): backport mounted usage stats to 7.3#2740
SimonFair wants to merge 1 commit into
7.3from
fix/os-852-backport-boot-device-stats-7-3-3

Conversation

@SimonFair

@SimonFair SimonFair commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

The 7.3.3 release-line backport restores used/free statistics for mounted boot partitions while keeping the aggregate navigation usage widget offline when the array is stopped.

Why This Exists

The 7.3 branch already contains the stopped-array utilization change from OS-804. Its array-state check also suppresses valid row-level statistics for a mounted boot partition, even though the corresponding data partition can be unmounted and should remain status-only. This backport addresses the OS-852 regression on the 7.3.3 release line.

Resolution

Keep the stopped-state guard in my_usage(), which owns the navigation widget, and restore fs_info() to use filesystem mount status as its row-level display contract. Mounted filesystems render their supplied used/free values regardless of array state; unmounted filesystems render status text. This is the targeted release-line equivalent of PR #2739.

Reviewer Considerations

  • The target branch is 7.3, the branch carrying the 7.3.3 release line.
  • fs_info() intentionally does not inspect fsState; the filesystem status distinguishes a mounted boot partition from an unmounted data partition.
  • The backport changes only device_list and the existing regression test; it does not alter the already-backported navigation behavior.

Behavior Changes

  • Stopped arrays show offline instead of a navigation usage percentage.
  • Stopped mounted boot partitions show used/free statistics.
  • Stopped unmounted data partitions show filesystem status without usage bars.
  • Started arrays retain their existing usage displays.

Implementation Summary

  • Restore fs_info() to gate usage on fsStatus == Mounted only.
  • Update the regression test for mounted internal/Flash boot partitions and an unmounted data partition.

Verification

  • php tests/stopped-array-utilization.php — passed.
  • php -l emhttp/plugins/dynamix/nchan/device_list — passed.
  • php -l emhttp/plugins/dynamix/include/Helpers.php — passed.
  • php -l tests/stopped-array-utilization.php — passed.
  • git diff --check — passed.

Risk

Low; the change restores the existing mount-status contract and leaves the stopped-array navigation guard unchanged.

Linear

Related to OS-852.

Restore row-level filesystem rendering to use mount status so mounted boot partitions keep their used/free statistics when the array is stopped. Keep the existing stopped-state guard in my_usage() for the aggregate navigation widget and cover mounted boot versus unmounted data partitions.

Refs: https://linear.app/lime-technology/issue/OS-852/740-beta12-regression-boot-device-usedfree-stats-missing-when-array-is
@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Team

Run ID: b1bcdc7c-9115-45cc-bf8d-dbfc8793b60f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

🔧 PR Test Plugin Available

A test plugin has been generated for this PR that includes the modified files.

Version: 2026.09.04.0936
Build: View Workflow Run

📥 Installation Instructions:

Install via Unraid Web UI:

  1. Go to Plugins → Install Plugin
  2. Copy and paste this URL:
https://preview.dl.unraid.net/pr-plugins/pr-2740/webgui-pr-2740.plg
  1. Click Install

Alternative: Direct Download

⚠️ Important Notes:

  • Testing only: This plugin is for testing PR changes
  • Backup included: Original files are automatically backed up
  • Easy removal: Files are restored when plugin is removed
  • Conflicts: Remove this plugin before installing production updates
  • Post-merge behavior: This preview stays available after merge until preview storage expires or it is manually cleaned up

📝 Modified Files:

Click to expand file list
emhttp/plugins/dynamix/nchan/device_list

🔄 To Remove:

Navigate to Plugins → Installed Plugins and remove webgui-pr-2740, or run:

plugin remove webgui-pr-2740

🤖 This comment is automatically generated and will be updated with each new push to this PR.

@SimonFair
SimonFair marked this pull request as ready for review September 4, 2026 09:38
@unraid-bot Unraid Bot (unraid-bot) added QA Passed QA passed (auto-managed by notification-worker) 7.3.3 Approved for release 7.3.3 (auto-managed by notification-worker) labels Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

7.3.3 Approved for release 7.3.3 (auto-managed by notification-worker) QA Passed QA passed (auto-managed by notification-worker)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants