From: Sage Weil Date: Mon, 17 Jun 2013 16:49:46 +0000 (-0700) Subject: ceph-disk-udev: set up by-partuuid, -typeuuid symlinks on ancient udev X-Git-Tag: v0.65~48^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d7f7d613512fe39ec883e11d201793c75ee05db1;p=ceph.git ceph-disk-udev: set up by-partuuid, -typeuuid symlinks on ancient udev Make the ancient-udev/blkid workaround script for RHEL/CentOS create the symlinks for us too. Signed-off-by: Sage Weil --- diff --git a/src/ceph-disk-udev b/src/ceph-disk-udev index 885f638a1e02..bdf524e6aea2 100755 --- a/src/ceph-disk-udev +++ b/src/ceph-disk-udev @@ -1,8 +1,9 @@ #! /bin/sh -# Wrapper for the ceph udev rules. Since older versions of udev do not support gpt label fields, this shell -# script is invoked from the udev rule to read the needed gpt label fields and call the appropriate ceph -# OSD functions. +# Wrapper for the ceph udev rules. Since older versions of udev+blkid +# do not support gpt label fields, this shell script is invoked from +# the udev rule to read the needed gpt label fields and call the +# appropriate ceph OSD functions. PARTNO=$1 NAME=$2 @@ -10,6 +11,19 @@ PARENT_NAME=$3 # Get GPT partition type guid ID_PART_ENTRY_TYPE=$(/usr/sbin/sgdisk --info=${PARTNO} /dev/${PARENT_NAME} | grep "Partition GUID code" | awk '{print $4}' | tr '[:upper:]' '[:lower:]') + +if [ -z "$ID_PART_ENTRY_TYPE" ]; then + exit +fi + +ID_PART_ENTRY_UUID=$(/usr/sbin/sgdisk --info=${PARTNO} /dev/${PARENT_NAME} | grep "Partition unique GUID" | awk '{print $4}' | tr '[:upper:]' '[:lower:]') + +# set up the symlinks +mkdir -p /dev/disk/by-partuuid +ln -sf ../../${NAME} /dev/disk/by-partuuid/$ID_PART_ENTRY_UUID +mkdir -p /dev/disk/by-parttypeuuid +ln -sf ../../${NAME} /dev/disk/by-parttypeuuid/${ID_PART_ENTRY_TYPE}.${ID_PART_ENTRY_UUID} + case $ID_PART_ENTRY_TYPE in 45b0969e-9b03-4f30-b4c6-b4b80ceff106) @@ -21,7 +35,6 @@ case $ID_PART_ENTRY_TYPE in 45b0969e-9b03-4f30-b4c6-5ec00ceff106) # DMCRYPT_JOURNAL_UUID # Map journal if using dm-crypt - ID_PART_ENTRY_UUID=$(/usr/sbin/sgdisk --info=${PARTNO} /dev/${PARENT_NAME} | grep "Partition unique GUID" | awk '{print $4}' | tr '[:upper:]' '[:lower:]') /sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/${ID_PART_ENTRY_UUID} --key-size 256 create ${ID_PART_ENTRY_UUID} /dev/${NAME} ;; @@ -35,7 +48,6 @@ case $ID_PART_ENTRY_TYPE in # DMCRYPT_OSD_UUID # Map data device and activate ceph-tagged partitions # for dm-crypted data devices - ID_PART_ENTRY_UUID=$(/usr/sbin/sgdisk --info=${PARTNO} /dev/${PARENT_NAME} | grep "Partition unique GUID" | awk '{print $4}' | tr '[:upper:]' '[:lower:]') /sbin/cryptsetup --key-file /etc/ceph/dmcrypt-keys/${ID_PART_ENTRY_UUID} --key-size 256 create ${ID_PART_ENTRY_UUID} /dev/${NAME} bash -c 'while [ ! -e /dev/mapper/${ID_PART_ENTRY_UUID} ];do sleep 1; done' /usr/sbin/ceph-disk-activate /dev/mapper/${ID_PART_ENTRY_UUID}