Bug#383891: mdadm: fix for 381181 prevents udev creating /dev/disk/* links

Libor Klepac libor.klepac at bcom.cz
Sun Aug 20 14:06:10 UTC 2006


Package: mdadm
Version: 2.5.2-10
Severity: normal

Hello, 
i was migrating system to new disk, creating new md arrays. I also tried
to use root=UUID=some-uuid in grub.
It fails, because udev rule prevents udev from creating symlinks in
/dev/disk/*
I have attached small script for initramfs, to be run from local-top,
and a patch for /e/i/mdadm-raid 

Now, i can boot system with root=UUID=uuid-of-fs-on-raid

But i'm little confused, md devices are in /dev/md/[0-9] not
/dev/md[0-9], attached script creates links to devices in /dev/md/

Is that new location or legacy location? i was creating partitions with
gparted

cu

libor


-- Package-specific info:
--- mount output
/dev/md/1 on / type xfs (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
usbfs on /proc/bus/usb type usbfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/md/2 on /home type xfs (rw,noatime)
/dev/hdb1 on /mnt/vault type xfs (rw,noatime)
/dev/sda5 on /mnt/sda6 type reiserfs (rw,noatime,user_xattr,acl)
binfmt on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
tmpfs on /dev type tmpfs (rw,size=10M,mode=0755)
nfsd on /proc/fs/nfsd type nfsd (rw)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

--- mdadm.conf
DEVICE /dev/sda* /dev/sdb*
#ARRAY /dev/md3 level=raid1 num-devices=2 UUID=e2e4749e:ba460f55:0bc4a643:d6298309
#ARRAY /dev/md4 level=raid1 num-devices=2 UUID=ab5bbc95:66ef9b16:e17949ec:7beb48dc
ARRAY /dev/md/1 level=raid1 num-devices=2 UUID=e2e4749e:ba460f55:0bc4a643:d6298309
ARRAY /dev/md/2 level=raid1 num-devices=2 UUID=ab5bbc95:66ef9b16:e17949ec:7beb48dc
MAILADDR jouda

--- /proc/mdstat:
Personalities : [raid1] 
md2 : active raid1 sdb5[0]
      15358016 blocks [2/1] [U_]
      
md1 : active raid1 sdb3[0]
      15358016 blocks [2/1] [U_]
      
md0 : active raid1 sda3[0]
      9767424 blocks [2/1] [U_]
      
unused devices: <none>

--- /proc/partitions:
major minor  #blocks  name

   8     0  195360984 sda
   8     1    9767488 sda1
   8     2     979965 sda2
   8     3    9767520 sda3
   8     4          1 sda4
   8     5   19535008 sda5
   8     6    9767488 sda6
   8    16  195359927 sdb
   8    17     819283 sdb1
   8    18    2048287 sdb2
   8    19   15358140 sdb3
   8    20          1 sdb4
   8    21   15358108 sdb5
   8    22   81923436 sdb6
   3    64  117220824 hdb
   3    65  117218241 hdb1
   9     0    9767424 md0
   9     1   15358016 md1
   9     2   15358016 md2

--- initrd.img-2.6.17-ck1-lev-1:
17214 blocks
etc/udev/mdadm.rules
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/md-mod.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/linear.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/multipath.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/raid0.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/raid1.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/xor.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/raid5.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/raid6.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/raid10.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/dm-mod.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/dm-snapshot.ko
lib/modules/2.6.17-ck1-lev-1/kernel/drivers/md/dm-mirror.ko
sbin/mdadm
scripts/local-top/mdadm
scripts/local-top/mdadmlink

--- /proc/modules:
dm_mirror 21072 0 - Live 0xf0be6000
dm_snapshot 17312 0 - Live 0xf0b91000
dm_mod 56088 2 dm_mirror,dm_snapshot, Live 0xf0c12000
raid1 23936 3 - Live 0xf0b8a000
md_mod 77460 3 raid1, Live 0xf0bfe000

--- volume detail:


-- System Information:
Debian Release: testing/unstable
  APT prefers experimental
  APT policy: (700, 'experimental'), (700, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-ck1-lev-1
Locale: LANG=cs_CZ.UTF-8, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)

Versions of packages mdadm depends on:
ii  debconf [debconf-2.0]        1.5.3       Debian configuration management sy
ii  libc6                        2.3.6.ds1-2 GNU C Library: Shared libraries
ii  lsb-base                     3.1-14      Linux Standard Base 3.1 init scrip
ii  makedev                      3.3.8.2-0   Creates device files in /dev

Versions of packages mdadm recommends:
ii  exim4-daemon-light [mail-tran 4.63-2     lightweight exim MTA (v4) daemon

-- debconf information:
* mdadm/autostart: true
  mdadm/initrdstart: all
* mdadm/warning:
* mdadm/start_daemon: true
* mdadm/mail_to: jouda
* mdadm/autocheck: true
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mdadmlink
Type: application/x-shellscript
Size: 450 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-mdadm-devel/attachments/20060820/8d131bf6/mdadmlink.bin
-------------- next part --------------
--- mdadm-raid.orig	2006-08-20 15:56:37.430521392 +0200
+++ mdadm-raid	2006-08-20 15:56:10.232656096 +0200
@@ -138,6 +138,14 @@
       else
         log_problem "no $CONFIG file"
       fi
+      for dev in `grep "^md" /proc/mdstat | sed -r 's/^md([0-9]+).*/\/dev\/md\/\1/'`; do
+        if [ "`/lib/udev/vol_id -l $dev`" != "" ]; then
+          ln -fs $dev /dev/disk/by-label/`/lib/udev/vol_id -l $dev`
+        fi
+        if [ "`/lib/udev/vol_id -u $dev`" != "" ]; then
+          ln -fs $dev /dev/disk/by-uuid/`/lib/udev/vol_id -u $dev`
+        fi    
+      done
     else
       log_notice "disabled in $DEBIANCONFIG"
     fi


More information about the pkg-mdadm-devel mailing list