- add a fail function to common.sh to notify user that umount failed
- give all attaches a name.
- clean up llmountcleanup.sh with name2dev
- remove debugging printouts from obdctl
16 files changed:
$OBDCTL <<- EOF
device ${MDS_DEVNO}
$OBDCTL <<- EOF
device ${MDS_DEVNO}
setup ${MDS} ${MDSFS}
quit
EOF
setup ${MDS} ${MDSFS}
quit
EOF
$OBDCTL <<- EOF
device ${OBD_DEVNO}
$OBDCTL <<- EOF
device ${OBD_DEVNO}
+ attach ${OSTTYPE} OSTDEV
setup ${OBD} ${OBDARG}
device ${OST_DEVNO}
setup ${OBD} ${OBDARG}
device ${OST_DEVNO}
setup ${OBD_DEVNO}
quit
EOF
setup ${OBD_DEVNO}
quit
EOF
OSC_DEVNO=$DEVNO; DEVNO=`expr $DEVNO + 1`
$OBDCTL <<- EOF || return $rc
device ${OSC_DEVNO}
OSC_DEVNO=$DEVNO; DEVNO=`expr $DEVNO + 1`
$OBDCTL <<- EOF || return $rc
device ${OSC_DEVNO}
cleanup_mount && cleanup_osc
DEVNO=0
}
cleanup_mount && cleanup_osc
DEVNO=0
}
+
+fail() {
+ echo $1
+ exit 1
+}
$R/usr/src/obd/utils/obdctl <<EOF
device 0
$R/usr/src/obd/utils/obdctl <<EOF
device 0
+attach obdext2 OBDEXT2DEV
setup /dev/loop/0
quit
EOF
setup /dev/loop/0
quit
EOF
setup ${MDS} ${MDSFS}
device 1
setup ${MDS} ${MDSFS}
device 1
+attach obdext2 OBDEXT2DEV
setup ${MDS} ${MDSFS}
device 1
setup ${MDS} ${MDSFS}
device 1
+attach obdext2 OBDEXT2DEV
setup ${MDS} ${MDSFS}
device 1
setup ${MDS} ${MDSFS}
device 1
+attach obdext2 OBDEXT2DEV
setup_portals
setup_lustre
setup_portals
setup_lustre
+echo -n "Hit return to continue..."
read
new_fs ext2 /tmp/ost 10000
read
new_fs ext2 /tmp/ost 10000
setup ${MDS} ${MDSFS}
device 1
setup ${MDS} ${MDSFS}
device 1
+attach obdfilter FILTERDEV
setup ${OST} ext2
device 2
setup ${OST} ext2
device 2
-mount -t lustre_lite -o device=5 none /mnt/lustre
+mount -t lustre_lite -o device=`$OBDCTL name2dev OSCDEV` none /mnt/lustre
SRCDIR="`dirname $0`"
. $SRCDIR/common.sh
SRCDIR="`dirname $0`"
. $SRCDIR/common.sh
+umount /mnt/lustre || fail "cannot unmount"
killall acceptor
rmmod llite
rmmod mdc
$OBDCTL <<EOF
killall acceptor
rmmod llite
rmmod mdc
$OBDCTL <<EOF
setup ${MDS} ${MDSFS}
device 1
setup ${MDS} ${MDSFS}
device 1
+attach obdext2 OBDEXT2DEV
setup ${MDS} ${MDSFS}
device 1
setup ${MDS} ${MDSFS}
device 1
+attach obdext2 OBDEXT2DEV
setup ${MDS} ${MDSFS}
quit
EOF
setup ${MDS} ${MDSFS}
quit
EOF
+attach obdext2 OBDEXT2DEV
+SRCDIR="`dirname $0`"
+. $SRCDIR/common.sh
+
test_fail() {
echo $1 > /proc/sys/lustre/fail_loc
shift
test_fail() {
echo $1 > /proc/sys/lustre/fail_loc
shift
echo 0 > /proc/sys/lustre/fail_loc
umount /mnt/lustre || exit 1
echo 0 > /proc/sys/lustre/fail_loc
umount /mnt/lustre || exit 1
- mount -t lustre_lite -o device=5 none /mnt/lustre || exit 1
+ mount -t lustre_lite -o device=`$OBDCTL name2dev OSCDEV` none /mnt/lustre || exit 1
}
[ -c /dev/request ] || mknod /dev/request c 10 244
}
[ -c /dev/request ] || mknod /dev/request c 10 244
data.ioc_inlbuf2 = argv[2];
}
data.ioc_inlbuf2 = argv[2];
}
- printf("%s: len %d addr %p type %s data %s\n",
- cmdname(argv[0]), data.ioc_len, buf,
- MKSTR(data.ioc_inlbuf1), MKSTR(data.ioc_inlbuf2));
-
if (obd_ioctl_pack(&data, &buf, max)) {
fprintf(stderr, "error: %s: invalid ioctl\n", cmdname(argv[0]));
return -2;
}
if (obd_ioctl_pack(&data, &buf, max)) {
fprintf(stderr, "error: %s: invalid ioctl\n", cmdname(argv[0]));
return -2;
}
- printf("%s: len %d addr %p raw %p type %s data %s and %s\n",
- cmdname(argv[0]), data.ioc_len, buf, rawbuf,
- MKSTR(data.ioc_inlbuf1), MKSTR(data.ioc_inlbuf2), &buf[516]);
rc = ioctl(fd, OBD_IOC_ATTACH , buf);
if (rc < 0)
rc = ioctl(fd, OBD_IOC_ATTACH , buf);
if (rc < 0)
data.ioc_inlbuf2 = argv[2];
}
data.ioc_inlbuf2 = argv[2];
}
- printf("%s: len %d addr %p device %s type %s\n",
- cmdname(argv[0]), data.ioc_len, buf,
- MKSTR(data.ioc_inlbuf1), MKSTR(data.ioc_inlbuf2));
-
if (obd_ioctl_pack(&data, &buf, max)) {
fprintf(stderr, "error: %s: invalid ioctl\n", cmdname(argv[0]));
return -2;
}
if (obd_ioctl_pack(&data, &buf, max)) {
fprintf(stderr, "error: %s: invalid ioctl\n", cmdname(argv[0]));
return -2;
}
- printf("%s: len %d addr %p raw %p device %s type %s\n",
- cmdname(argv[0]), data.ioc_len, buf, rawbuf,
- MKSTR(data.ioc_inlbuf1), MKSTR(data.ioc_inlbuf2));
-
rc = ioctl(fd, OBD_IOC_SETUP , buf);
if (rc < 0)
fprintf(stderr, "error: %s: %s\n", cmdname(argv[0]),
rc = ioctl(fd, OBD_IOC_SETUP , buf);
if (rc < 0)
fprintf(stderr, "error: %s: %s\n", cmdname(argv[0]),