X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=sbin%2Flvrename;h=8a10502adadbe51f221c438f376c47ddbe9083e3;hb=30c709cf804c99125988941d2bef869599c49d43;hp=c51e734b2fafceeedce60a88dca4f9b7ff68b2aa;hpb=46f013588ad8fb29dcbf6aaec5573fdcaaa24110;p=ganeti-extstorage-zfs diff --git a/sbin/lvrename b/sbin/lvrename index c51e734..8a10502 100755 --- a/sbin/lvrename +++ b/sbin/lvrename @@ -1,11 +1,17 @@ -#!/bin/sh -x +#!/bin/sh -ex . /usr/share/ganeti/extstorage/zfs/defaults.sh # lvrename ffzgvg cc9b16d9-7d14-452a-9150-74521bd8e721.disk0 d275c91f-70a7-4270-972c-b020fde9580b.disk0_data if [ "$EXTP_VG" = "$1" ] ; then - zfs rename $EXTP_ZFS/$2 $EXTP_ZFS/$3 + # delete snapshots which can't be renamed + + zfs rename $EXTP_ZFS/$2 $EXTP_ZFS/$3 || ( + # rename filesystems with snapshots using clone/promote + zfs snap $EXTP_ZFS/$2@$3 + zfs clone $EXTP_ZFS/$2@$3 $EXTP_ZFS/$3 + ) else /sbin/lvm lvrename $* fi