Support blktype as an alternative to vol_id
[ext/instance-debootstrap.git] / common.sh.in
index 2acab86..6c6c3b9 100644 (file)
@@ -160,15 +160,21 @@ CACHE_DIR="@localstatedir@/cache/ganeti-instance-debootstrap"
 
 SCRIPT_NAME=$(basename $0)
 
-for dir in /lib/udev /sbin; do
-  if [ -f $dir/vol_id -a -x $dir/vol_id ]; then
-    VOL_ID=$dir/vol_id
-  fi
-done
+if [ -f /sbin/blkid -a -x /sbin/blkid ]; then
+  VOL_ID="/sbin/blkid -o value -s UUID"
+  VOL_TYPE="/sbin/blkid -o value -s TYPE"
+else
+  for dir in /lib/udev /sbin; do
+    if [ -f $dir/vol_id -a -x $dir/vol_id ]; then
+      VOL_ID="$dir/vol_id -u"
+      VOL_TYPE="$dir/vol_id -t"
+    fi
+  done
+fi
 
 if [ -z "$VOL_ID" ]; then
-    log_error "vol_id not found, please install udev"
-    exit 1
+  log_error "vol_id or blkid not found, please install udev or util-linux"
+  exit 1
 fi
 
 if [ -z "$OS_API_VERSION" -o "$OS_API_VERSION" = "5" ]; then