aboutsummaryrefslogtreecommitdiff
path: root/nvme/nvme-ebs-links
blob: c197a733518cf0879352ca3a3a6a9a41e1ccb986 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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 | 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