#!/usr/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/apps/clas_nfsv4/start.sh 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2007 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG exit 0 logfile="/tmp/clas_nfsv4/$GROUPNAME.log" . /usr/es/sbin/cluster/apps/clas_nfsv4/common ###################################### ### Function Main ###################################### MOUNT_FILESYSTEM_V4= for mount in $MOUNT_FILESYSTEM ; do for export_v4 in $EXPORT_FILESYSTEM_V4 ; do if "$mount == $export_v4" ; then MOUNT_FILESYSTEM_V4="$MOUNT_FILESYSTEM_V4 $mount" fi done done log "Running $0 $@" log "Resource group: $GROUPNAME" log "NFSv4 Exports: $EXPORT_FILESYSTEM_V4" log "Stable Storage Path: ${STABLE_STORAGE_PATH:-(NONE)}" log "Service Label(s): $SERVICE_LABEL" log " Primary: $(primary $SERVICE_LABEL)" log " Secondary: $(secondary $SERVICE_LABEL)" log "NFSv4 Mounts: ${MOUNT_FILESYSTEM_V4:-(NONE)}" run lssrc -g nfs run exportfs run mount [ -n "$STABLE_STORAGE_PATH" ] && run chnfs -g on -x 1 for subsystem in nfsrgyd nfsd ; do if check_if_running $subsystem ; then log "$subsystem is already running" else run startsrc -s $subsystem || fatal while ! check_if_running $subsystem ; do sleep 2 done log "$subsystem started successfully" fi done primary= if [ -n "$STABLE_STORAGE_PATH" ] ; then if [ ! -d $STABLE_STORAGE_PATH ] ; then run mkdir -p $STABLE_STORAGE_PATH || fatal fi ######## BEGIN HACK ## options=$(export_version $export_v4) ## ## for export_v4 in $EXPORT_FILESYSTEM_V4 ; do ## run export_filesystem $options $export_v4 || fatal ## done ######## END HACK primary=$(primary $SERVICE_LABEL) run nfs4smctl -R -N $GROUPNAME -P $STABLE_STORAGE_PATH -s $primary || fatal for service_label in $(secondary $SERVICE_LABEL) ; do run nfs4smctl -A -N $GROUPNAME -n $service_label || fatal done fi run exportfs for export_v4 in $EXPORT_FILESYSTEM_V4 ; do options=$(export_version $export_v4) ##[ -n "$primary" ] && options="$options,hasrv=$primary" run export_filesystem $options $export_v4 || fatal done run lssrc -g nfs run exportfs log "NFSv4 is now serving $GROUPNAME" #for crossmount in $MOUNT_FILESYSTEMS_V4 ; do # log "TODO: nfs mount $crossmount" #done run mount cl_activate_nfs 1 $(primary $SERVICE_LABEL) $MOUNT_FILESYSTEMS log "$0 $@ completed successfully"