d92bbfc7c9
Ensure that the EBS volume alias matches what we expect it to be. Should fix issue #40.
28 lines
663 B
Bash
Executable File
28 lines
663 B
Bash
Executable File
#!/bin/sh
|
|
|
|
[ -x /usr/sbin/nvme ] || exit
|
|
|
|
case $ACTION in
|
|
add|"")
|
|
BASE=$(echo $MDEV | sed -re 's/^(nvme[0-9]+n[0-9]+).*/\1/')
|
|
PART=$(echo $MDEV | sed -re 's/nvme[0-9]+n[0-9]+p?//g')
|
|
until [ -n "$EBS" ]; do
|
|
EBS=$(
|
|
/usr/sbin/nvme id-ctrl "/dev/$BASE" -b 2>/dev/null |
|
|
dd bs=32 skip=96 count=1 2>/dev/null |
|
|
sed -nre '/^(s|xv)d[a-z]{1,2} +$/p' |
|
|
tr -d ' '
|
|
)
|
|
done
|
|
EBS=${EBS#/dev/}$PART
|
|
ln -sf "$MDEV" "${EBS/xvd/sd}"
|
|
ln -sf "$MDEV" "${EBS/sd/xvd}"
|
|
;;
|
|
remove)
|
|
for TARGET in sd* xvd*
|
|
do
|
|
[ "$(readlink $TARGET 2>/dev/null)" = "$MDEV" ] && rm -f "$TARGET"
|
|
done
|
|
;;
|
|
esac
|