mirror of
https://github.com/vdsm/virtual-dsm.git
synced 2025-06-07 17:07:58 +08:00
Update disk.sh
This commit is contained in:
parent
eb6c15eebc
commit
1b4a52c4b9
43
src/disk.sh
43
src/disk.sh
@ -90,6 +90,7 @@ supportsDirect() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
createDisk() {
|
createDisk() {
|
||||||
|
|
||||||
local DISK_FILE=$1
|
local DISK_FILE=$1
|
||||||
local DISK_SPACE=$2
|
local DISK_SPACE=$2
|
||||||
local DISK_DESC=$3
|
local DISK_DESC=$3
|
||||||
@ -152,8 +153,8 @@ createDisk() {
|
|||||||
qcow2)
|
qcow2)
|
||||||
|
|
||||||
local DISK_PARAM="$DISK_ALLOC"
|
local DISK_PARAM="$DISK_ALLOC"
|
||||||
isCow "$FS" && DISK_PARAM="$DISK_PARAM,nocow=on"
|
isCow "$FS" && DISK_PARAM+=",nocow=on"
|
||||||
[ -n "$DISK_FLAGS" ] && DISK_PARAM="$DISK_PARAM,$DISK_FLAGS"
|
[ -n "$DISK_FLAGS" ] && DISK_PARAM+=",$DISK_FLAGS"
|
||||||
|
|
||||||
if ! qemu-img create -f "$DISK_FMT" -o "$DISK_PARAM" -- "$DISK_FILE" "$DATA_SIZE" ; then
|
if ! qemu-img create -f "$DISK_FMT" -o "$DISK_PARAM" -- "$DISK_FILE" "$DATA_SIZE" ; then
|
||||||
rm -f "$DISK_FILE"
|
rm -f "$DISK_FILE"
|
||||||
@ -173,6 +174,7 @@ createDisk() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
resizeDisk() {
|
resizeDisk() {
|
||||||
|
|
||||||
local DISK_FILE=$1
|
local DISK_FILE=$1
|
||||||
local DISK_SPACE=$2
|
local DISK_SPACE=$2
|
||||||
local DISK_DESC=$3
|
local DISK_DESC=$3
|
||||||
@ -238,6 +240,7 @@ resizeDisk() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
convertDisk() {
|
convertDisk() {
|
||||||
|
|
||||||
local SOURCE_FILE=$1
|
local SOURCE_FILE=$1
|
||||||
local SOURCE_FMT=$2
|
local SOURCE_FMT=$2
|
||||||
local DST_FILE=$3
|
local DST_FILE=$3
|
||||||
@ -268,18 +271,19 @@ convertDisk() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
html "Converting $DISK_DESC to $DST_FMT..."
|
local msg="Converting $DISK_DESC to $DST_FMT"
|
||||||
info "Converting $DISK_DESC to $DST_FMT, please wait until completed..."
|
html "$msg..."
|
||||||
|
info "$msg, please wait until completed..."
|
||||||
|
|
||||||
local CONV_FLAGS="-p"
|
local CONV_FLAGS="-p"
|
||||||
local DISK_PARAM="$DISK_ALLOC"
|
local DISK_PARAM="$DISK_ALLOC"
|
||||||
isCow "$FS" && DISK_PARAM="$DISK_PARAM,nocow=on"
|
isCow "$FS" && DISK_PARAM+=",nocow=on"
|
||||||
|
|
||||||
if [[ "$DST_FMT" != "raw" ]]; then
|
if [[ "$DST_FMT" != "raw" ]]; then
|
||||||
if [[ "$ALLOCATE" == [Nn]* ]]; then
|
if [[ "$ALLOCATE" == [Nn]* ]]; then
|
||||||
CONV_FLAGS="$CONV_FLAGS -c"
|
CONV_FLAGS+=" -c"
|
||||||
fi
|
fi
|
||||||
[ -n "$DISK_FLAGS" ] && DISK_PARAM="$DISK_PARAM,$DISK_FLAGS"
|
[ -n "$DISK_FLAGS" ] && DISK_PARAM+=",$DISK_FLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
@ -308,13 +312,15 @@ convertDisk() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
html "Conversion of $DISK_DESC completed..."
|
msg="Conversion of $DISK_DESC"
|
||||||
info "Conversion of $DISK_DESC to $DST_FMT completed succesfully!"
|
html "$msg completed..."
|
||||||
|
info "$msg to $DST_FMT completed succesfully!"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
checkFS () {
|
checkFS () {
|
||||||
|
|
||||||
local FS=$1
|
local FS=$1
|
||||||
local DISK_FILE=$2
|
local DISK_FILE=$2
|
||||||
local DISK_DESC=$3
|
local DISK_DESC=$3
|
||||||
@ -348,6 +354,7 @@ checkFS () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
createDevice () {
|
createDevice () {
|
||||||
|
|
||||||
local DISK_FILE=$1
|
local DISK_FILE=$1
|
||||||
local DISK_TYPE=$2
|
local DISK_TYPE=$2
|
||||||
local DISK_INDEX=$3
|
local DISK_INDEX=$3
|
||||||
@ -366,22 +373,22 @@ createDevice () {
|
|||||||
echo "$result"
|
echo "$result"
|
||||||
;;
|
;;
|
||||||
"usb" )
|
"usb" )
|
||||||
result="$result,if=none \
|
result+=",if=none \
|
||||||
-device usb-storage,drive=${DISK_ID}${index}"
|
-device usb-storage,drive=${DISK_ID}${index}"
|
||||||
echo "$result"
|
echo "$result"
|
||||||
;;
|
;;
|
||||||
"ide" )
|
"ide" )
|
||||||
result="$result,if=none \
|
result+=",if=none \
|
||||||
-device ide-hd,drive=${DISK_ID},bus=ide.$DISK_INDEX,rotation_rate=$DISK_ROTATION${index}"
|
-device ide-hd,drive=${DISK_ID},bus=ide.$DISK_INDEX,rotation_rate=$DISK_ROTATION${index}"
|
||||||
echo "$result"
|
echo "$result"
|
||||||
;;
|
;;
|
||||||
"blk" | "virtio-blk" )
|
"blk" | "virtio-blk" )
|
||||||
result="$result,if=none \
|
result+=",if=none \
|
||||||
-device virtio-blk-pci,drive=${DISK_ID},scsi=off,bus=pcie.0,addr=$DISK_ADDRESS,iothread=io2${index}"
|
-device virtio-blk-pci,drive=${DISK_ID},scsi=off,bus=pcie.0,addr=$DISK_ADDRESS,iothread=io2${index}"
|
||||||
echo "$result"
|
echo "$result"
|
||||||
;;
|
;;
|
||||||
"scsi" | "virtio-scsi" )
|
"scsi" | "virtio-scsi" )
|
||||||
result="$result,if=none \
|
result+=",if=none \
|
||||||
-device virtio-scsi-pci,id=${DISK_ID}b,bus=pcie.0,addr=$DISK_ADDRESS,iothread=io2 \
|
-device virtio-scsi-pci,id=${DISK_ID}b,bus=pcie.0,addr=$DISK_ADDRESS,iothread=io2 \
|
||||||
-device scsi-hd,drive=${DISK_ID},bus=${DISK_ID}b.0,channel=0,scsi-id=0,lun=0,rotation_rate=$DISK_ROTATION${index}"
|
-device scsi-hd,drive=${DISK_ID},bus=${DISK_ID}b.0,channel=0,scsi-id=0,lun=0,rotation_rate=$DISK_ROTATION${index}"
|
||||||
echo "$result"
|
echo "$result"
|
||||||
@ -392,6 +399,7 @@ createDevice () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addDisk () {
|
addDisk () {
|
||||||
|
|
||||||
local DISK_BASE=$1
|
local DISK_BASE=$1
|
||||||
local DISK_TYPE=$2
|
local DISK_TYPE=$2
|
||||||
local DISK_DESC=$3
|
local DISK_DESC=$3
|
||||||
@ -436,6 +444,7 @@ addDisk () {
|
|||||||
else
|
else
|
||||||
PREV_FMT="qcow2"
|
PREV_FMT="qcow2"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PREV_EXT=$(fmt2ext "$PREV_FMT")
|
PREV_EXT=$(fmt2ext "$PREV_FMT")
|
||||||
|
|
||||||
if [ -s "$DISK_BASE.$PREV_EXT" ] ; then
|
if [ -s "$DISK_BASE.$PREV_EXT" ] ; then
|
||||||
@ -458,12 +467,13 @@ addDisk () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
OPTS=$(createDevice "$DISK_FILE" "$DISK_TYPE" "$DISK_INDEX" "$DISK_ADDRESS" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE")
|
OPTS=$(createDevice "$DISK_FILE" "$DISK_TYPE" "$DISK_INDEX" "$DISK_ADDRESS" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE")
|
||||||
DISK_OPTS="$DISK_OPTS $OPTS"
|
DISK_OPTS+=" $OPTS"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
addDevice () {
|
addDevice () {
|
||||||
|
|
||||||
local DISK_DEV=$1
|
local DISK_DEV=$1
|
||||||
local DISK_TYPE=$2
|
local DISK_TYPE=$2
|
||||||
local DISK_INDEX=$3
|
local DISK_INDEX=$3
|
||||||
@ -474,7 +484,7 @@ addDevice () {
|
|||||||
|
|
||||||
local OPTS
|
local OPTS
|
||||||
OPTS=$(createDevice "$DISK_DEV" "$DISK_TYPE" "$DISK_INDEX" "$DISK_ADDRESS" "raw" "$DISK_IO" "$DISK_CACHE")
|
OPTS=$(createDevice "$DISK_DEV" "$DISK_TYPE" "$DISK_INDEX" "$DISK_ADDRESS" "raw" "$DISK_IO" "$DISK_CACHE")
|
||||||
DISK_OPTS="$DISK_OPTS $OPTS"
|
DISK_OPTS+=" $OPTS"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -585,7 +595,8 @@ else
|
|||||||
addDisk "$DISK4_FILE" "$DISK_TYPE" "disk4" "$DISK4_SIZE" "6" "0xf" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $?
|
addDisk "$DISK4_FILE" "$DISK_TYPE" "disk4" "$DISK4_SIZE" "6" "0xf" "$DISK_FMT" "$DISK_IO" "$DISK_CACHE" || exit $?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DISK_OPTS="$DISK_OPTS -object iothread,id=io2"
|
DISK_OPTS+=" -object iothread,id=io2"
|
||||||
|
|
||||||
html "Initialized disks successfully..."
|
html "Initialized disks successfully..."
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user