Skip to content

Update array-configuration.md - #313

Merged
ljm42 merged 3 commits into
unraid:mainfrom
1JorgeB:patch-10
Sep 10, 2025
Merged

Update array-configuration.md#313
ljm42 merged 3 commits into
unraid:mainfrom
1JorgeB:patch-10

Conversation

@1JorgeB

@1JorgeB 1JorgeB commented Sep 10, 2025

Copy link
Copy Markdown
Contributor

With v6.12 and newer, stop array will be stuck in a retry loop if we don't mount a dummy fs in place of the one that was unmounted.

Before Submitting This PR, Please Ensure You Have Completed The Following:

  1. Are internal links to wiki documents using relative file links?
  2. Are all new documentation files lowercase, with dash separated names (ex. unraid-os.mdx)?
  3. Are all assets (images, etc), located in an assets/ subfolder next to the .md/mdx files?
  4. Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  5. Is the build succeeding?

Summary by CodeRabbit

  • Documentation
    • Updated array configuration guide for newer Unraid releases.
    • Manual disk-zeroing procedure now instructs creating and mounting a temporary 400MB filesystem image before zeroing; steps reordered so zeroing runs after the dummy mount.
    • Parity-preserve alternative updated for 6.12+ to include the dummy-image mount; 6.11 and earlier paths unchanged.
    • Zeroing command itself unchanged; wording clarified for compatibility and safety.

@coderabbitai

coderabbitai Bot commented Sep 10, 2025

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Documentation updates the manual disk-zeroing procedure for Unraid v6.12+ by adding a preliminary step that creates a 400M XFS image at /tmp/xmini.img, mounts it (loop) at /mnt/diskX, then runs the existing dd if=/dev/zero of=/dev/mdXp1 bs=1M zeroing command against the target partition. 6.11 and earlier paths unchanged.

Changes

Cohort / File(s) Summary
Docs: Unraid array zeroing procedure
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md
Inserted steps to create a 400M image (/tmp/xmini.img), format with mkfs.xfs, and mount it at /mnt/diskX (loop) before running dd if=/dev/zero of=/dev/mdXp1 bs=1M. Applied same change to the parity-preserve alternative for 6.12+. No exported/public interfaces changed.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Admin
  participant UnraidOS as Unraid OS
  participant DummyImg as /tmp/xmini.img (XFS)
  participant Target as /dev/mdXp1

  Admin->>UnraidOS: Stop array & ensure diskX unmounted
  Admin->>DummyImg: dd if=/dev/zero of=/tmp/xmini.img bs=1M count=400
  Admin->>DummyImg: mkfs.xfs /tmp/xmini.img
  Admin->>UnraidOS: mount -o loop /tmp/xmini.img /mnt/diskX
  Note over UnraidOS,DummyImg: Dummy filesystem mounted at /mnt/diskX
  Admin->>Target: dd if=/dev/zero of=/dev/mdXp1 bs=1M
  Note over Target: Target partition zeroed
  Admin->>UnraidOS: umount /mnt/diskX && rm /tmp/xmini.img
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks (2 passed, 1 inconclusive)

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The current title “Update array-configuration.md” only indicates which file was changed and does not convey the main purpose of the update, namely adding a dummy filesystem mounting step for Unraid v6.12 and newer; it is therefore too generic to help readers understand the key change at a glance. Consider renaming the pull request to something more specific, such as “Add dummy filesystem mount step for Unraid v6.12+ in array-configuration.md,” to clearly highlight the purpose of the change.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed The pull request description begins with a concise explanation of the behavior change for Unraid v6.12 and newer and then includes the full checklist template exactly as required by the repository’s description template, thereby covering all mandatory sections without omission.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I shaped a tiny XFS shell,
Placed it where the empty slots dwell.
Then zeros flowed in steady line,
A quiet wipe, a tidy sign.
Paws clap soft—procedure done, all well. 🐇✨


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d603326 and 53b0db7.

📒 Files selected for processing (1)
  • docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: AWS Amplify Console Web Preview
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

@aws-amplify-us-west-2

Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-313.d1o5s833kbd339.amplifyapp.com

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (3)

723-723: Mount loop explicitly to avoid environment-dependent failures.

Some systems won’t auto-create a loop device when mounting a regular file. Add -o loop for reliability.

-   mount /tmp/xmini.img /mnt/diskX
+   mount -o loop /tmp/xmini.img /mnt/diskX

719-719: Clarify version scope and expand “fs” for readability.

Spell out “filesystem” and reference “Unraid OS 6.12+” explicitly.

