aboutsummaryrefslogtreecommitdiff
path: root/nvme-ebs-links.sh
blob: ca8c4f6f0f5a4decb61499068ff20ff3c1fbad05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/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')
    EBS=$(/usr/sbin/nvme id-ctrl "/dev/$BASE" -b 2>/dev/null | dd bs=32 skip=96 count=1 2>/dev/null | tr -d ' ')
    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