27.12.2012 Views

The Virtualization Cookbook for SLES 10 SP2 - z/VM - IBM

The Virtualization Cookbook for SLES 10 SP2 - z/VM - IBM

The Virtualization Cookbook for SLES 10 SP2 - z/VM - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

set_online $target_mdisk<br />

target_dev_node=`cat /proc/dasd/devices | grep "$target_mdisk(ECKD)" | awk '{ print $7<br />

}'`<br />

source_dev_node=`cat /proc/dasd/devices | grep "$source_mdisk(ECKD)" | awk '{ print $7<br />

}'`<br />

wait_<strong>for</strong>_device /dev/$target_dev_node<br />

ret_val=$?<br />

if [ $ret_val -eq 0 ] ; then<br />

[ -n "$VERBOSE" ] && echo "Invoking Linux command: dasdfmt -p -b 4096 -y -f<br />

/dev/$target_dev_node"<br />

[ -n "$VERBOSE" ] && progress="-p"<br />

dasdfmt $progress -b 4096 -y -f /dev/$target_dev_node<br />

[ $? -ne 0 ] && echo "Error: dasdfmt failed" && ret_val=1<br />

fi<br />

if [ $ret_val -eq 0 ] ; then<br />

wait_<strong>for</strong>_device /dev/$source_dev_node<br />

ret_val=$?<br />

fi<br />

if [ $ret_val -eq 0 ] ; then<br />

[ -n "$VERBOSE" ] && \<br />

echo "Invoking Linux command: dd bs=1M if=/dev/$source_dev_node<br />

of=/dev/$target_dev_node"<br />

dd bs=1M if=/dev/$source_dev_node of=/dev/$target_dev_node >/dev/null<br />

[ $? -ne 0 ] && echo "Error: dd failed" && ret_val=1<br />

fi<br />

# Put the source and target devices offline<br />

set_offline $target_mdisk<br />

set_offline $source_mdisk<br />

return $ret_val<br />

}<br />

#+--------------------------------------------------------------------------+<br />

function link_one<br />

# This will link one minidisk from another user id as the target minidisk<br />

# address on the current z/<strong>VM</strong> user id with a link mode indicated by the<br />

# 4th argument.<br />

#<br />

# Arg1: Source z/<strong>VM</strong> ID<br />

# Arg2: Source minidisk virtual address<br />

# Arg3: Target minidisk virtual address<br />

# Arg4: Link mode (rr/w)<br />

#+--------------------------------------------------------------------------+<br />

{<br />

source_id=$1<br />

source_mdisk=$2<br />

target_mdisk=$3<br />

link_mode=$4<br />

cp_cmd QUERY VIRTUAL $target_mdisk<br />

if [ $? != 40 ]; then<br />

cp_cmd DETACH $target_mdisk<br />

fi<br />

Appendix B. Source code 255

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!