#!/bin/bash -x
-OST=`../utils/obdctl name2dev OSCDEV`
-MDS=`../utils/obdctl name2dev MDCDEV`
+MTPT=/mnt/lustre
-mkdir /mnt/lustre/foo
-mkdir /mnt/lustre/foo2
+remount() {
+ umount $MTPT || exit -1
+ debugctl clear
+ mount -t lustre_lite -o osc=OSCDEV-UUID,mdc=MDCDEV-UUID none $MTPT
+}
-mkdir /mnt/lustre/foo
+# Test mkdir
+mkdir $MTPT/dir
+mkdir $MTPT/dir2
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+# Test mkdir on existing directory
+mkdir $MTPT/dir
-mkdir /mnt/lustre/foo
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+# Test mkdir on existing directory with no locks already held
+mkdir $MTPT/dir
-./mcreate /mnt/lustre/bar
-./mcreate /mnt/lustre/bar
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+# Use mknod to create a file
+./mcreate $MTPT/file
+# ...on an existing file.
+./mcreate $MTPT/file
-./mcreate /mnt/lustre/bar
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+# Use mknod to create a file with no locks already held
+./mcreate $MTPT/file
-ls -l /mnt/lustre/bar
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+ls -l $MTPT/file
-cat /mnt/lustre/bar
-./mcreate /mnt/lustre/bar2
-cat /mnt/lustre/bar2
-./mcreate /mnt/lustre/bar3
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+cat $MTPT/file
+./mcreate $MTPT/file2
+cat $MTPT/file2
+./mcreate $MTPT/file3
-./tchmod 777 /mnt/lustre/bar3
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+./tchmod 777 $MTPT/file3
-./mcreate /mnt/lustre/bar4
-./tchmod 777 /mnt/lustre/bar4
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+./mcreate $MTPT/file4
+./tchmod 777 $MTPT/file4
-ls -l /mnt/lustre/bar4
-./tchmod 777 /mnt/lustre/bar4
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+ls -l $MTPT/file4
+./tchmod 777 $MTPT/file4
-cat /mnt/lustre/bar4
-./tchmod 777 /mnt/lustre/bar4
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+cat $MTPT/file4
+./tchmod 777 $MTPT/file4
-touch /mnt/lustre/bar5
-touch /mnt/lustre/bar6
-touch /mnt/lustre/bar5
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+touch $MTPT/file5
+touch $MTPT/file6
+touch $MTPT/file5
-touch /mnt/lustre/bar5
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+touch $MTPT/file5
-echo foo >> /mnt/lustre/bar
-cat /mnt/lustre/bar
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+echo foo >> $MTPT/file
+cat $MTPT/file
-cat /mnt/lustre/bar
+remount
-echo foo >> /mnt/lustre/iotest
-echo bar >> /mnt/lustre/iotest
-cat /mnt/lustre/iotest
+cat $MTPT/file
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+echo foo >> $MTPT/iotest
+echo bar >> $MTPT/iotest
+cat $MTPT/iotest
-cat /mnt/lustre/iotest
-echo baz >> /mnt/lustre/iotest
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+cat $MTPT/iotest
+echo baz >> $MTPT/iotest
-ls /mnt/lustre
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+ls $MTPT
-mkdir /mnt/lustre/new
-ls /mnt/lustre
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+mkdir $MTPT/new
+ls $MTPT
-ls /mnt/lustre
-mkdir /mnt/lustre/newer
-ls /mnt/lustre
+remount
-umount /mnt/lustre
-mount -t lustre_lite -o ost=$OST,mds=$MDS none /mnt/lustre
+ls $MTPT
+mkdir $MTPT/newer
+ls $MTPT
-cat /mnt/lustre/iotest
+remount
+
+cat $MTPT/iotest
echo "Testing truncation..."
-echo foo > /mnt/lustre/iotest
-echo bar >> /mnt/lustre/iotest
-cat /mnt/lustre/iotest
+echo foo > $MTPT/iotest
+echo bar >> $MTPT/iotest
+cat $MTPT/iotest
echo "trucating to 4 bytes now..."
-./truncate /mnt/lustre/iotest 4
-cat /mnt/lustre/iotest
+./truncate $MTPT/iotest 4
+cat $MTPT/iotest
+
+remount
+ls $MTPT
+rmdir $MTPT/foo