martin f. krafft: translate between /dev/mdX and /dev/md/X

Martin F. Krafft madduck at alioth.debian.org
Fri Jan 29 06:19:59 UTC 2010


Module: mdadm
Branch: master
Commit: debb4be5b5bdf2819699fd2a65e19632d98a1c5c
URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=debb4be5b5bdf2819699fd2a65e19632d98a1c5c

Author: martin f. krafft <madduck at debian.org>
Date:   Fri Jan 29 18:37:03 2010 +1300

translate between /dev/mdX and /dev/md/X

Signed-off-by: martin f. krafft <madduck at debian.org>

---

 debian/changelog      |    1 +
 debian/initramfs/hook |   15 +++++++++++++++
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 6cd1eb8..a0e79bd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ mdadm (3.1.1-2) UNRELEASED; urgency=low
     bugscript output.
   * Check active devices against configuration file based on UUID, not device
     name.
+  * When preparing the list of devices, treat /dev/mdX and /dev/md/X equally.
 
  -- martin f. krafft <madduck at debian.org>  Wed, 27 Jan 2010 14:42:16 +1300
 
diff --git a/debian/initramfs/hook b/debian/initramfs/hook
index 9b73055..b9c619a 100644
--- a/debian/initramfs/hook
+++ b/debian/initramfs/hook
@@ -195,6 +195,21 @@ else
         esac
       done
       [ -n "${dev:-}" ] || continue
+
+      # /dev/mdX and /dev/md/X are the same, really
+      case "$dev" in
+        (/dev/md/*) alt=/dev/md${dev##*/};;
+        (/dev/md*) alt=/dev/md/${dev#/dev/md};;
+        (*)
+          err "unknown device encountered: $dev"
+          warn_emergency
+          exit 0
+          ;;
+      esac
+      if [ ! -b "$dev" ] && [ -b "$alt" ]; then
+        dev="$alt"
+      fi
+
       echo -n "${dev}:"
       if [ -n "${level:-}" ]; then
         echo -n "$level"




More information about the pkg-mdadm-commits mailing list