update idmap-test.sh
authorErez Zadok <ezk@cs.sunysb.edu>
Sat, 14 May 2022 23:01:51 +0000 (19:01 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Sat, 14 May 2022 23:01:51 +0000 (19:01 -0400)
idmap-tests/idmap-test.sh [new file with mode: 0755]

diff --git a/idmap-tests/idmap-test.sh b/idmap-tests/idmap-test.sh
new file mode 100755 (executable)
index 0000000..40359fb
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+# XXX: fill in
+
+SCRATCH_DEV=/dev/sdb
+SCRATCH_DIR=/n/scratch
+LOWER_DIR=/n/lower
+TMP_DIR=/n/tmp
+FS_TYPE=ext4
+
+function runcmd
+{
+    echo "CMD: $@"
+    sleep 0.25
+    $@
+    ret=$?
+    if test $ret -ne 0 && test "$1 $2 $3" != 'mount -t wrapfs'; then
+       echo "$0: exit code $ret"
+       exit $ret
+    fi
+}
+
+dirs="$TMP_DIR $LOWER_DIR $SCRATCH_DIR"
+for d in $dirs; do
+       echo checking dir $d
+       if cat /proc/mounts | grep $d; then
+               runcmd umount $d
+       fi
+done
+
+runcmd mkfs -t $FS_TYPE $SCRATCH_DEV <<< y
+runcmd mount $SCRATCH_DEV $SCRATCH_DIR
+runcmd rm -rf $SCRATCH_DIR/*
+runcmd touch $SCRATCH_DIR/root
+runcmd touch $SCRATCH_DIR/ubuntu
+runcmd chown ubuntu $SCRATCH_DIR/ubuntu
+runcmd touch $SCRATCH_DIR/luser
+runcmd chown luser $SCRATCH_DIR/luser
+ls1=$(ls -l $SCRATCH_DIR)
+
+runcmd ./mount-idmapped --map-mount b:0:1000:1 --map-mount b:1000:1001:1 --map-mount b:1001:0:1 $SCRATCH_DIR $LOWER_DIR
+runcmd mount -t wrapfs $LOWER_DIR $TMP_DIR
+if test $ret != 32; then
+       echo wrapfs returned unexpected error: $ret
+else
+       echo wrapfs returned correct error attempting to mount on idmapped mount
+fi
+
+#ls2=$(ls -l $TMP_DIR)
+#echo $ls1
+#echo $ls2