1*7c478bd9Sstevel@tonic-gate#!/sbin/sh 2*7c478bd9Sstevel@tonic-gate# 3*7c478bd9Sstevel@tonic-gate# CDDL HEADER START 4*7c478bd9Sstevel@tonic-gate# 5*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 6*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 7*7c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 8*7c478bd9Sstevel@tonic-gate# with the License. 9*7c478bd9Sstevel@tonic-gate# 10*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 12*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 13*7c478bd9Sstevel@tonic-gate# and limitations under the License. 14*7c478bd9Sstevel@tonic-gate# 15*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 16*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 18*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 19*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 20*7c478bd9Sstevel@tonic-gate# 21*7c478bd9Sstevel@tonic-gate# CDDL HEADER END 22*7c478bd9Sstevel@tonic-gate# 23*7c478bd9Sstevel@tonic-gate# 24*7c478bd9Sstevel@tonic-gate#pragma ident "%Z%%M% %I% %E% SMI" 25*7c478bd9Sstevel@tonic-gate# 26*7c478bd9Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc. All rights reserved. 27*7c478bd9Sstevel@tonic-gate# Use is subject to license terms. 28*7c478bd9Sstevel@tonic-gate# 29*7c478bd9Sstevel@tonic-gate# Metadisk initialization. 30*7c478bd9Sstevel@tonic-gate 31*7c478bd9Sstevel@tonic-gateMETAINIT=/sbin/metainit 32*7c478bd9Sstevel@tonic-gateMETADEV=/dev/md/admin 33*7c478bd9Sstevel@tonic-gate 34*7c478bd9Sstevel@tonic-gate. /lib/svc/share/smf_include.sh 35*7c478bd9Sstevel@tonic-gate 36*7c478bd9Sstevel@tonic-gateif [ ! -s /kernel/drv/md.conf ]; then 37*7c478bd9Sstevel@tonic-gate echo "/kernel/drv/md.conf is missing or empty." 38*7c478bd9Sstevel@tonic-gate exit 0 39*7c478bd9Sstevel@tonic-gatefi 40*7c478bd9Sstevel@tonic-gate 41*7c478bd9Sstevel@tonic-gateif [ ! -c $METADEV ]; then 42*7c478bd9Sstevel@tonic-gate echo "$METADEV is missing or not a character device." 43*7c478bd9Sstevel@tonic-gate exit 0 44*7c478bd9Sstevel@tonic-gatefi 45*7c478bd9Sstevel@tonic-gate 46*7c478bd9Sstevel@tonic-gate$METAINIT -r 47*7c478bd9Sstevel@tonic-gateerror=$? 48*7c478bd9Sstevel@tonic-gatecase "$error" in 49*7c478bd9Sstevel@tonic-gate 0|1) exit 0 50*7c478bd9Sstevel@tonic-gate ;; 51*7c478bd9Sstevel@tonic-gate 52*7c478bd9Sstevel@tonic-gate 66) 53*7c478bd9Sstevel@tonic-gateecho "Insufficient metadevice database replicas located." 54*7c478bd9Sstevel@tonic-gateecho 55*7c478bd9Sstevel@tonic-gateecho "Use metadb to delete databases which are broken." 56*7c478bd9Sstevel@tonic-gateecho "Ignore any "Read-only file system" error messages." 57*7c478bd9Sstevel@tonic-gateecho "Reboot the system when finished to reload the metadevice database." 58*7c478bd9Sstevel@tonic-gateecho "After reboot, repair any broken database replicas which were deleted." 59*7c478bd9Sstevel@tonic-gate 60*7c478bd9Sstevel@tonic-gateecho "Insufficient metadevice database replicas located." >/dev/console 61*7c478bd9Sstevel@tonic-gateecho >/dev/console 62*7c478bd9Sstevel@tonic-gateecho "Use metadb to delete databases which are broken." >/dev/console 63*7c478bd9Sstevel@tonic-gateecho "Ignore any "Read-only file system" error messages." >/dev/console 64*7c478bd9Sstevel@tonic-gateecho "Reboot the system when finished to reload the metadevice database." \ 65*7c478bd9Sstevel@tonic-gate>/dev/console 66*7c478bd9Sstevel@tonic-gateecho "After reboot, repair any broken database replicas which were deleted." \ 67*7c478bd9Sstevel@tonic-gate>/dev/console 68*7c478bd9Sstevel@tonic-gate 69*7c478bd9Sstevel@tonic-gate exit $SMF_EXIT_ERR_CONFIG 70*7c478bd9Sstevel@tonic-gate ;; 71*7c478bd9Sstevel@tonic-gate 72*7c478bd9Sstevel@tonic-gate *) echo "Unknown $METAINIT -r failure $error." 73*7c478bd9Sstevel@tonic-gate exit 1 74*7c478bd9Sstevel@tonic-gate ;; 75*7c478bd9Sstevel@tonic-gateesac 76