From: Michael Tremer Date: Mon, 29 Nov 2010 00:22:57 +0000 (+0100) Subject: extrahd: Use UUID instead of device nodes. X-Git-Tag: v2.9-beta1~47 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=784d72a2897cfdc614973aa5314032b5a93ad864 extrahd: Use UUID instead of device nodes. --- diff --git a/config/extrahd/extrahd.pl b/config/extrahd/extrahd.pl index e4b2a483ab..5f623fd1b6 100644 --- a/config/extrahd/extrahd.pl +++ b/config/extrahd/extrahd.pl @@ -57,10 +57,10 @@ if ( "$ARGV[0]" eq "mount" ) { { @deviceline = split( /\;/, $deviceentry ); if ( "$ARGV[1]" eq "$deviceline[2]" ) { - print "Insert /dev/$deviceline[0] ($deviceline[1]) --> $deviceline[2] into /etc/fstab!\n"; + print "Insert $deviceline[0] ($deviceline[1]) --> $deviceline[2] into /etc/fstab!\n"; unless ( -d $deviceline[2] ) { system("/bin/mkdir -p $deviceline[2] && chmod 0777 $deviceline[2]"); } open(FILE, ">>$fstab"); - print FILE "/dev/$deviceline[0]\t$deviceline[2]\t$deviceline[1]\tdefaults\t0\t0\n"; + print FILE "$deviceline[0]\t$deviceline[2]\t$deviceline[1]\tdefaults\t0\t0\n"; close(FILE); } } diff --git a/html/cgi-bin/extrahd.cgi b/html/cgi-bin/extrahd.cgi index 741cba6023..fd3555468a 100644 --- a/html/cgi-bin/extrahd.cgi +++ b/html/cgi-bin/extrahd.cgi @@ -58,6 +58,7 @@ $extrahdsettings{'PATH'} = ''; $extrahdsettings{'FS'} = ''; $extrahdsettings{'DEVICE'} = ''; $extrahdsettings{'ACTION'} = ''; +$extrahdsettings{'UUID'} = ''; &General::readhash("${General::swroot}/extrahd/settings", \%extrahdsettings); &Header::getcgihash(\%extrahdsettings); @@ -89,7 +90,7 @@ if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'}) if ( "$ok" eq "true" ) { open(FILE, ">> $devicefile" ) or die "Unable to write $devicefile"; print FILE <  - /dev/$deviceline[0] + $deviceline[0] $deviceline[1] $deviceline[2] @@ -217,6 +218,7 @@ END + diff --git a/src/scripts/scanhd b/src/scripts/scanhd index f7f50d391d..9ae6e932d9 100644 --- a/src/scripts/scanhd +++ b/src/scripts/scanhd @@ -5,7 +5,11 @@ case "$1" in /sbin/kudzu -qps -c HD | egrep "desc|device:" | awk -F': ' '{print $2}' | sed -e '/"$/a\\' -e "s/$/\;/g" | tr "\n" "XX" | sed -e "s/XX/\n/g" -e "s/\;X/\;/g" > /var/ipfire/extrahd/scan ;; partitions) - cat /proc/partitions | awk '{print $4 ";" $3 ";"}' | grep -v name | grep -v "^;;$" > /var/ipfire/extrahd/partitions + cat /proc/partitions | awk '{print $4 " " $3 }' | grep -v name | grep -v "^[:space:]*$" | \ + while read device size; do + [ -z "${device}" ] && continue + echo "${device};${size};$(blkid -s UUID -o value /dev/${device});" + done > /var/ipfire/extrahd/partitions ;; *) echo "Usage: $0 (ide|partitions)"