diff --git a/src/datastore_mad/remotes/iscsi/clone b/src/datastore_mad/remotes/iscsi/clone index 8b0fe39205..f60dd02fa8 100755 --- a/src/datastore_mad/remotes/iscsi/clone +++ b/src/datastore_mad/remotes/iscsi/clone @@ -51,7 +51,6 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BASE_IQN \ - /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BASE_TID \ /DS_DRIVER_ACTION_DATA/IMAGE/PATH \ /DS_DRIVER_ACTION_DATA/IMAGE/SIZE) @@ -62,9 +61,8 @@ UMASK="${XPATH_ELEMENTS[3]}" DST_HOST="${XPATH_ELEMENTS[4]:-$HOST}" VG_NAME="${XPATH_ELEMENTS[5]:-$VG_NAME}" BASE_IQN="${XPATH_ELEMENTS[6]:-$BASE_IQN}" -BASE_TID="${XPATH_ELEMENTS[7]:-$BASE_TID}" -SRC="${XPATH_ELEMENTS[8]}" -SIZE="${XPATH_ELEMENTS[9]}" +SRC="${XPATH_ELEMENTS[7]}" +SIZE="${XPATH_ELEMENTS[8]}" set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" "$UMASK" @@ -72,8 +70,6 @@ LV_NAME="lv-one-${ID}" IQN="$BASE_IQN:$DST_HOST.$VG_NAME.$LV_NAME" DEV="/dev/$VG_NAME/$LV_NAME" -let TID=ID+BASE_TID - LV_SRC=$(echo $SRC|awk -F. '{print $NF}') DEV_SRC="/dev/$VG_NAME/$LV_SRC" @@ -82,9 +78,12 @@ CLONE_CMD=$(cat <& /dev/null" +} + ### function iscsiadm_discovery { diff --git a/src/tm_mad/iscsi/clone b/src/tm_mad/iscsi/clone index 5d51fdabd4..ccce7f0df8 100755 --- a/src/tm_mad/iscsi/clone +++ b/src/tm_mad/iscsi/clone @@ -36,8 +36,78 @@ else TMCOMMON=$ONE_LOCATION/var/remotes/tm/tm_common.sh fi -. $TMCOMMON +DRIVER_PATH=$(dirname $0) -log_error "CLONE not supported for TM_ISCSI. Use persistent images" + . $TMCOMMON -exit 1 +source ${DRIVER_PATH}/../../datastore/iscsi/iscsi.conf + +#------------------------------------------------------------------------------- +# Set src, dst path and dir +#------------------------------------------------------------------------------- + +TARGET=`arg_path $SRC` + +DST_PATH=`arg_path $DST` +DST_HOST=`arg_host $DST` +DST_DIR=`dirname $DST_PATH` + +#------------------------------------------------------------------------------- +# IQN and TARGETs +#------------------------------------------------------------------------------- + +IQN=$SRC +NEW_IQN=$IQN-$VMID + +VG_NAME=`echo $TARGET|$AWK -F. '{print $(NF-1)}'` +LV_NAME=`echo $TARGET|$AWK -F. '{print $(NF)}'` +SOURCE_DEV="/dev/$VG_NAME/$LV_NAME" + +TARGET_LV_NAME=`echo $LV_NAME-$VMID` +TARGET_DEV="/dev/${VG_NAME}/${TARGET_LV_NAME}" +TARGET_HOST="${TARGET%.$VG_NAME.$LV_NAME}" + +#------------------------------------------------------------------------------- +# Clone script +#------------------------------------------------------------------------------- + +CLONE_CMD=$(cat <