#!/bin/csh -f
#ifndef _BLURB_
#define _BLURB_
#/*
#
#            Coda: an Experimental Distributed File System
#                             Release 4.0
#
#          Copyright (c) 1987-1996 Carnegie Mellon University
#                         All Rights Reserved
#
#Permission  to  use, copy, modify and distribute this software and its
#documentation is hereby granted,  provided  that  both  the  copyright
#notice  and  this  permission  notice  appear  in  all  copies  of the
#software, derivative works or  modified  versions,  and  any  portions
#thereof, and that both notices appear in supporting documentation, and
#that credit is given to Carnegie Mellon University  in  all  documents
#and publicity pertaining to direct or indirect use of this code or its
#derivatives.
#
#CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
#SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
#FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
#DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
#RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
#ANY DERIVATIVE WORK.
#
#Carnegie  Mellon  encourages  users  of  this  software  to return any
#improvements or extensions that  they  make,  and  to  grant  Carnegie
#Mellon the rights to redistribute these changes without encumbrance.
#*/
#
#static char *rcsid = "$Header: /afs/cs/project/coda-src/cvs/coda/coda-src/scripts/createvol,v 4.4 1998/01/20 20:53:06 braam Exp $";
#endif /*_BLURB_*/

# /*

#                          IBM COPYRIGHT NOTICE

#                           Copyright (C) 1986
#              International Business Machines Corporation
#                          All Rights Reserved

# This  file  contains  some  code identical to or derived from the 1986
# version of the Andrew File System ("AFS"), which is owned by  the  IBM
# Corporation.    This  code is provded "AS IS" and IBM does not warrant
# that it is free of infringement of  any  intellectual  rights  of  any
# third  party.    IBM  disclaims  liability of any kind for any damages
# whatsoever resulting directly or indirectly from use of this  software
# or  of  any  derivative work.  Carnegie Mellon University has obtained
# permission to distribute this code, which is based on Version 2 of AFS
# and  does  not  contain the features and enhancements that are part of
# Version 3 of AFS.  Version 3 of  AFS  is  commercially  available  and
# supported by Transarc Corporation, Pittsburgh, PA.

# */

#
# Check that we got the correct input
if ($#argv != 3) then
	echo "createvol volname server partition"
	exit 
endif

#
# Can only run these scripts from the SCM (Should this change?)
if (`cat /vice/hostname` != `cat /vice/db/scm`) then
        echo "This must be run from the scm ("`cat /vice/db/scm`")"
        exit
endif

set VOLNAME=$1
set SERVER=$2
set PARTITION=$3

#
# Create these files if they don't already exist.
touch /vice/vol/AllVolumes
touch /vice/vol/VRList

# Verify a volume by that name does not already exist
if ($VOLNAME == `awk ' $1 ~ /^'$1'$/  {print $1}' /vice/vol/AllVolumes` ||\
    $VOLNAME == `awk ' $1 ~ /^'$1'$/  {print $1}' /vice/vol/VRList`) then
	echo Volume $VOLNAME already exists
	exit
endif

volutil -h $SERVER create $PARTITION $VOLNAME
bldvldb.sh $SERVER

echo -n "Do you wish this volume to be Backed Up (y/n)? [n] "
set _ans_ = "$<"

if ("$_ans_" =~ [Yy] || "$_ans_" =~ [Yy][Ee][Ss]) then
    echo -n "Day to take full dumps: [Mon] "

    set day = "$<"

    if ("$day" == "") set day = "Mon"	

    switch ("$day")
	case [Ss][Uu][Nn]*:
	    set _cycle_ = "FIIIIII"
	    breaksw
	case [Mm][Oo][Nn]*:
	    set _cycle_ = "IFIIIII"
	    breaksw
	case [Tt][Uu][Ee]*:
	    set _cycle_ = "IIFIIII"
	    breaksw
	case [Ww][Ee][Dd]*:
	    set _cycle_ = "IIIFIII"
	    breaksw
	case [Tt][Hh][Uu]*:
	    set _cycle_ = "IIIIFII"
	    breaksw
	case [Ff][Rr][Ii]*:
	    set _cycle_ = "IIIIIFI"
	    breaksw
	case [Ss][Aa][Tt]*:
	    set _cycle_ = "IIIIIIF"
	    breaksw
	default:
            echo "$day" is not a valid day, not adding $VOLNAME to backup list.
	    breaksw
    endsw

    set VOLID=`awk '$1 ~ /^'$VOLNAME'$/ {print $2}' /vice/vol/AllVolumes`

    echo "echo $VOLID        $_cycle_        $VOLNAME >>/vice/db/dumplist"
    echo "$VOLID        $_cycle_         $VOLNAME" >>/vice/db/dumplist
endif