-2. With newer releases we need to mount a dummy fs image in place of the disk that we unmounted, or the array won't stop in the end:
+2. For Unraid OS 6.12 and newer, mount a dummy filesystem image in place of the disk you unmounted; otherwise, the array stop operation can get stuck in a retry loop:

726-728: Consider flushing writes and reducing cache effects in dd step.

Adding oflag=direct and conv=fsync (and a larger block size) can make the operation more predictable and sometimes faster.

-   dd bs=1M if=/dev/zero of=/dev/mdXp1 status=progress
+   dd bs=4M if=/dev/zero of=/dev/mdXp1 oflag=direct conv=fsync status=progress
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0cea473 and 0636a32.

📒 Files selected for processing (1)
  • docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md

720-720: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)


724-724: Trailing spaces
Expected: 0 or 2; Actual: 3

(MD009, no-trailing-spaces)


724-724: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: AWS Amplify Console Web Preview

Comment thread docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1)

719-727: Fix docs build blockers: blanks-around-fences, trailing spaces, and list numbering (MD031, MD009, MD029).

  • Add real blank lines (no whitespace) before/after the fenced block.
  • Remove trailing spaces in the mount line.
  • Continue ordered list as 3., not 4.

Apply:

-2. With newer releases we need to mount a dummy fs image in place of the disk that we unmounted, or the array won't stop in the end:
-   
-    ```bash
+2. With newer releases we need to mount a dummy fs image in place of the disk that we unmounted, or the array won't stop in the end:
+
+    ```bash
    truncate -s 400M /tmp/xmini.img
    mkfs.xfs -f /tmp/xmini.img > /dev/null
-   mount /tmp/xmini.img /mnt/diskX  
-   ```
-    
-4. Zero out the disk with the following command:
+   mount /tmp/xmini.img /mnt/diskX
+   ```
+
+3. Zero out the disk with the following command:
🧹 Nitpick comments (1)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1)

724-724: Mount image with loop device for reliability.

On some systems, mounting a regular file as a filesystem requires explicit loop; adding it avoids “wrong fs type/bad option” errors.

Apply:

-   mount /tmp/xmini.img /mnt/diskX
+   mount -o loop /tmp/xmini.img /mnt/diskX

(Optional: after completion, unmount and remove the image to tidy up: umount /mnt/diskX && rm -f /tmp/xmini.img.)

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0636a32 and 715ee52.

📒 Files selected for processing (1)
  • docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md

720-720: Trailing spaces
Expected: 0 or 2; Actual: 3

(MD009, no-trailing-spaces)


726-726: Trailing spaces
Expected: 0 or 2; Actual: 4

(MD009, no-trailing-spaces)


727-727: Ordered list item prefix
Expected: 3; Actual: 4; Style: 1/2/3

(MD029, ol-prefix)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: AWS Amplify Console Web Preview

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1)

727-730: Confirm device path note (mdXp1 on 6.12+).

Looks correct to target /dev/mdXp1 on 6.12+ and /dev/mdX on ≤6.11 as you already split below; just double‑check against current Unraid guidance.

Confirm that in Unraid OS 6.12+ the md device path includes the partition suffix (e.g., /dev/md3p1) and that dd should target /dev/mdXp1, while ≤6.11 uses /dev/mdX.
🧹 Nitpick comments (1)
docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1)

719-726: Tighten wording, fix minor lint risks, and mount the image read-only via loop.

  • Prefer “filesystem” over “fs” and clarify scope (6.12+).
  • Use -o loop,ro to avoid unintended writes and be explicit about loop mounting.
  • Remove trailing spaces on the mount line and keep fence indentation consistent.
-2. With newer releases we need to mount a dummy fs image in place of the disk that we unmounted, or the array won't stop in the end:
+2. With Unraid 6.12 and later, mount a dummy filesystem image in place of the unmounted disk to prevent the array stop from getting stuck:

-    ```bash
-   truncate -s 400M /tmp/xmini.img
-   mkfs.xfs -f /tmp/xmini.img > /dev/null
-   mount /tmp/xmini.img /mnt/diskX  
-   ```
+   ```bash
+   truncate -s 400M /tmp/xmini.img
+   mkfs.xfs -f /tmp/xmini.img > /dev/null
+   mount -o loop,ro /tmp/xmini.img /mnt/diskX
+   ```
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 715ee52 and d603326.

📒 Files selected for processing (1)
  • docs/unraid-os/using-unraid-to/manage-storage/array-configuration.md (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: AWS Amplify Console Web Preview

With v6.12 and newer, stop array will be stuck in a retry loop if we don't mount a dummy fs in place of the one that was unmounted.
Applied coderabbit's suggestions.
@ljm42
ljm42 merged commit b9b74b6 into unraid:main Sep 10, 2025
3 checks passed
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