[ -d /r ] && R=/r
-PORTALS=$SRCDIR../../portals
-LUSTRE=$SRCDIR../../lustre
+PORTALS=$SRCDIR/../../portals
+LUSTRE=$SRCDIR/..
PTLCTL=$PORTALS/linux/utils/ptlctl
DBGCTL=$PORTALS/linux/utils/debugctl
[ "$MODULE" ] || fail "usage: $0 <module>"
[ -f $MODULE ] || echo "$0: module '$MODULE' not found" 1>&2
lsmod | grep -q "\<$BASE\>" && return 0
- insmod $MODULE
+ insmod $MODULE
+}
+
+do_rmmod() {
+ MODULE=$1
+ [ "$MODULE" ] || fail "usage: $0 <module>"
+ lsmod | grep -q $MODULE || return 0
+ rmmod $MODULE || lsmod | sed "s/^/$MODULE failed: /"
}
# Return the next unused loop device on stdout and in the $LOOPDEV
fi
# Enable hash-indexed directories for extN filesystems
- [ "$1" = "extN" ] && echo "feature FEATURE_C5" | debugfs -w $2
+# [ "$1" = "extN" ] && echo "feature FEATURE_C5" | debugfs -w $2
}
# Set up to use an existing filesystem. We take the same parameters as
[ -z "$OSC_RSH" ] && OSC_RSH="eval"
}
+setup_variables() {
+ [ -z "$OSTNODE" ] && OSTNODE=$SERVER
+ [ -z "$MDSNODE" ] && MDSNODE=$SERVER
+
+ if [ -z "$DLM" ]; then
+ if [ "$LOCALHOST" == "$SERVER" ]; then
+ DLM=localhost
+ else
+ DLM=$SERVER
+ fi
+ fi
+}
+
setup_portals() {
if grep -q portals /proc/modules; then
echo "$0: portals already appears to be set up, skipping"
exit -1
fi
- [ -z "$OSTNODE" ] && OSTNODE=$SERVER
- [ -z "$MDSNODE" ] && MDSNODE=$SERVER
-
- if [ -z "$DLM" ]; then
- if [ "$LOCALHOST" == "$SERVER" ]; then
- DLM=localhost
- else
- DLM=$SERVER
- fi
- fi
+ setup_variables
[ -c /dev/portals ] || mknod /dev/portals c 10 240
do_insmod $LUSTRE/mds/mds_extN.o || \
echo "info: can't load mds_extN.o module, needs extN.o"
do_insmod $LUSTRE/obdecho/obdecho.o || exit -1
- do_insmod $LUSTRE/obdext2/obdext2.o || exit -1
+ #do_insmod $LUSTRE/obdext2/obdext2.o || exit -1
do_insmod $LUSTRE/obdfilter/obdfilter.o || exit -1
do_insmod $LUSTRE/ost/ost.o || exit -1
do_insmod $LUSTRE/osc/osc.o || exit -1
do_insmod $LUSTRE/mdc/mdc.o || exit -1
+ do_insmod $LUSTRE/lov/lov.o || exit -1
do_insmod $LUSTRE/llite/llite.o || exit -1
echo "$R/tmp/lustre-log" > /proc/sys/portals/debug_path
$OBDCTL <<- EOF || return $?
newdev
- attach mds MDSDEV
+ attach mds MDSDEV MDSUUID
setup ${MDS} ${MDSFS}
quit
EOF
}
+setup_mds_lov() {
+
+ [ "$SETUP_MDS" = "y" ] || return 0
+
+ if [ -z "$LOVUUID" ]; then
+ echo "No LOV configured"
+ return
+ fi
+
+ $OBDCTL <<- EOF || return $?
+ name2dev MDSDEV
+ connect
+ lovconfig ${LOVUUID} 1 4096 0 OSCUUID
+ disconnect
+ quit
+ EOF
+}
+
+
setup_ost() {
[ "$SETUP_OST" = "y" ] || return 0
$OBDCTL <<- EOF || return $?
newdev
- attach ${OSTTYPE} OBDDEV
+ attach ${OSTTYPE} OBDDEV OBDUUID
setup ${OBD} ${OBDARG}
quit
EOF
$OBDCTL <<- EOF || return $?
newdev
- attach ost OSTDEV
+ attach ost OSTDEV OSTUUID
setup \$OBDDEV
quit
EOF
}
setup_server() {
+ #setup_mds $1 && setup_mds_lov $1 && setup_ost $1
setup_mds $1 && setup_ost $1
}
$OBDCTL <<- EOF || return $rc
newdev
- attach osc $THEOSC
- setup OSTDEV $OSTNODE
+ attach osc $THEOSC ${THEOSC}-UUID
+ setup OBDUUID $OSTNODE
quit
EOF
done
$OBDCTL <<- EOF || return $?
newdev
- attach mdc $THEMDC
- setup MDSDEV $MDSNODE
+ attach mdc $THEMDC ${THEMDC}-UUID
+ setup MDSUUID $MDSNODE
quit
EOF
done
}
+setup_lov () {
+ [ "$SETUP_MDC" != "y" ] && return 0
+
+ if [ -z "$LOVUUID" ]; then
+ echo "No LOV configured"
+ return
+ fi
+
+ $OBDCTL <<- EOF || return $?
+ newdev
+ attach lov LOVNAME ${LOVUUID}
+ setup MDCDEV-UUID
+ quit
+ EOF
+}
+
setup_mount() {
set -vx
}
setup_client() {
+ # setup_osc && setup_mdc && setup_lov && setup_mount
setup_osc && setup_mdc && setup_mount
}
cleanup_portals() {
[ -z "$NETWORK" ] && NETWORK=tcp
+
+ setup_variables
+
$PTLCTL <<- EOF
setup $NETWORK
disconnect
quit
EOF
- rmmod kqswnal
- rmmod ksocknal
- rmmod portals
+ do_rmmod ldlm
+ do_rmmod ptlrpc
+ do_rmmod obdclass
+
+ do_rmmod kqswnal
+ do_rmmod ksocknal
+ do_rmmod portals
}
cleanup_lustre() {
killall acceptor
+ do_rmmod llite
+ do_rmmod lov
+ do_rmmod mdc
+ do_rmmod osc
+
+ do_rmmod mds_extN
+ do_rmmod mds_ext3
+ do_rmmod mds_ext2
+ do_rmmod mds
+ do_rmmod ost
+ do_rmmod obdecho
+ do_rmmod obdfilter
+ do_rmmod obdext2
+ do_rmmod extN
+
losetup -d ${LOOP}0
losetup -d ${LOOP}1
losetup -d ${LOOP}2
-
- rmmod llite
- rmmod mdc
-
- rmmod mds_extN
- rmmod mds_ext3
- rmmod mds_ext2
- rmmod mds
- rmmod ost
- rmmod osc
- rmmod obdecho
- rmmod obdfilter
- rmmod obdext2
- rmmod extN
-
- rmmod ldlm
- rmmod ptlrpc
- rmmod obdclass
}
cleanup_ldlm() {