echo
echo "Setting up NSDs"
nsdfile=/tmp/nsd.$$
-disks=$(multipath -dl | \
- sed -n -e 's/.*[[:space:]]\([^[:space:]][^[:space:]]*\)[[:space:]]\(QEMU\|AUTCLSTR\),.*/\1/p'
-)
-(
-for d in $disks; do
- echo $d:${nsd_servers}:::::
-done
-) > $nsdfile
+idfile=$(dirname $0)/shared_disk_ids
+if [ -r "$idfile" ] ; then
+ pat=$(tr '\n' '|' <"$idfile" | sed -e 's@|$@@')
+ multipath -dl |
+ sed -r -n -e "s@^[^[:space:]]+[[:space:]]+\(($pat)\)[[:space:]](dm-[^[:space:]]+).*@\1 \2@p" |
+ while read name disk ; do
+ name=$(echo "$name" | tr -d -c '[:alnum:]')
+ echo "${disk}:${nsd_servers}::dataAndMetadata:1:${name}:"
+ done >$nsdfile
+else
+ disks=$(multipath -dl | \
+ sed -n -e 's/.*[[:space:]]\([^[:space:]][^[:space:]]*\)[[:space:]]\(QEMU\|AUTCLSTR\),.*/\1/p')
+ (
+ for d in $disks; do
+ echo $d:${nsd_servers}:::::
+ done
+ ) > $nsdfile
+fi
mmcrnsd -F $nsdfile
mmlsnsd -m