#!/sbin/sh -
# %W% %G% %U% - %Q%
#ident "%Z%unixvm:%M% %I%"

# Copyright (c) 2000 VERITAS Software Corporation.  ALL RIGHTS RESERVED.
# UNPUBLISHED -- RIGHTS RESERVED UNDER THE COPYRIGHT
# LAWS OF THE UNITED STATES.  USE OF A COPYRIGHT NOTICE
# IS PRECAUTIONARY ONLY AND DOES NOT IMPLY PUBLICATION
# OR DISCLOSURE.
# 
# THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND
# TRADE SECRETS OF VERITAS SOFTWARE.  USE, DISCLOSURE,
# OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR
# EXPRESS WRITTEN PERMISSION OF VERITAS SOFTWARE.
# 
#               RESTRICTED RIGHTS LEGEND
# USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT IS
# SUBJECT TO RESTRICTIONS AS SET FORTH IN SUBPARAGRAPH
# (C) (1) (ii) OF THE RIGHTS IN TECHNICAL DATA AND
# COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013.
#               VERITAS SOFTWARE
# 1600 PLYMOUTH STREET, MOUNTAIN VIEW, CA 94043


: ${VOLROOT_DIR:=$__VXVM_ROOT_DIR}
. ${VOL_SCRIPTS_LIB:-$VOLROOT_DIR/usr/lib/vxvm/lib}/vxcommon

quit()
{
	exit $1
}

# doit - execute a command, printing the command in verbose mode
doit() {
	[ "$verbose" ] && cat <<-% >&3
			! $*
			%
	[ -z "$noexec" ] && "$@"
}

progname=$0
usage=`progname="$progname" egettxt \
		'Usage: \$progname [-t tasktag] <disk-name>' vxvmshm:846`
Verbose=
t_tasktag=

while getopts :vVt: c
do
	case $c in
	v)	verbose=yes; v_opt=-v;;
	V)	Verbose=yes;;
	t)	t_tasktag="-t $OPTARG";;
	?)	echo "$usage" >&2; quit 1;;
	esac
done
shift `expr $OPTIND - 1`
if [ $# -ne 1 ]
then
	echo "$usage" >&2
	quit 1
fi

# Locate the root volume

vnames=`vxprint -F "%vname" -s\
    -e "(!sd_is_log) && 
    !any(assoc.aslist.sd_disk != sd_disk)" | sort -u`

dmname=$1
daname=`vxprint -g rootdg -dF '%daname' "$dmname" 2> /dev/null`
if [ -z "$daname" ]
then
	export dmname progname; egettxt \
		"$progname: Disk $dmname not found in configuration" \
		vxvmshm:992 $progname "$@" >&2
	quit 1
fi

if [ "X$daname" = X- ]
then
	export dmname progname; egettxt \
		"$progname: No backing device for disk $dmname" \
		vxvmshm:993 $progname "$@" >&2
	quit 1
fi

[ -n "$Verbose" ] && egettxt "  Mirror volume rootvol ..." vxvmshm:23
doit vxassist $t_tasktag mirror rootvol layout=contig,diskalign "$dmname" || quit 1
doit vxbootsetup $v_opt "$dmname" || quit 1

quit 0
