Browse Source

add UUID support

Waldemar Brodkorb 11 years ago
parent
commit
ee495b8c50
2 changed files with 21 additions and 15 deletions
  1. 1 1
      package/base-files/Makefile
  2. 20 14
      package/base-files/src/etc/mdev/fs

+ 1 - 1
package/base-files/Makefile

@@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk
 
 PKG_NAME:=		base-files
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		86
+PKG_RELEASE:=		87
 PKG_SECTION:=		base
 PKG_DESCR:=		basic files and scripts
 

+ 20 - 14
package/base-files/src/etc/mdev/fs

@@ -1,24 +1,28 @@
 #!/bin/sh
-fs=$(grep -v "^#" /etc/fstab | grep "^/dev/${MDEV}[[:blank:]]"|awk '{ print $3}')
-mnt=$(grep -v "^#" /etc/fstab | grep "^/dev/${MDEV}[[:blank:]]"|awk '{ print $2}')
+uuid=$(blkid /dev/${MDEV} | sed -n '/^.*UUID="\([^"]*\)".*$/s//\1/p')
+if [ -z $uuid ];then
+	fs=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $3 }')
+	mnt=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $2 }')
+	disk="${MDEV}"
+else
+	fs=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $3 }')
+	mnt=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $2 }')
+	disk="${MDEV} (${uuid})"
+fi
+if [ -z $fs ];then
+	logger -t fs -s "Disk $disk not registered in /etc/fstab"
+	exit 0
+fi
+
 procfs=$fs
 if [ $fs = "ntfs-3g" ];then
 	procfs=fuse
 fi
 
-# fstab check
-adk_check() {
-	grep -v "^#" /etc/fstab | grep -q "^/dev/${MDEV}[[:blank:]]"
-	if [ $? -ne 0 ];then
-		logger -t fs -s "Disk ${MDEV} not registered in /etc/fstab"
-		exit 1
-	fi
-}
-
 # filesystem check
 adk_fsck() {
 	[ -x /usr/sbin/fsck.$fs ] && {
-		logger -t fs -s "Checking $fs filesystem on ${MDEV}"
+		logger -t fs -s "Checking $fs filesystem on $disk"
 			fsck -p -t $fs ${MDEV}
 	}
 }
@@ -28,8 +32,11 @@ adk_mount() {
 	mkdir -p $mnt >/dev/null 2>&1
 	grep $procfs /proc/filesystems >/dev/null 2>&1
 	if [ $? -eq 0 ];then
-		logger -t fs -s "Mounting /dev/${MDEV} to $mnt"
+		logger -t fs -s "Mounting $disk to $mnt"
 		mount $mnt
+		if [ $? -ne 0 ];then
+			logger -t fs -s "Mounting $disk failed"
+		fi
 	else
 		logger -t fs -s "Required filesystem $procfs not available"
 	fi
@@ -38,7 +45,6 @@ adk_mount() {
 case "${ACTION}" in
 add)
 	logger -t fs -s "Device ${MDEV} added to the system"
-	adk_check
 	adk_fsck
 	adk_mount
 	;;