echo
echo "Setting up NSDs"
nsdfile=/tmp/nsd.$$
-idfile=$(dirname $0)/shared_disk_ids
+idfile=$(dirname $0)/shared_disk_ids.@@CLUSTER@@
if [ -r "$idfile" ] ; then
pat=$(tr '\n' '|' <"$idfile" | sed -e 's@|$@@')
multipath -dl |
for SHARED_DISK_NUM in $(seq 1 $SHAREDDISK_COUNT) ; do
local DISK="${VIRTBASE}/${CLUSTER}/shared${SHARED_DISK_NUM}"
run_hooks hack_disk_hooks "shared"
+ local serial=$(sed -n "${SHARED_DISK_NUM}p" "$shared_disk_ids")
for p in $(seq 1 $paths) ; do
local dev="${devices[$n]}"
[ -n "$dev" ] || die "Too many shared disks! The function shared_disk_template needs to be hacked to allow more shared disks..."
<driver name='qemu' cache='@@SHARED_DISK_CACHE@@'/>
<source file='${DISK}'/>
<target dev='@@SHARED_DISK_PREFIX@@${dev}' bus='@@SHARED_DISK_TYPE@@'/>
+ <serial>${serial}</serial>
<shareable/>
</disk>
EOF
register_hook post_config_hooks shared_disk_post_config_hook
-shared_disk_ids="tmp/shared_disk_ids"
-
register_hook create_cluster_hooks shared_disk_setup
shared_disk_setup ()
{
+ shared_disk_ids="tmp/shared_disk_ids.${CLUSTER}"
rm -f "$shared_disk_ids"
if [ -n "$SHAREDDISKSIZE" -a -n "$SHAREDDISK_TEMPLATE" -a \