martin f. krafft: Import udev vol_id handling from Ubuntu

Martin F. Krafft madduck at alioth.debian.org
Wed Jul 2 09:23:32 UTC 2008


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

Author: martin f. krafft <madduck at madduck.net>
Date:   Wed Jul  2 11:14:10 2008 +0200

Import udev vol_id handling from Ubuntu

---

 debian/changelog         |    2 ++
 debian/mdadm.vol_id.udev |   25 +++++++++++++++++++++++++
 debian/rules             |    1 +
 3 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 99f349d..6a07b23 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 mdadm (2.6.7-2) unstable; urgency=low
 
   * Remove mdrun completely.
+  * Import udev vol_id handling from Ubuntu, and thus finally export
+    /dev/disk/by-id/* and /dev/disk/by-uuid symlinks (closes: #435983).
 
  -- martin f. krafft <madduck at debian.org>  Wed, 02 Jul 2008 11:13:18 +0200
 
diff --git a/debian/mdadm.vol_id.udev b/debian/mdadm.vol_id.udev
new file mode 100644
index 0000000..8d988d9
--- /dev/null
+++ b/debian/mdadm.vol_id.udev
@@ -0,0 +1,25 @@
+# This file causes Linux RAID (mdadm) block devices to be checked for
+# further filesystems if the array is active.
+# See udev(8) for syntax
+
+SUBSYSTEM!="block", GOTO="mdadm_end"
+KERNEL!="md[0-9]*", GOTO="mdadm_end"
+ACTION!="add|change", GOTO="mdadm_end"
+
+# Check array status
+ATTR{md/array_state}=="|clear|inactive", GOTO="mdadm_end"
+
+# Obtain array information
+IMPORT{program}="/sbin/mdadm --detail --export $tempnode"
+ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}"
+ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
+
+# by-uuid and by-label symlinks
+IMPORT{program}="vol_id --export $tempnode"
+OPTIONS="link_priority=-100"
+ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", \
+                       SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
+ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \
+                       SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
+
+LABEL="mdadm_end"
diff --git a/debian/rules b/debian/rules
index 7f751d7..2463756 100755
--- a/debian/rules
+++ b/debian/rules
@@ -87,6 +87,7 @@ binary-arch: build install
 	dh_installexamples debian/newdisk
 	dh_installinit --init-script=mdadm-raid --no-start -- start 25 S . start 60 0 6 .
 	dh_installinit -- defaults 25
+	dh_installudev --priority=65 --name=vol_id
 	dh_installman
 	dh_installcron
 	dh_installchangelogs ChangeLog




More information about the pkg-mdadm-commits mailing list