| #!/usr/sbin/perl |
| # SPDX-License-Identifier: GPL-2.0 |
| # Copyright (c) 2001 Silicon Graphics, Inc. All Rights Reserved. |
| # |
| sub setup() |
| { |
| $PATH="$PATH:/usr/local/bin/ptools:/sbin:/usr/sbin"; |
| $DISPLAY="clouds:0"; |
| |
| if ("$HOST" eq "bruce") { |
| $TOOLS="/home/dxm/isms/slinx-xfs/cmd/xfs/tools"; |
| $SCRATCH_DEV="/dev/sdf1"; |
| $SCRATCH_MNT="/mnt/xfs3"; |
| $MKFS="/sbin/mkfs -t xfs -f"; |
| $SUDO="/home/dxm/su -c"; |
| $MOUNT="/bin/mount -t xfs"; |
| $UMOUNT="/bin/umount"; |
| $MKFS_EXTRA="-f"; |
| } elsif ("$HOST" eq "whack") { |
| $TOOLS="/hosts/snort/build1/people/dxm/isms/slinx-xfs/cmd/xfs/tools"; |
| $SCRATCH_DEV="/dev/dsk/20000080e5114459/lun2s0/c2p1"; |
| $SCRATCH_MNT="/lun2"; |
| $MKFS="/sbin/mkfs"; |
| $SUDO="su root -c"; |
| $MOUNT="/sbin/mount -t xfs"; |
| $UMOUNT="/sbin/umount"; |
| $MKFS_EXTRA=""; |
| } else { |
| die "unconfigured host \"$HOST\"\n" |
| } |
| } |
| |
| sub run_no_check(@) |
| { |
| system(@_); |
| } |
| |
| sub run(@) |
| { |
| system(@_) == 0 |
| || die "ERROR \"" . join(" ",@_) . "\" returned error\n"; |
| } |
| |
| sub run_expect_fail(@) |
| { |
| system(@_) == 0 |
| && die "ERROR \"" . join(" ",@_) . "\" returned non-error\n"; |
| } |
| |
| sub umount_no_check() |
| { |
| run_no_check("umount $SCRATCH_DEV"); |
| } |
| |
| sub umount() |
| { |
| run("umount $SCRATCH_DEV"); |
| } |
| |
| sub mount($) |
| { |
| my ($ops)=@_; |
| run("mount -t xfs $ops $SCRATCH_DEV $SCRATCH_MNT"); |
| } |
| |
| chomp($HOST=`hostname -s`); |
| |
| die "usage: $ARGV0 <operation> [parameters]\n" unless (scalar(@ARGV)); |
| print "*** $HOST: Interop started\n"; |
| print " *** ", join(" ", @ARGV), "\n"; |
| |
| setup(); |
| |
| $op=shift(@ARGV); |
| |
| umount_no_check(); |
| |
| if ($op eq "init") { |
| |
| run("mkfs -t xfs $MKFS_EXTRA $SCRATCH_DEV"); |
| |
| } elsif ($op eq "test") { |
| |
| run("xfs_repair -n $SCRATCH_DEV"); |
| |
| } elsif ($op eq "easy") { |
| |
| mount(""); |
| system("mount"); |
| mkdir("$SCRATCH_MNT/fish",0777); |
| |
| } elsif ($op eq "check") { |
| |
| mount("-o ro"); |
| system("cd $SCRATCH_MNT ; $TOOLS/fs-walk ."); |
| |
| } else { |
| die "unknown operation \"$op\"\n"; |
| } |
| |
| umount_no_check(); |