diff --git a/src/datastore_mad/remotes/lvm/clone b/src/datastore_mad/remotes/lvm/clone index 3807fe8f31..1bd1ded118 100755 --- a/src/datastore_mad/remotes/lvm/clone +++ b/src/datastore_mad/remotes/lvm/clone @@ -40,7 +40,7 @@ ID=$2 XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" -unset i XPATH_ELEMENTS +unset i j XPATH_ELEMENTS while IFS= read -r -d '' element; do XPATH_ELEMENTS[i++]="$element" @@ -50,11 +50,11 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/IMAGE/PATH \ /DS_DRIVER_ACTION_DATA/IMAGE/SIZE) -BASE_PATH="${XPATH_ELEMENTS[0]}" -DST_HOST="${XPATH_ELEMENTS[1]:-$HOST}" -VG_NAME="${XPATH_ELEMENTS[2]:-$VG_NAME}" -SRC="${XPATH_ELEMENTS[3]}" -SIZE="${XPATH_ELEMENTS[4]}" +BASE_PATH="${XPATH_ELEMENTS[j++]}" +DST_HOST="${XPATH_ELEMENTS[j++]:-$HOST}" +VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}" +SRC="${XPATH_ELEMENTS[j++]}" +SIZE="${XPATH_ELEMENTS[j++]}" SAFE_DIRS="" diff --git a/src/datastore_mad/remotes/lvm/cp b/src/datastore_mad/remotes/lvm/cp index 4ec7f325f0..f699c7367c 100755 --- a/src/datastore_mad/remotes/lvm/cp +++ b/src/datastore_mad/remotes/lvm/cp @@ -44,7 +44,7 @@ UTILS_PATH="${DRIVER_PATH}/.." XPATH="$UTILS_PATH/xpath.rb -b $DRV_ACTION" -unset i XPATH_ELEMENTS +unset i j XPATH_ELEMENTS while IFS= read -r -d '' element; do XPATH_ELEMENTS[i++]="$element" @@ -60,17 +60,17 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/NO_DECOMPRESS \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/LIMIT_TRANSFER_BW) -BASE_PATH="${XPATH_ELEMENTS[0]}" -RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}" -SAFE_DIRS="${XPATH_ELEMENTS[2]}" -DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}" -VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}" -SRC="${XPATH_ELEMENTS[5]}" -SIZE="${XPATH_ELEMENTS[6]}" -MD5="${XPATH_ELEMENTS[7]}" -SHA1="${XPATH_ELEMENTS[8]}" -NO_DECOMPRESS="${XPATH_ELEMENTS[9]}" -LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[10]}" +BASE_PATH="${XPATH_ELEMENTS[j++]}" +RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}" +SAFE_DIRS="${XPATH_ELEMENTS[j++]}" +DST_HOST="${XPATH_ELEMENTS[j++]:-$HOST}" +VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}" +SRC="${XPATH_ELEMENTS[j++]}" +SIZE="${XPATH_ELEMENTS[j++]}" +MD5="${XPATH_ELEMENTS[j++]}" +SHA1="${XPATH_ELEMENTS[j++]}" +NO_DECOMPRESS="${XPATH_ELEMENTS[j++]}" +LIMIT_TRANSFER_BW="${XPATH_ELEMENTS[j++]}" set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" diff --git a/src/datastore_mad/remotes/lvm/mkfs b/src/datastore_mad/remotes/lvm/mkfs index 4f8f2c56ef..b568887387 100755 --- a/src/datastore_mad/remotes/lvm/mkfs +++ b/src/datastore_mad/remotes/lvm/mkfs @@ -42,7 +42,7 @@ ID=$2 XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" -unset i XPATH_ELEMENTS +unset i j XPATH_ELEMENTS while IFS= read -r -d '' element; do XPATH_ELEMENTS[i++]="$element" @@ -54,13 +54,13 @@ done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/BASE_PATH \ /DS_DRIVER_ACTION_DATA/IMAGE/FSTYPE \ /DS_DRIVER_ACTION_DATA/IMAGE/SIZE) -BASE_PATH="${XPATH_ELEMENTS[0]}" -RESTRICTED_DIRS="${XPATH_ELEMENTS[1]}" -SAFE_DIRS="${XPATH_ELEMENTS[2]}" -DST_HOST="${XPATH_ELEMENTS[3]:-$HOST}" -VG_NAME="${XPATH_ELEMENTS[4]:-$VG_NAME}" -FSTYPE="${XPATH_ELEMENTS[5]}" -SIZE="${XPATH_ELEMENTS[6]}" +BASE_PATH="${XPATH_ELEMENTS[j++]}" +RESTRICTED_DIRS="${XPATH_ELEMENTS[j++]}" +SAFE_DIRS="${XPATH_ELEMENTS[j++]}" +DST_HOST="${XPATH_ELEMENTS[j++]:-$HOST}" +VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}" +FSTYPE="${XPATH_ELEMENTS[j++]}" +SIZE="${XPATH_ELEMENTS[j++]}" set_up_datastore "$BASE_PATH" "$RESTRICTED_DIRS" "$SAFE_DIRS" diff --git a/src/datastore_mad/remotes/lvm/monitor b/src/datastore_mad/remotes/lvm/monitor index ddbe61e7a5..f11fe7ac9c 100755 --- a/src/datastore_mad/remotes/lvm/monitor +++ b/src/datastore_mad/remotes/lvm/monitor @@ -41,15 +41,15 @@ ID=$2 XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" -unset i XPATH_ELEMENTS +unset i j XPATH_ELEMENTS while IFS= read -r -d '' element; do XPATH_ELEMENTS[i++]="$element" done < <($XPATH /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \ /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/VG_NAME) -HOST="${XPATH_ELEMENTS[0]:-$HOST}" -VG_NAME="${XPATH_ELEMENTS[1]-$VG_NAME}" +HOST="${XPATH_ELEMENTS[j++]:-$HOST}" +VG_NAME="${XPATH_ELEMENTS[j++]:-$VG_NAME}" # ------------ Compute datastore usage ------------- diff --git a/src/datastore_mad/remotes/lvm/rm b/src/datastore_mad/remotes/lvm/rm index ba629cd015..d4f5f2f6c8 100755 --- a/src/datastore_mad/remotes/lvm/rm +++ b/src/datastore_mad/remotes/lvm/rm @@ -40,25 +40,21 @@ ID=$2 XPATH="${DRIVER_PATH}/../xpath.rb -b $DRV_ACTION" -unset i XPATH_ELEMENTS +unset i j XPATH_ELEMENTS while IFS= read -r -d '' element; do XPATH_ELEMENTS[i++]="$element" done < <($XPATH /DS_DRIVER_ACTION_DATA/IMAGE/SOURCE \ - /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST \ - /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/BASE_TID) + /DS_DRIVER_ACTION_DATA/DATASTORE/TEMPLATE/HOST) -SRC="${XPATH_ELEMENTS[0]}" -DST_HOST="${XPATH_ELEMENTS[1]:-$HOST}" -BASE_TID="${XPATH_ELEMENTS[2]:-$BASE_TID}" +SRC="${XPATH_ELEMENTS[j++]}" +DST_HOST="${XPATH_ELEMENTS[j++]:-$HOST}" TARGET=`echo $SRC|$CUT -d: -f2` LV_NAME=`echo $TARGET|$AWK -F. '{print $(NF)}'` VG_NAME=`echo $TARGET|$AWK -F. '{print $(NF-1)}'` DEV="/dev/$VG_NAME/$LV_NAME" -let TID=ID+BASE_TID - RM_COMMAND=$(cat <