summaryrefslogtreecommitdiffstats
path: root/usr.sbin/amd/fsinfo
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1998-08-27 08:03:35 +0000
committerobrien <obrien@FreeBSD.org>1998-08-27 08:03:35 +0000
commita9218237dec69d496f6dbe3c26dde6a199ba55c1 (patch)
tree3feee923ba114f878feaf7d6189cdb8fc818274e /usr.sbin/amd/fsinfo
parent23665f6a3a5de6643d49c9f10deb39092352c96d (diff)
downloadFreeBSD-src-a9218237dec69d496f6dbe3c26dde6a199ba55c1.zip
FreeBSD-src-a9218237dec69d496f6dbe3c26dde6a199ba55c1.tar.gz
Make way for the contrib_amd bmake frame work.
Diffstat (limited to 'usr.sbin/amd/fsinfo')
-rw-r--r--usr.sbin/amd/fsinfo/Makefile17
-rw-r--r--usr.sbin/amd/fsinfo/conf/automounts48
-rw-r--r--usr.sbin/amd/fsinfo/conf/csg_sun318
-rw-r--r--usr.sbin/amd/fsinfo/conf/csg_vax67
-rw-r--r--usr.sbin/amd/fsinfo/conf/diskless_sun3_sos49
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/achilles.doc.ic.ac.uk116
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/bigears.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/dylan.doc.ic.ac.uk68
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk104
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/ganymede.doc.ic.ac.uk33
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk477
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/gummo.doc.ic.ac.uk12
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk84
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk28
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk208
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk66
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk79
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk66
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tcsun1.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tcsun2.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tcsun3.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tcsun4.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tcsun5.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/toytown.doc.ic.ac.uk116
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/truth.doc.ic.ac.uk9
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun1.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun10.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun11.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun12.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun13.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun14.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun15.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun16.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun17.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun18.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun19.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun2.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun3.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun4.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun5.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun6.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun7.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun8.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsun9.doc.ic.ac.uk3
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk211
-rw-r--r--usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk21
-rw-r--r--usr.sbin/amd/fsinfo/conf/users106
-rw-r--r--usr.sbin/amd/fsinfo/fsi_analyze.c645
-rw-r--r--usr.sbin/amd/fsinfo/fsi_data.h236
-rw-r--r--usr.sbin/amd/fsinfo/fsi_dict.c125
-rw-r--r--usr.sbin/amd/fsinfo/fsi_gram.y394
-rw-r--r--usr.sbin/amd/fsinfo/fsi_lex.l403
-rw-r--r--usr.sbin/amd/fsinfo/fsi_util.c576
-rw-r--r--usr.sbin/amd/fsinfo/fsinfo.877
-rw-r--r--usr.sbin/amd/fsinfo/fsinfo.c267
-rw-r--r--usr.sbin/amd/fsinfo/fsinfo.h160
-rw-r--r--usr.sbin/amd/fsinfo/wr_atab.c284
-rw-r--r--usr.sbin/amd/fsinfo/wr_bparam.c101
-rw-r--r--usr.sbin/amd/fsinfo/wr_dumpset.c88
-rw-r--r--usr.sbin/amd/fsinfo/wr_exportfs.c100
-rw-r--r--usr.sbin/amd/fsinfo/wr_fstab.c303
61 files changed, 0 insertions, 5797 deletions
diff --git a/usr.sbin/amd/fsinfo/Makefile b/usr.sbin/amd/fsinfo/Makefile
deleted file mode 100644
index 561a3ea..0000000
--- a/usr.sbin/amd/fsinfo/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# @(#)Makefile 8.1 (Berkeley) 6/28/93
-# $Id: Makefile,v 1.6 1997/10/05 09:40:08 jkh Exp $
-
-PROG= fsinfo
-MAN8= fsinfo.8
-SRCS= fsinfo.c fsi_gram.y fsi_lex.l \
- fsi_util.c fsi_analyze.c fsi_dict.c \
- wr_atab.c wr_bparam.c wr_dumpset.c \
- wr_exportfs.c wr_fstab.c
-CFLAGS+=-I.
-CFLAGS+=-I${.CURDIR}/../include
-CFLAGS+=-I${.CURDIR}/../config
-CFLAGS+=-DOS_HDR=\"os-bsd44.h\"
-
-.PATH: ${.CURDIR}/../config
-.include "../../Makefile.inc"
-.include <bsd.prog.mk>
diff --git a/usr.sbin/amd/fsinfo/conf/automounts b/usr.sbin/amd/fsinfo/conf/automounts
deleted file mode 100644
index ee4b4ee..0000000
--- a/usr.sbin/amd/fsinfo/conf/automounts
+++ /dev/null
@@ -1,48 +0,0 @@
-host localhost.doc.ic.ac.uk
-
-fs localhost:/localhost {
- fstype = export
- mount default {
- exportfs ""
- volname /home/localhost
- }
-}
-
-automount opts "opts:=rw,nosuid,grpid" /vol {
- rwho {}
- r+d {}
- public {}
- src { gnu{} athena{} gould{} utx{} sos4{} xinu43{} }
- export {
- exec {
- sun3 {}
- sun4 {}
- }
- roots {}
- swaps {
- tsun1 {} tsun2 {} tsun3 {} tsun4 {} tsun5 {} tsun6 {}
- tsun7 {} tsun8 {} tsun9 {} tsun10 {} tsun11 {} tsun12 {}
- tsun13 {} tsun14 {} tsun15 {} tsun16 {} tsun17 {} tsun18 {}
- tsun19 {}
- tcsun1 {} tcsun2 {} tcsun3 {} tcsun4 {} tcsun5 {}
- }
- misc {}
- }
-}
-
-automount opts "opts:=rw,nosuid,grpid" /home {
- achilles {}
- toytown {}
- gummo {}
- dylan { dk2{} dk5 {} }
- ganymede {}
- gould { staff{} teach{} }
- "localhost" -> localhost
-}
-
-automount opts "opts:=rw,nosuid,grpid" /homes {
- opr -> /home/localhost/opr
-#include "users"
-}
-
-automount /usr/achilles = /home/achilles
diff --git a/usr.sbin/amd/fsinfo/conf/csg_sun3 b/usr.sbin/amd/fsinfo/conf/csg_sun3
deleted file mode 100644
index 7d75db2..0000000
--- a/usr.sbin/amd/fsinfo/conf/csg_sun3
+++ /dev/null
@@ -1,18 +0,0 @@
-// $Id$
-// standard setups for DoC tsuns.
-// note that no /var/spool/rwho is mounted as we now expect amd to do this as /vol/rwho
-
-// a sun3
-#ifndef SOS4_SYS_OPTS
-#define SOS4_SYS_OPTS grpid,hard,intr
-#endif
-#define CSG_SUN3(HOST,DOMAIN,BOOT,EXEC) \
-host HOST.DOMAIN \
-\
-mount /vol/export/roots/HOST as / from BOOT opts rw,SOS4_SYS_OPTS \
-mount /vol/export/swaps/HOST fstype swap as swap from BOOT opts swap \
-mount /vol/export/exec/sun3 as /usr from EXEC opts ro,SOS4_SYS_OPTS \
-mount /vol/export/misc/crash/HOST as /var/crash/HOST from EXEC opts rw,nosuid,SOS4_SYS_OPTS \
-mount /vol/export/misc/tmp/HOST as /tmp from EXEC opts rw,nosuid,SOS4_SYS_OPTS \
-mount /vol/export/misc/usr.tmp/HOST as /var/tmp from EXEC opts rw,nosuid,SOS4_SYS_OPTS \
-mount /var/mmdf from BOOT opts rw,nosuid,SOS4_SYS_OPTS
diff --git a/usr.sbin/amd/fsinfo/conf/csg_vax b/usr.sbin/amd/fsinfo/conf/csg_vax
deleted file mode 100644
index c1e7658..0000000
--- a/usr.sbin/amd/fsinfo/conf/csg_vax
+++ /dev/null
@@ -1,67 +0,0 @@
-// $Id$
-// csg vax config - really just for {s,r}vax
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw
-
-#define CSG_VAX(HOST,DOMAIN) \
-host HOST.DOMAIN\
-\
-/*\
-arch vax\
-os xinu43\
-cluster csg\
-dumphost flamingo.doc.ic.ac.uk\
-*/\
-\
-// root\
-fs /dev/hp0a {\
- fstype = FSTYPE_UFS\
- opts = DEFAULT_OPTS\
- freq = 1\
- passno = 1\
- mount / {}\
-}\
-\
-// swap\
-fs /dev/hp0b {\
- fstype = swap\
-}\
-\
-// usr\
-fs /dev/hp0e {\
- fstype = FSTYPE_UFS\
- opts = DEFAULT_OPTS\
- freq = 1\
- passno = 2\
- mount /usr {\
- exportfs "\\\
- sky.doc.ic.ac.uk\\\
- svax.doc.ic.ac.uk\\\
- rvax.doc.ic.ac.uk\\\
- ivax.doc.ic.ac.uk\\\
- "\
- }\
-}\
-\
-// var\
-fs /dev/hp0d {\
- fstype = FSTYPE_UFS\
- opts = DEFAULT_OPTS\
- freq = 1\
- passno = 3\
- mount /var {}\
-}\
-\
-// home directories\
-fs /dev/hp0f {\
- fstype = FSTYPE_UFS\
- opts = DEFAULT_OPTS\
- freq = 1\
- passno = 3\
- mount /a/HOST/home/HOST {\
- exportfs "\\\
- teach_hosts\\\
- "\
- }\
-}
diff --git a/usr.sbin/amd/fsinfo/conf/diskless_sun3_sos4 b/usr.sbin/amd/fsinfo/conf/diskless_sun3_sos4
deleted file mode 100644
index 0cacb20..0000000
--- a/usr.sbin/amd/fsinfo/conf/diskless_sun3_sos4
+++ /dev/null
@@ -1,9 +0,0 @@
-#define DISKLESS_SUN3_SOS4(HOST,DOMAIN,BOOTSERVER) \
-host HOST.DOMAIN \
-\
-mount /export/root/HOST as / from BOOTSERVER opts rw,grpid,intr \
-mount /export/swap/HOST as swap fstype swap from BOOTSERVER opts swap \
-mount /export/exec/sun3 as /usr from BOOTSERVER opts rw,grpid,intr \
-mount /var/clients/HOST as /var from BOOTSERVER opts rw,grpid,intr,nosuid \
-mount /var/clients/HOST.tmp as /tmp from BOOTSERVER opts rw,grpid,intr,nosuid \
-mount /var/spool/mail from BOOTSERVER opts rw,grpid,intr,nosuid
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/achilles.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/achilles.doc.ic.ac.uk
deleted file mode 100644
index 6a46ce8..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/achilles.doc.ic.ac.uk
+++ /dev/null
@@ -1,116 +0,0 @@
-// mkfsinfo
-
-host achilles.doc.ic.ac.uk
-
-/*
-arch sun4
-os sos4
-cluster theory
-dumphost achilles.doc.ic.ac.uk
-*/
-
-// SWAP Partitions
-fs /dev/xd0b {
- fstype = swap
-}
-
-fs /dev/xd1b {
- fstype = swap
-}
-
-// ROOT
-fs /dev/xd0a {
- fstype = 4.2
- opts = rw,noquota,grpid
- passno = 1;
- freq = 1;
- mount / { }
-}
-
-// ROOT Backup
-fs /dev/xd1a {
- fstype = ignore
- opts = rw,noquota,grpid
- passno = 1;
- freq = 1;
- mount /backup { }
-}
-
-fs /dev/xd1d {
- fstype = 4.2
- opts = rw,noquota,grpid
- passno = 1;
- freq = 1;
- mount /export {
- root {
- truth { exportfs "-root=truth,access=truth" }
- }
- swap {
- truth { exportfs "-root=truth,access=truth" }
- }
- exec {
- sun4 { exportfs "-access=toytown_clients:hangers_on:gummo:harpo:opus,rw=dylan:truth:florence:toytown" }
- }
- }
-}
-
-fs /dev/xd1f {
- fstype = 4.2
- opts = rw,noquota,grpid
- passno = 1;
- freq = 1;
- mount /var {
- clients {
- truth { exportfs "-root=truth,access=truth" }
- truth.tmp { exportfs "-root=truth,access=truth" }
- }
- spool {
- mail { exportfs "-root=truth,access=truth" }
- rwho { exportfs "ro" volname /vol/rwho sel "byte==big" }
- }
- }
-}
-
-fs /dev/xd0d {
- fstype = 4.2
- opts = rw,noquota,grpid
- passno = 1;
- freq = 1;
- mount /tmp {
- X11NeWS { exportfs "-ro" }
- }
-}
-
-fs /dev/xd0g {
- fstype = 4.2
- opts = rw,noquota,grpid
- passno = 1
- freq = 1
- mount default {
- exportfs "-access=toytown_clients:hangers_on"
- volname /home/achilles
- }
-}
-
-fs /dev/xd1g {
- fstype = 4.2
- opts = rw,noquota
- passno = 1
- freq = 1
- mount /usr {
- exportfs "-access=toytown_clients:hangers_on:gummo:harpo:opus,rw=dylan:truth:florence:toytown"
- share {
- volname "/usr/share"
- //exportfs "blah"
- }
- src {
- local {
- //exportfs "-access=toytown:zebedee:dougal:dylan:florence:opus,rw=dylan:florence,root=dylan:florence"
- bits { gnu { volname "/vol/src/gnu" } }
- athena { volname "/vol/src/athena" }
- }
- }
- }
-}
-
-/*mount /export/exec/sun3 fstype nfs from gould.doc.ic.ac.uk as /usr opts "rw"*/
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/bigears.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/bigears.doc.ic.ac.uk
deleted file mode 100644
index bda2fd8..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/bigears.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../diskless_sun3_sos4"
-
-DISKLESS_SUN3_SOS4(bigears,doc.ic.ac.uk,toytown.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/dylan.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/dylan.doc.ic.ac.uk
deleted file mode 100644
index 5284147..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/dylan.doc.ic.ac.uk
+++ /dev/null
@@ -1,68 +0,0 @@
-// mkfsinfo
-
-host dylan.doc.ic.ac.uk
-
-// SWAP
-fs /dev/dsk/0s0 {
- fstype = swap
-}
-
-// SWAP
-fs /dev/dsk/1s0 {
- fstype = swap
-}
-
-// ROOT
-fs /dev/dsk/0s0 {
- fstype = hfs
- opts = rw,noquota,grpid
- passno = 0;
- freq = 1;
- mount / { }
-}
-
-fs /dev/dsk/1s0 {
- fstype = hfs
- opts = defaults
- passno = 1;
- freq = 1;
- mount /usr {
- local {
- exportfs "dougal eden dylan zebedee brian"
- volname /nfs/hp300/local
- }
- }
-}
-
-fs /dev/dsk/2s0 {
- fstype = hfs
- opts = defaults
- passno = 1;
- freq = 1;
- mount default {
- exportfs "toytown_clients hangers_on"
- volname /home/dylan/dk2
- }
-}
-
-fs /dev/dsk/3s0 {
- fstype = hfs
- opts = defaults
- passno = 1;
- freq = 1;
- mount default {
- exportfs "toytown_clients hangers_on"
- volname /home/dylan/dk3
- }
-}
-
-fs /dev/dsk/5s0 {
- fstype = hfs
- opts = defaults
- passno = 1;
- freq = 1;
- mount default {
- exportfs "toytown_clients hangers_on"
- volname /home/dylan/dk5
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk
deleted file mode 100644
index 31f1be0..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk
+++ /dev/null
@@ -1,104 +0,0 @@
-// mkfsinfo for flamingo
-// $Id$
-
-host flamingo.doc.ic.ac.uk
-
-/*
-arch sun3
-os sos4
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw,noquota,nosuid,grpid
-
-// swap
-fs /dev/xy0b {
- fstype = swap
-}
-
-// root
-fs /dev/xy0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- passno = 1
- freq = 1
- dumpset = csg_sun3_vax
- mount / {}
-}
-
-// usr
-fs /dev/xy0f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- dumpset = csg_sun3_vax
- mount /usr {
- volname /vol/export/exec/sun3
- exportfs "-ro,access=teach_hosts:ssun2.doc.ic.ac.uk:pelican:gould,\
- root=gould:pelican:ssun2.doc.ic.ac.uk"
- }
-}
-
-// tmp
-fs /dev/xy0d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS,nosuid
- freq = 1
- passno = 3
- mount /tmp {
- exportfs "-access=ssun1:tsunfs,root=tsunfs"
- }
-}
-
-// var
-fs /dev/xy0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 4
- dumpset = csg_sun3_vax
- mount /var {
- tmp {
- exportfs "-access=ssun1:sky.doc.ic.ac.uk"
- }
- crash {
- exportfs "-access=ssun1"
- }
- misc {
- exportfs "-access=teach_hosts"
- }
- spool {
- rwho {
- volname /vol/rwho
- exportfs "-ro,access=teach_hosts"
- sel "byte==big"
- }
- }
- }
-}
-
-// source - sos4
-fs /dev/xy0h {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 6
- mount /usr/src {
- volname /vol/src/sos4
- exportfs "-access=svax:pelican:gould,root=pelican:svax"
- }
-}
-
-// home directories
-fs /dev/xy0g {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 5
- mount /a/flamingo/home/flamingo {
- exportfs "-access=teach_hosts:thp_hosts:ssun2:obsidian:truth,root=gould"
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/ganymede.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/ganymede.doc.ic.ac.uk
deleted file mode 100644
index e847c85..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/ganymede.doc.ic.ac.uk
+++ /dev/null
@@ -1,33 +0,0 @@
-host ganymede.doc.ic.ac.uk
-
-fs /dev/xy0a {
- fstype = 4.2
- opts = rw
- freq = 1
- passno = 1
- mount / {
- }
-}
-
-fs /dev/xy0g {
- fstype = 4.2
- opts = rw
- freq = 1
- passno = 2
- mount /usr {
- exportfs "-access=toytown:toytown_clients"
- }
-}
-
-fs /dev/xy0h {
- fstype = 4.2
- opts = rw
- freq = 1
- passno = 3
- mount /home/ganymede {
- exportfs "-access=toytown_clients:samson:hangers_on"
- }
-}
-
-mount /home/toytown opts rw,bg,nosuid
-mount /usr/local from toytown.doc.ic.ac.uk opts ro,bg
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk
deleted file mode 100644
index 8804c8e..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk
+++ /dev/null
@@ -1,477 +0,0 @@
-// mkfsinfo for gould
-// $Id$
-
-host gould.doc.ic.ac.uk
-
-/*
-arch powernode
-os utx21
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-#define FSTYPE_UFS 4.3
-#define DEFAULT_OPTS rw,noquota
-
-// swap
-fs /dev/dk0b {
- fstype = swap
-}
-
-fs /dev/dk1b {
- fstype = swap
-}
-
-fs /dev/dk4b {
- fstype = swap
-}
-
-// root
-fs /dev/dk0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- passno = 1
- freq = 1
- dumpset = csg_nightly
- mount / {}
-}
-
-// root backup
-fs /dev/dk4a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 4
- mount /backup {}
-}
-
-// usr
-fs /dev/dk4d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- dumpset = csg_nightly
- mount /usr {}
-}
-
-// tmp
-fs /dev/dk1a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS,nosuid
- freq = 0
- passno = 2
- mount /tmp {}
-}
-
-// var
-fs /dev/dk4g {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- dumpset = csg_nightly
- mount /var {}
-}
-
-// shared stuff - usually for Suns
-fs /dev/dk5f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 6
- mount /usr/share {
- exportfs "-rdonly=1 \
- ivax.doc.ic.ac.uk \
- rvax.doc.ic.ac.uk \
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- svax.doc.ic.ac.uk \
- tsun1.doc.ic.ac.uk \
- tsun10.doc.ic.ac.uk \
- tsun11.doc.ic.ac.uk \
- tsun12.doc.ic.ac.uk \
- tsun13.doc.ic.ac.uk \
- tsun14.doc.ic.ac.uk \
- tsun15.doc.ic.ac.uk \
- tsun16.doc.ic.ac.uk \
- tsun17.doc.ic.ac.uk \
- tsun18.doc.ic.ac.uk \
- tsun19.doc.ic.ac.uk \
- tsun2.doc.ic.ac.uk \
- tsun3.doc.ic.ac.uk \
- tsun4.doc.ic.ac.uk \
- tsun5.doc.ic.ac.uk \
- tsun6.doc.ic.ac.uk \
- tsun7.doc.ic.ac.uk \
- tsun8.doc.ic.ac.uk \
- tsun9.doc.ic.ac.uk \
- tsunfs.doc.ic.ac.uk \
- flamingo.doc.ic.ac.uk \
- pelican.doc.ic.ac.uk \
- oriona \
- sky.doc.ic.ac.uk \
- whoops.doc.ic.ac.uk \
- whoops \
- "
- }
-}
-
-// spool stuff, including the news
-fs /dev/dk4f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 5
- mount /var/spool {
- exportfs "\
- oriona \
- rpcsfg \
- "
- }
-}
-
-fs /dev/dk3h {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /var/spool/News {}
-}
-
-// this is the public ftp area
-fs /dev/dk3f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 4
- mount /usr/reserve {
- PUBLIC {
- volname /vol/public
- exportfs "\
- oriona \
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- obsidian \
- gummo \
- tsunfs.doc.ic.ac.uk \
- flamingo.doc.ic.ac.uk \
- "
- }
- }
-}
-
-// sources - local and public
-fs /dev/dk7c {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- dumpset = csg_nightly
- mount /usr/src {
- volname /vol/src/gould
- exportfs "\
- flamingo.doc.ic.ac.uk \
- pelican.doc.ic.ac.uk \
- oriona \
- ssun1.doc.ic.ac.uk \
- svax.doc.ic.ac.uk \
- rvax.doc.ic.ac.uk \
- obsidian \
- tsunfs \
- "
- }
-}
-
-// sources - utx
-fs /dev/dk4e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 6
- dumpset = csg_nightly
- mount /usr/src/utx {
- volname /vol/src/utx
- exportfs "-rdonly=1 \
- flamingo.doc.ic.ac.uk \
- "
- }
-}
-
-// home directories
-fs /dev/dk1h {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- dumpset = csg_nightly
- mount /home/gould/teach {
- exportfs "\
- thp1 \
- thp2 \
- thp3 \
- thp4 \
- thp5 \
- thp6 \
- thp7 \
- thp8 \
- thp9 \
- thp10 \
- thpfs \
- ivax.doc.ic.ac.uk \
- rvax.doc.ic.ac.uk \
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- svax.doc.ic.ac.uk \
- tsun1.doc.ic.ac.uk \
- tsun10.doc.ic.ac.uk \
- tsun11.doc.ic.ac.uk \
- tsun12.doc.ic.ac.uk \
- tsun13.doc.ic.ac.uk \
- tsun14.doc.ic.ac.uk \
- tsun15.doc.ic.ac.uk \
- tsun16.doc.ic.ac.uk \
- tsun17.doc.ic.ac.uk \
- tsun18.doc.ic.ac.uk \
- tsun19.doc.ic.ac.uk \
- tsun2.doc.ic.ac.uk \
- tsun3.doc.ic.ac.uk \
- tsun4.doc.ic.ac.uk \
- tsun5.doc.ic.ac.uk \
- tsun6.doc.ic.ac.uk \
- tsun7.doc.ic.ac.uk \
- tsun8.doc.ic.ac.uk \
- tsun9.doc.ic.ac.uk \
- tsunfs.doc.ic.ac.uk \
- flamingo.doc.ic.ac.uk \
- pelican.doc.ic.ac.uk \
- oriona \
- sky.doc.ic.ac.uk \
- whoops.doc.ic.ac.uk \
- whoops \
- vlsi.doc.ic.ac.uk \
- vlsi \
- "
- }
-}
-
-fs /dev/dk0h {
- fstype = FSTYPE_UFS
- opts = rw,quota
- freq = 1
- passno = 2
- dumpset = csg_nightly
- mount /home/gould/staff {
- exportfs "\
- achilles \
- thp1 \
- thp2 \
- thp3 \
- thp4 \
- thp5 \
- thp6 \
- thp7 \
- thp8 \
- thp9 \
- thp10 \
- thpfs \
- ivax.doc.ic.ac.uk \
- rvax.doc.ic.ac.uk \
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- svax.doc.ic.ac.uk \
- tsun1.doc.ic.ac.uk \
- tsun10.doc.ic.ac.uk \
- tsun11.doc.ic.ac.uk \
- tsun12.doc.ic.ac.uk \
- tsun13.doc.ic.ac.uk \
- tsun14.doc.ic.ac.uk \
- tsun15.doc.ic.ac.uk \
- tsun16.doc.ic.ac.uk \
- tsun17.doc.ic.ac.uk \
- tsun18.doc.ic.ac.uk \
- tsun19.doc.ic.ac.uk \
- tsun2.doc.ic.ac.uk \
- tsun3.doc.ic.ac.uk \
- tsun4.doc.ic.ac.uk \
- tsun5.doc.ic.ac.uk \
- tsun6.doc.ic.ac.uk \
- tsun7.doc.ic.ac.uk \
- tsun8.doc.ic.ac.uk \
- tsun9.doc.ic.ac.uk \
- tsunfs.doc.ic.ac.uk \
- flamingo.doc.ic.ac.uk \
- pelican.doc.ic.ac.uk \
- oriona \
- sky.doc.ic.ac.uk \
- whoops.doc.ic.ac.uk \
- whoops \
- vlsi.doc.ic.ac.uk \
- vlsi \
- vlsi02 \
- "
- }
-}
-
-// booting diskless suns
-fs /dev/dk5e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- dumpset = csg_nightly
- mount /export {
-#ifndef ok
- volname /vol/export
-#endif
- exportfs "\
- -rootid=0 \
- whoops \
- whoops.doc.ic.ac.uk \
- "
- misc {
- volname /vol/export/misc
- }
- }
-}
-
-fs /dev/dk5a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 4
- dumpset = csg_nightly
- mount /export/roots {
- volname /vol/export/roots
- exportfs "\
- -rootid=0 \
- whoops \
- whoops.doc.ic.ac.uk \
- "
- }
-}
-
-fs /dev/dk5d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 5
- dumpset = csg_nightly
- mount /export/exec/sun3 {
- volname /vol/export/exec/sun3
- exportfs "\
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- tsun1.doc.ic.ac.uk \
- tsun10.doc.ic.ac.uk \
- tsun11.doc.ic.ac.uk \
- tsun12.doc.ic.ac.uk \
- tsun13.doc.ic.ac.uk \
- tsun14.doc.ic.ac.uk \
- tsun15.doc.ic.ac.uk \
- tsun16.doc.ic.ac.uk \
- tsun17.doc.ic.ac.uk \
- tsun18.doc.ic.ac.uk \
- tsun19.doc.ic.ac.uk \
- tsun2.doc.ic.ac.uk \
- tsun3.doc.ic.ac.uk \
- tsun4.doc.ic.ac.uk \
- tsun5.doc.ic.ac.uk \
- tsun6.doc.ic.ac.uk \
- tsun7.doc.ic.ac.uk \
- tsun8.doc.ic.ac.uk \
- tsun9.doc.ic.ac.uk \
- tsunfs.doc.ic.ac.uk \
- flamingo.doc.ic.ac.uk \
- pelican.doc.ic.ac.uk \
- whoops.doc.ic.ac.uk \
- whoops \
- "
- }
-}
-
-// various r+d things - used for athena, etc
-fs /dev/dk5g {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /usr/r+d {
- volname /vol/r+d
- exportfs "\
- ivax.doc.ic.ac.uk \
- rvax.doc.ic.ac.uk \
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- svax.doc.ic.ac.uk \
- tsun1.doc.ic.ac.uk \
- tsun10.doc.ic.ac.uk \
- tsun11.doc.ic.ac.uk \
- tsun12.doc.ic.ac.uk \
- tsun13.doc.ic.ac.uk \
- tsun14.doc.ic.ac.uk \
- tsun15.doc.ic.ac.uk \
- tsun16.doc.ic.ac.uk \
- tsun17.doc.ic.ac.uk \
- tsun18.doc.ic.ac.uk \
- tsun19.doc.ic.ac.uk \
- tsun2.doc.ic.ac.uk \
- tsun3.doc.ic.ac.uk \
- tsun4.doc.ic.ac.uk \
- tsun5.doc.ic.ac.uk \
- tsun6.doc.ic.ac.uk \
- tsun7.doc.ic.ac.uk \
- tsun8.doc.ic.ac.uk \
- tsun9.doc.ic.ac.uk \
- tsunfs.doc.ic.ac.uk \
- flamingo.doc.ic.ac.uk \
- pelican.doc.ic.ac.uk \
- oriona \
- sky.doc.ic.ac.uk \
- whoops.doc.ic.ac.uk \
- whoops \
- "
- }
-}
-
-fs /dev/dk3d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /usr/r+d/r1 {
- exportfs "\
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- "
- }
-}
-
-fs /dev/dk4h {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 7
- mount /usr/r+d/r2 {
- exportfs "\
- achilles \
- gummo \
- harpo \
- oriona \
- ssun1.doc.ic.ac.uk \
- ssun2.doc.ic.ac.uk \
- thpfs \
- toytown \
- obsidian \
- "
- }
-}
-
-// this bit of disc needs a name !
-fs /dev/dk5h {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 7
- mount /mnt2 {}
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/gummo.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/gummo.doc.ic.ac.uk
deleted file mode 100644
index aae6a5d..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/gummo.doc.ic.ac.uk
+++ /dev/null
@@ -1,12 +0,0 @@
-// mkfsinfo
-
-host gummo.doc.ic.ac.uk
-
-// ROOT
-fs /dev/xxx1 {
- fstype = export
- mount default {
- exportfs ""
- volname /home/gummo
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk
deleted file mode 100644
index c8fcb5d..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk
+++ /dev/null
@@ -1,84 +0,0 @@
-// $Id$
-// ivax
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw
-
-host {
- config "NFS_SERVER=true"
- config "NFS_CLIENT=true"
- config "YP_SERVER=false"
- config "YP_CLIENT=false"
-
- arch = vax
- os = xinu43
- cluster = teach.doc.ic.ac.uk
- netif il0 { hwaddr = "08:08:08:08:08:08" netmask = 0xfffffe00 inaddr = 129.31.80.36 }
-
-} ivax.doc.ic.ac.uk
-
-// root
-fs /dev/hp0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 1
- mount / {}
-}
-
-// swap
-fs /dev/hp0b {
- fstype = swap
-}
-
-// usr
-fs /dev/hp0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /usr {
- exportfs "\
- sky.doc.ic.ac.uk\
- svax.doc.ic.ac.uk\
- rvax.doc.ic.ac.uk\
- ivax.doc.ic.ac.uk\
- "
- }
-}
-
-// var
-fs /dev/hp0d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /var {}
-}
-
-// home directories
-fs /dev/hp0f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount default {
- volname /home/ivax
- exportfs "\
- sky.doc.ic.ac.uk\
- "
- }
-}
-
-// sources which are used by the gould for the infoserver
-fs /dev/hp2c {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /public {
- exportfs "\
- gould\
- "
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk
deleted file mode 100644
index dd9f0f7..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk
+++ /dev/null
@@ -1,28 +0,0 @@
-// $Id$
-// conf for obsidian
-
-#define FSTYPE_UFS hfs
-#define DEFAULT_OPTS rw
-
-host obsidian.doc.ic.ac.uk
-
-fs /dev/dsk/0s0 {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 1
- mount / {}
-}
-
-fs /dev/dsk/1s0 {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 1
- mount default {
- volname /home/obsidian
- exportfs "\
- gould\
- "
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk
deleted file mode 100644
index 1ffd8d7..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk
+++ /dev/null
@@ -1,208 +0,0 @@
-// mkfsinfo for pelican
-// $Id$
-
-host pelican.doc.ic.ac.uk
-
-/*
-arch sun3
-os sos4
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw,noquota,nosuid,grpid
-
-// swap
-fs /dev/xd0b {
- fstype = swap
-}
-
-// root
-fs /dev/xd0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- passno = 1
- freq = 1
- dumpset = csg_sun3_vax
- mount / {
- exportfs "-ro,access=tsunfs,root=tsunfs"
- }
-}
-
-// usr
-fs /dev/xd0f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- dumpset = csg_sun3_vax
- mount /usr {
- volname /vol/export/exec/sun3
- exportfs "-ro,access=teach_hosts,root=gould:flamingo:tsunfs"
- }
-}
-
-// tmp
-fs /dev/xd0d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS,nosuid
- freq = 1
- passno = 3
- mount /tmp {
- exportfs "\
- -access=\
- flamingo:\
- tsun16.doc.ic.ac.uk:\
- tsun17.doc.ic.ac.uk:\
- tsun18.doc.ic.ac.uk:\
- tsun19.doc.ic.ac.uk"
- }
-}
-
-// var
-fs /dev/xd0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 4
- dumpset = csg_sun3_vax
- mount /var {
- misc {
- // this is due to differences between tsunfs and pelican
- volname /vol/export/misc
- exportfs "\
- -access=teach_hosts,\
- root=\
- tcsun1.doc.ic.ac.uk:\
- tcsun2.doc.ic.ac.uk:\
- tcsun3.doc.ic.ac.uk:\
- tcsun4.doc.ic.ac.uk:\
- tcsun5.doc.ic.ac.uk:\
- tsun16.doc.ic.ac.uk:\
- tsun17.doc.ic.ac.uk:\
- tsun18.doc.ic.ac.uk:\
- tsun19.doc.ic.ac.uk"
- }
- mmdf {
- exportfs "\
- -access=teach_hosts,\
- root=\
- tcsun1.doc.ic.ac.uk:\
- tcsun2.doc.ic.ac.uk:\
- tcsun3.doc.ic.ac.uk:\
- tcsun4.doc.ic.ac.uk:\
- tcsun5.doc.ic.ac.uk:\
- tsun16.doc.ic.ac.uk:\
- tsun17.doc.ic.ac.uk:\
- tsun18.doc.ic.ac.uk:\
- tsun19.doc.ic.ac.uk"
- }
- spool {
- rwho {
- volname /vol/rwho
- exportfs "-ro,access=teach_hosts"
- sel "byte==big"
- }
- }
- }
-}
-
-// export for diskless clients
-fs /dev/xd0h {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 6
- mount /export {
- roots {
- tcsun1 {
- volname /vol/export/roots/tcsun1
- exportfs "-root=tcsun1.doc.ic.ac.uk,access=tcsun1.doc.ic.ac.uk"
- }
- tcsun2 {
- volname /vol/export/roots/tcsun2
- exportfs "-root=tcsun2.doc.ic.ac.uk,access=tcsun2.doc.ic.ac.uk"
- }
- tcsun3 {
- volname /vol/export/roots/tcsun3
- exportfs "-root=tcsun3.doc.ic.ac.uk,access=tcsun3.doc.ic.ac.uk"
- }
- tcsun4 {
- volname /vol/export/roots/tcsun4
- exportfs "-root=tcsun4.doc.ic.ac.uk,access=tcsun4.doc.ic.ac.uk"
- }
- tcsun5 {
- volname /vol/export/roots/tcsun5
- exportfs "-root=tcsun5.doc.ic.ac.uk,access=tcsun5.doc.ic.ac.uk"
- }
-
- tsun16 {
- volname /vol/export/roots/tsun16
- exportfs "-root=tsun16.doc.ic.ac.uk,access=tsun16.doc.ic.ac.uk"
- }
- tsun17 {
- volname /vol/export/roots/tsun17
- exportfs "-root=tsun17.doc.ic.ac.uk,access=tsun17.doc.ic.ac.uk"
- }
- tsun18 {
- volname /vol/export/roots/tsun18
- exportfs "-root=tsun18.doc.ic.ac.uk,access=tsun18.doc.ic.ac.uk"
- }
- tsun19 {
- volname /vol/export/roots/tsun19
- exportfs "-root=tsun19.doc.ic.ac.uk,access=tsun19.doc.ic.ac.uk"
- }
- }
- swaps {
- tcsun1 {
- volname /vol/export/swaps/tcsun1
- exportfs "-root=tcsun1.doc.ic.ac.uk,access=tcsun1.doc.ic.ac.uk"
- }
- tcsun2 {
- volname /vol/export/swaps/tcsun2
- exportfs "-root=tcsun2.doc.ic.ac.uk,access=tcsun2.doc.ic.ac.uk"
- }
- tcsun3 {
- volname /vol/export/swaps/tcsun3
- exportfs "-root=tcsun3.doc.ic.ac.uk,access=tcsun3.doc.ic.ac.uk"
- }
- tcsun4 {
- volname /vol/export/swaps/tcsun4
- exportfs "-root=tcsun4.doc.ic.ac.uk,access=tcsun4.doc.ic.ac.uk"
- }
- tcsun5 {
- volname /vol/export/swaps/tcsun5
- exportfs "-root=tcsun5.doc.ic.ac.uk,access=tcsun5.doc.ic.ac.uk"
- }
- tsun16 {
- volname /vol/export/swaps/tsun16
- exportfs "-root=tsun16.doc.ic.ac.uk,access=tsun16.doc.ic.ac.uk"
- }
- tsun17 {
- volname /vol/export/swaps/tsun17
- exportfs "-root=tsun17.doc.ic.ac.uk,access=tsun17.doc.ic.ac.uk"
- }
- tsun18 {
- volname /vol/export/swaps/tsun18
- exportfs "-root=tsun18.doc.ic.ac.uk,access=tsun18.doc.ic.ac.uk"
- }
- tsun19 {
- volname /vol/export/swaps/tsun19
- exportfs "-root=tsun19.doc.ic.ac.uk,access=tsun19.doc.ic.ac.uk"
- }
- }
- }
-}
-
-// home directories
-fs /dev/xd0g {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 5
- mount default {
- volname /home/pelican
- exportfs "-access=teach_hosts:thp_hosts:ssun2:obsidian:truth,root=gould"
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk
deleted file mode 100644
index 896b9a0..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk
+++ /dev/null
@@ -1,66 +0,0 @@
-// $Id$
-// rvax
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw
-
-host rvax.doc.ic.ac.uk
-
-/*
-arch vax
-os xinu43
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-// root
-fs /dev/hp0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 1
- mount / {}
-}
-
-// swap
-fs /dev/hp0b {
- fstype = swap
-}
-
-// usr
-fs /dev/hp0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /usr {
- exportfs "\
- sky.doc.ic.ac.uk\
- svax.doc.ic.ac.uk\
- rvax.doc.ic.ac.uk\
- ivax.doc.ic.ac.uk\
- "
- }
-}
-
-// var
-fs /dev/hp0d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /var {}
-}
-
-// home directories
-fs /dev/hp0f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /a/rvax/home/rvax {
- exportfs "\
- teach_hosts\
- "
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk
deleted file mode 100644
index b82605f..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk
+++ /dev/null
@@ -1,79 +0,0 @@
-// $Id$
-// sky
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw
-
-host sky.doc.ic.ac.uk
-
-/*
-arch vax
-os xinu43
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-// root
-fs /dev/hp0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 1
- mount / {}
-}
-
-// swap
-fs /dev/hp0b {
- fstype = swap
-}
-
-// usr
-fs /dev/hp0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /usr {
- exportfs "\
- sky.doc.ic.ac.uk\
- svax.doc.ic.ac.uk\
- rvax.doc.ic.ac.uk\
- ivax.doc.ic.ac.uk\
- "
- }
-}
-
-// var
-fs /dev/hp0d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /var {}
-}
-
-// home directories
-fs /dev/hp0f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /a/sky/home/sky {}
-}
-
-// 4.3 sources
-fs /dev/hp1g {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /usr/src {
- volname /vol/src/xinu43
- exportfs "\
- svax.doc.ic.ac.uk\
- rvax.doc.ic.ac.uk\
- sky.doc.ic.ac.uk\
- ivax.doc.ic.ac.uk\
- "
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk
deleted file mode 100644
index d9703eb..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk
+++ /dev/null
@@ -1,66 +0,0 @@
-// $Id$
-// svax
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw
-
-host svax.doc.ic.ac.uk
-
-/*
-arch vax
-os xinu43
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-// root
-fs /dev/hp0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 1
- mount / {}
-}
-
-// swap
-fs /dev/hp0b {
- fstype = swap
-}
-
-// usr
-fs /dev/hp0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 2
- mount /usr {
- exportfs "\
- sky.doc.ic.ac.uk\
- svax.doc.ic.ac.uk\
- rvax.doc.ic.ac.uk\
- ivax.doc.ic.ac.uk\
- "
- }
-}
-
-// var
-fs /dev/hp0d {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /var {}
-}
-
-// home directories
-fs /dev/hp0f {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 3
- mount /a/svax/home/svax {
- exportfs "\
- teach_hosts\
- "
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tcsun1.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tcsun1.doc.ic.ac.uk
deleted file mode 100644
index 1b10d84..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tcsun1.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tcsun1,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tcsun2.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tcsun2.doc.ic.ac.uk
deleted file mode 100644
index 933d2f4..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tcsun2.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tcsun2,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tcsun3.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tcsun3.doc.ic.ac.uk
deleted file mode 100644
index ccef4d4..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tcsun3.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tcsun3,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tcsun4.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tcsun4.doc.ic.ac.uk
deleted file mode 100644
index 9de9a9a..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tcsun4.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tcsun4,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tcsun5.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tcsun5.doc.ic.ac.uk
deleted file mode 100644
index 7f268a0..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tcsun5.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tcsun5,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/toytown.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/toytown.doc.ic.ac.uk
deleted file mode 100644
index 7b27f16..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/toytown.doc.ic.ac.uk
+++ /dev/null
@@ -1,116 +0,0 @@
-host toytown.doc.ic.ac.uk
-
-fs /dev/xy0a {
- fstype = 4.2
- opts = rw,noquota,grpid
- freq = 25
- passno = 1
- mount / {
- }
-}
-
-fs /dev/xy0g {
- fstype = 4.2
- opts = rw,noquota,grpid
- freq = 25
- passno = 2
- mount /usr {
- exportfs "-access=toytown_clients:hangers_on:pythagoras,ro"
- sun3 { }
- local { }
- }
-}
-
-fs /dev/xy1g {
- fstype = 4.2
- opts = rw,grpid,nosuid
- freq = 6
- passno = 2
- mount /home/toytown {
- exportfs "-access=toytown_clients:hangers_on,root=achilles"
- }
-}
-
-fs /dev/xy0f {
- fstype = 4.2
- opts = rw,noquota,grpid,nosuid
- freq = 25
- passno = 4
- mount /var {
- spool {
- exportfs "-access=toytown_clients:hangers_on"
- mail { }
- rwho { volname /vol/rwho sel "byte==big" }
-/*
- mail { exportfs "-access=toytown_clients:hangers_on" }
- rwho { exportfs "ro" volname /vol/rwho sel "byte==big" }
-*/
- }
- clients {
- archimedes { exportfs "-access=archimedes,root=archimedes" }
- archimedes.tmp { exportfs "-access=archimedes,root=archimedes" }
- aver { exportfs "-access=aver,root=aver" }
- aver.tmp { exportfs "-access=aver,root=aver" }
- bigears { exportfs "-access=bigears,root=bigears" }
- bigears.tmp { exportfs "-access=bigears,root=bigears" }
- diadem { exportfs "-access=diadem,root=diadem" }
- diadem.tmp { exportfs "-access=diadem,root=diadem" }
- montague { exportfs "-access=montague,root=montague" }
- montague.tmp { exportfs "-access=montague,root=montague" }
- noddy { exportfs "-access=noddy,root=noddy" }
- noddy.tmp { exportfs "-access=noddy,root=noddy" }
- pcplod { exportfs "-access=pcplod,root=pcplod" }
- pcplod.tmp { exportfs "-access=pcplod,root=pcplod" }
- samson { exportfs "-access=samson,root=samson" }
- samson.tmp { exportfs "-access=samson,root=samson" }
- turing { exportfs "-access=turing,root=turing" }
- turing.tmp { exportfs "-access=turing,root=turing" }
- }
- }
-}
-
-fs /dev/xy0d {
- fstype = 4.2
- opts = rw,noquota,grpid,nosuid
- freq = 25
- passno = 3
- mount /export {
- exec {
- sun3 { exportfs "-access=toytown_clients:hangers_on:pythagoras" }
- }
- root {
- archimedes { exportfs "-access=archimedes,root=archimedes" }
- aver { exportfs "-access=aver,root=aver" }
- bigears { exportfs "-access=bigears,root=bigears" }
- diadem { exportfs "-access=diadem,root=diadem" }
- montague { exportfs "-access=montague,root=montague" }
- noddy { exportfs "-access=noddy,root=noddy" }
- pcplod { exportfs "-access=pcplod,root=pcplod" }
- samson { exportfs "-access=samson,root=samson" }
- turing { exportfs "-access=turing,root=turing" }
- }
- swap {
- archimedes { exportfs "-access=archimedes,root=archimedes" }
- aver { exportfs "-access=aver,root=aver" }
- bigears { exportfs "-access=bigears,root=bigears" }
- diadem { exportfs "-access=diadem,root=diadem" }
- montague { exportfs "-access=montague,root=montague" }
- noddy { exportfs "-access=noddy,root=noddy" }
- pcplod { exportfs "-access=pcplod,root=pcplod" }
- samson { exportfs "-access=samson,root=samson" }
- turing { exportfs "-access=turing,root=turing" }
- }
- }
-}
-
-fs /dev/xy0b {
- fstype = swap
-}
-
-fs /dev/xy1b {
- fstype = swap
-}
-
-mount /home/ganymede opts rw,grpid,nosuid,bg,intr
-mount /home/achilles opts rw,grpid,nosuid,bg,intr
-mount /usr/src from achilles.doc.ic.ac.uk opts rw,grpid,nosuid,bg,intr
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/truth.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/truth.doc.ic.ac.uk
deleted file mode 100644
index 0139279..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/truth.doc.ic.ac.uk
+++ /dev/null
@@ -1,9 +0,0 @@
-host truth.doc.ic.ac.uk
-
-mount /export/exec/sun4 from achilles.doc.ic.ac.uk as /usr opts "rw,grpid,intr"
-mount /export/root/truth from achilles.doc.ic.ac.uk as / opts "rw,grpid,intr"
-mount /export/swap/truth from achilles.doc.ic.ac.uk fstype swap as swap opts swap
-mount /var/clients/truth.tmp from achilles.doc.ic.ac.uk as /tmp opts "rw,nosuid,grpid,intr"
-mount /var/clients/truth from achilles.doc.ic.ac.uk as /var opts "rw,nosuid,grpid,intr"
-mount /var/spool/mail from achilles.doc.ic.ac.uk as /var/spool/mail opts "rw,nosuid,grpid,intr"
-mount /usr/src from achilles.doc.ic.ac.uk as /usr/src opts "rw,nosuid,grpid,intr,bg"
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun1.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun1.doc.ic.ac.uk
deleted file mode 100644
index ff5016c..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun1.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun1,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun10.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun10.doc.ic.ac.uk
deleted file mode 100644
index 2496cdb..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun10.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun10,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun11.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun11.doc.ic.ac.uk
deleted file mode 100644
index d6e7b9d..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun11.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun11,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun12.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun12.doc.ic.ac.uk
deleted file mode 100644
index a8439bb..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun12.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun12,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun13.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun13.doc.ic.ac.uk
deleted file mode 100644
index 44e4956..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun13.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun13,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun14.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun14.doc.ic.ac.uk
deleted file mode 100644
index 66a5051..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun14.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun14,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun15.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun15.doc.ic.ac.uk
deleted file mode 100644
index 3246df3..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun15.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun15,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun16.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun16.doc.ic.ac.uk
deleted file mode 100644
index 4ab7bd0..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun16.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun16,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun17.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun17.doc.ic.ac.uk
deleted file mode 100644
index 11ef757..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun17.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun17,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun18.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun18.doc.ic.ac.uk
deleted file mode 100644
index fbdf879..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun18.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun18,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun19.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun19.doc.ic.ac.uk
deleted file mode 100644
index da9aba8..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun19.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun19,doc.ic.ac.uk,pelican.doc.ic.ac.uk,pelican.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun2.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun2.doc.ic.ac.uk
deleted file mode 100644
index b6fca77..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun2.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun2,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun3.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun3.doc.ic.ac.uk
deleted file mode 100644
index e40bd16..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun3.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun3,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun4.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun4.doc.ic.ac.uk
deleted file mode 100644
index cd97358..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun4.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun4,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun5.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun5.doc.ic.ac.uk
deleted file mode 100644
index 3a8c7e2..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun5.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun5,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun6.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun6.doc.ic.ac.uk
deleted file mode 100644
index 4c6ea76..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun6.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun6,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun7.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun7.doc.ic.ac.uk
deleted file mode 100644
index 9df32a9..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun7.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun7,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun8.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun8.doc.ic.ac.uk
deleted file mode 100644
index e2b5e1f..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun8.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun8,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsun9.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsun9.doc.ic.ac.uk
deleted file mode 100644
index e82e815..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsun9.doc.ic.ac.uk
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../csg_sun3"
-
-CSG_SUN3(tsun9,doc.ic.ac.uk,tsunfs.doc.ic.ac.uk,gould.doc.ic.ac.uk)
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk
deleted file mode 100644
index b09db9d..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk
+++ /dev/null
@@ -1,211 +0,0 @@
-// mkfsinfo for tsunfs
-// $Id$
-
-host tsunfs.doc.ic.ac.uk
-
-/*
-arch sun3
-os sos4
-cluster csg
-dumphost flamingo.doc.ic.ac.uk
-*/
-
-#define FSTYPE_UFS 4.2
-#define DEFAULT_OPTS rw,noquota,nosuid,grpid
-
-// swap
-fs /dev/xy0b {
- fstype = swap
-}
-
-// root
-fs /dev/xy0a {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- passno = 1
- freq = 1
- dumpset = csg_sun3_vax
- mount / {}
-}
-
-// usr
-fs /dev/xy0f {
- fstype = FSTYPE_UFS
- opts = rw,grpid
- freq = 1
- passno = 2
- dumpset = csg_sun3_vax
- mount /usr {}
-}
-
-// var
-fs /dev/xy0e {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 4
- dumpset = csg_sun3_vax
- mount /var {
- mmdf {
- exportfs "-access=teach_hosts,root=\
- tsun1.doc.ic.ac.uk:\
- tsun2.doc.ic.ac.uk:\
- tsun3.doc.ic.ac.uk:\
- tsun4.doc.ic.ac.uk:\
- tsun5.doc.ic.ac.uk:\
- tsun6.doc.ic.ac.uk:\
- tsun7.doc.ic.ac.uk:\
- tsun8.doc.ic.ac.uk:\
- tsun9.doc.ic.ac.uk:\
- tsun10.doc.ic.ac.uk:\
- tsun11.doc.ic.ac.uk:\
- tsun12.doc.ic.ac.uk:\
- tsun13.doc.ic.ac.uk:\
- tsun14.doc.ic.ac.uk:\
- tsun15.doc.ic.ac.uk:\
- ssun1.doc.ic.ac.uk:\
- whoops.doc.ic.ac.uk:\
- "
- }
- }
-}
-
-// root filesystems for diskless clients
-fs /dev/xy0d {
- fstype = FSTYPE_UFS
- opts = rw,grpid
- freq = 1
- passno = 3
- mount /export/roots {
- tsun1 {
- volname /vol/export/roots/tsun1
- exportfs "-root=tsun1.doc.ic.ac.uk,-access=tsun1.doc.ic.ac.uk"
- }
- tsun2 {
- volname /vol/export/roots/tsun2
- exportfs "-root=tsun2.doc.ic.ac.uk,-access=tsun2.doc.ic.ac.uk"
- }
- tsun3 {
- volname /vol/export/roots/tsun3
- exportfs "-root=tsun3.doc.ic.ac.uk,-access=tsun3.doc.ic.ac.uk"
- }
- tsun4 {
- volname /vol/export/roots/tsun4
- exportfs "-root=tsun4.doc.ic.ac.uk,-access=tsun4.doc.ic.ac.uk"
- }
- tsun5 {
- volname /vol/export/roots/tsun5
- exportfs "-root=tsun5.doc.ic.ac.uk,-access=tsun5.doc.ic.ac.uk"
- }
- tsun6 {
- volname /vol/export/roots/tsun6
- exportfs "-root=tsun6.doc.ic.ac.uk,-access=tsun6.doc.ic.ac.uk"
- }
- tsun7 {
- volname /vol/export/roots/tsun7
- exportfs "-root=tsun7.doc.ic.ac.uk,-access=tsun7.doc.ic.ac.uk"
- }
- tsun8 {
- volname /vol/export/roots/tsun8
- exportfs "-root=tsun8.doc.ic.ac.uk,-access=tsun8.doc.ic.ac.uk"
- }
- tsun9 {
- volname /vol/export/roots/tsun9
- exportfs "-root=tsun9.doc.ic.ac.uk,-access=tsun9.doc.ic.ac.uk"
- }
- tsun10 {
- volname /vol/export/roots/tsun10
- exportfs "-root=tsun10.doc.ic.ac.uk,-access=tsun10.doc.ic.ac.uk"
- }
- tsun11 {
- volname /vol/export/roots/tsun11
- exportfs "-root=tsun11.doc.ic.ac.uk,-access=tsun11.doc.ic.ac.uk"
- }
- tsun12 {
- volname /vol/export/roots/tsun12
- exportfs "-root=tsun12.doc.ic.ac.uk,-access=tsun12.doc.ic.ac.uk"
- }
- tsun13 {
- volname /vol/export/roots/tsun13
- exportfs "-root=tsun13.doc.ic.ac.uk,-access=tsun13.doc.ic.ac.uk"
- }
- tsun14 {
- volname /vol/export/roots/tsun14
- exportfs "-root=tsun14.doc.ic.ac.uk,-access=tsun14.doc.ic.ac.uk"
- }
- tsun15 {
- volname /vol/export/roots/tsun15
- exportfs "-root=tsun15.doc.ic.ac.uk,-access=tsun15.doc.ic.ac.uk"
- }
- }
-}
-
-// swap for diskless clients
-fs /dev/xy1c {
- fstype = FSTYPE_UFS
- opts = DEFAULT_OPTS
- freq = 1
- passno = 5
- mount /export/swaps {
- tsun1 {
- volname /vol/export/swaps/tsun1
- exportfs "-root=tsun1.doc.ic.ac.uk,-access=tsun1.doc.ic.ac.uk"
- }
- tsun2 {
- volname /vol/export/swaps/tsun2
- exportfs "-root=tsun2.doc.ic.ac.uk,-access=tsun2.doc.ic.ac.uk"
- }
- tsun3 {
- volname /vol/export/swaps/tsun3
- exportfs "-root=tsun3.doc.ic.ac.uk,-access=tsun3.doc.ic.ac.uk"
- }
- tsun4 {
- volname /vol/export/swaps/tsun4
- exportfs "-root=tsun4.doc.ic.ac.uk,-access=tsun4.doc.ic.ac.uk"
- }
- tsun5 {
- volname /vol/export/swaps/tsun5
- exportfs "-root=tsun5.doc.ic.ac.uk,-access=tsun5.doc.ic.ac.uk"
- }
- tsun6 {
- volname /vol/export/swaps/tsun6
- exportfs "-root=tsun6.doc.ic.ac.uk,-access=tsun6.doc.ic.ac.uk"
- }
- tsun7 {
- volname /vol/export/swaps/tsun7
- exportfs "-root=tsun7.doc.ic.ac.uk,-access=tsun7.doc.ic.ac.uk"
- }
- tsun8 {
- volname /vol/export/swaps/tsun8
- exportfs "-root=tsun8.doc.ic.ac.uk,-access=tsun8.doc.ic.ac.uk"
- }
- tsun9 {
- volname /vol/export/swaps/tsun9
- exportfs "-root=tsun9.doc.ic.ac.uk,-access=tsun9.doc.ic.ac.uk"
- }
- tsun10 {
- volname /vol/export/swaps/tsun10
- exportfs "-root=tsun10.doc.ic.ac.uk,-access=tsun10.doc.ic.ac.uk"
- }
- tsun11 {
- volname /vol/export/swaps/tsun11
- exportfs "-root=tsun11.doc.ic.ac.uk,-access=tsun11.doc.ic.ac.uk"
- }
- tsun12 {
- volname /vol/export/swaps/tsun12
- exportfs "-root=tsun12.doc.ic.ac.uk,-access=tsun12.doc.ic.ac.uk"
- }
- tsun13 {
- volname /vol/export/swaps/tsun13
- exportfs "-root=tsun13.doc.ic.ac.uk,-access=tsun13.doc.ic.ac.uk"
- }
- tsun14 {
- volname /vol/export/swaps/tsun14
- exportfs "-root=tsun14.doc.ic.ac.uk,-access=tsun14.doc.ic.ac.uk"
- }
- tsun15 {
- volname /vol/export/swaps/tsun15
- exportfs "-root=tsun15.doc.ic.ac.uk,-access=tsun15.doc.ic.ac.uk"
- }
- }
-}
diff --git a/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk b/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk
deleted file mode 100644
index 831053b..0000000
--- a/usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk
+++ /dev/null
@@ -1,21 +0,0 @@
-// $Id$
-// sm's bastardised csg_sun3
-// note that no /var/spool/rwho is mounted as we now expect amd to do this as /vol/rwho
-
-#define HOST whoops
-#define DOMAIN doc.ic.ac.uk
-#define BOOT gould.doc.ic.ac.uk
-#define EXEC gould.doc.ic.ac.uk
-#define MAIL tsunfs.doc.ic.ac.uk
-
-// a sun3
-host HOST.DOMAIN
-
-mount /vol/export/roots/HOST as / from BOOT opts rw,grpid,hard,intr
-mount /vol/export/swaps/HOST fstype swap as swap from BOOT opts swap
-mount /vol/export/exec/sun3 as /usr from EXEC opts ro,grpid,hard,intr
-mount /vol/export/misc/crash/HOST as /var/crash/HOST from EXEC opts rw,nosuid,grpid,hard,intr
-mount /vol/export/misc/tmp/HOST as /tmp from EXEC opts rw,nosuid,grpid,hard,intr
-mount /vol/export/misc/usr.tmp/HOST as /var/tmp from EXEC opts rw,nosuid,grpid,hard,intr
-mount /var/mmdf from MAIL opts rw,nosuid,grpid,hard,intr
-
diff --git a/usr.sbin/amd/fsinfo/conf/users b/usr.sbin/amd/fsinfo/conf/users
deleted file mode 100644
index 9dc83d9..0000000
--- a/usr.sbin/amd/fsinfo/conf/users
+++ /dev/null
@@ -1,106 +0,0 @@
-audit -> /etc/security/audit
-bin -> /bin
-daemon -> /
-games -> /usr/games
-ingres -> /usr/ingres
-news -> /var/spool/news
-nobody -> /nonexistent
-root -> /
-sync -> /
-sys -> /
-sysdiag -> /usr/diag/sysdiag
-uucp -> /var/spool/uucppublic
-acwf = /home/toytown/others/acwf
-adh = /home/dylan/dk2/adh
-ae = /home/toytown/samson/ae
-aj = /home/toytown/samson/aj
-athena = /vol/src/athena
-bh = /home/toytown/jim/bh
-bp = /home/toytown/others/bp
-brg = /home/gummo/users/brg
-bt = /home/toytown/samson/bt
-ca = /home/toytown/diadem/ca
-ccm = /home/toytown/ai/ccm
-chlo = /home/toytown/samson/chlo
-clh = /home/toytown/ai/clh
-cr = /home/toytown/samson/cr
-cw = /home/toytown/genesis/cw
-dds = /home/toytown/genesis/dds
-dg = /home/toytown/dov/dg
-dgb = /home/dylan/dk2/dgb
-dme = /home/achilles/dme
-dp = /home/gummo/usersdiana
-ds = /home/toytown/ai/ds
-dwj = /home/achilles/dwj
-eaa = /home/toytown/dov/eaa
-esh = /home/toytown/ai/esh
-fcs = /home/ganymede/fcs
-fst = /home/dylan/dk2/fst
-glb = /home/toytown/ai/glb
-grace = /home/toytown/others/grace
-guest = /home/toytown/others/guest
-hd = /home/toytown/others/hd
-hf = /home/toytown/genesis/hf
-iccp = /home/toytown/samson/iccp
-ids = /home/toytown/samson/ids
-ih = /home/toytown/others/ih
-ja = /home/toytown/ai/ja
-jfc = /home/toytown/jim/jfc
-jg = /home/toytown/genesis/jg
-jjc = /home/toytown/genesis/jjc
-js = /home/toytown/samson/js
-jsp = /home/achilles/jsp
-jvp = /home/toytown/jim/jvp
-kdr = /home/dylan/dk2/kdr
-kevin = /home/toytown/others/kpt
-kpt = /home/toytown/others/kpt
-ksa = /home/toytown/ai/ksa
-lkcl = /home/dylan/dk2/lkcl
-ll = /home/toytown/dov/ll
-ll1 = /home/toytown/others/ll1
-lmjm = /home/toytown/others/lmjm
-lsh = /home/toytown/ai/lsh
-mb = /home/toytown/jim/mb
-md = /home/achilles/md
-mdr = /home/achilles/mdr
-mg = /home/ganymede/mg
-mjh = /home/toytown/others/mjh
-mrs = /home/achilles/mrs
-mwg = /home/achilles/mwg
-mwt = /home/achilles/mwt
-nd = /home/gummo/users/nd
-njw = /home/dylan/dk2/njw
-ok = /home/ganymede/ok
-pah = /home/toytown/jim/pah
-pdg = /home/toytown/samson/pdg
-phjk = /home/toytown/ai/phjk
-pm = /home/achilles/pm
-pm2 = /home/dylan/dk2/pm2
-ps = /home/toytown/genesis/ps
-pt = /home/toytown/dov/pt
-pvr = /home/toytown/jim/pvr
-rgc = /home/toytown/jim/rgc
-rjc = /home/toytown/jim/rjc
-rjq = /home/achilles/rjq
-sa = /home/toytown/samson/sa
-shb = /home/toytown/others/shb
-shc = /home/dylan/dk2/shc
-sjk = /home/toytown/jim/sjk
-sjl2 = /home/achilles/sjl2
-sjv = /home/ganymede/sjv
-sm = /home/toytown/others/sm
-sme = /home/ganymede/sme
-sph = /home/toytown/ai/sph
-ssp = /home/toytown/others/ssp
-sw = /home/toytown/others/sw
-sza = /home/ganymede/sza
-teb = /home/dylan/dk2/teb
-thp = /home/achilles/thp
-tm = /home/toytown/ai/tm
-tsem = /home/toytown/genesis/tsem
-umacd20 = /home/ganymede/umacd20
-wmvh = /home/dylan/dk2/wmvh
-wrdo = /home/ganymede/wrdo
-ygal = /home/toytown/samson/ygal
-zmact03 = /home/toytown/jim/zmact03
-zmacy26 = /home/toytown/jim/zmacy26
diff --git a/usr.sbin/amd/fsinfo/fsi_analyze.c b/usr.sbin/amd/fsinfo/fsi_analyze.c
deleted file mode 100644
index 108333e..0000000
--- a/usr.sbin/amd/fsinfo/fsi_analyze.c
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fsi_analyze.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-/*
- * Analyze filesystem declarations
- *
- * Note: most of this is magic!
- */
-
-#include "../fsinfo/fsinfo.h"
-
-char *disk_fs_strings[] = {
- "fstype", "opts", "dumpset", "passno", "freq", "mount", "log", 0,
-};
-
-char *mount_strings[] = {
- "volname", "exportfs", 0,
-};
-
-char *fsmount_strings[] = {
- "as", "volname", "fstype", "opts", "from", 0,
-};
-
-char *host_strings[] = {
- "host", "netif", "config", "arch", "cluster", "os", 0,
-};
-
-char *ether_if_strings[] = {
- "inaddr", "netmask", "hwaddr", 0,
-};
-
-/*
- * Strip off the trailing part of a domain
- * to produce a short-form domain relative
- * to the local host domain.
- * Note that this has no effect if the domain
- * names do not have the same number of
- * components. If that restriction proves
- * to be a problem then the loop needs recoding
- * to skip from right to left and do partial
- * matches along the way -- ie more expensive.
- */
-void domain_strip(otherdom, localdom)
-char *otherdom, *localdom;
-{
-#ifdef PARTIAL_DOMAINS
- char *p1 = otherdom-1;
- char *p2 = localdom-1;
-
- do {
- if (p1 = strchr(p1+1, '.'))
- if (p2 = strchr(p2+1, '.'))
- if (STREQ(p1+1, p2+1)) {
- *p1 = '\0';
- break;
- }
- } while (p1 && p2);
-#else
- char *p1, *p2;
-
- if ((p1 = strchr(otherdom, '.')) &&
- (p2 = strchr(localdom, '.')) &&
- (strcmp(p1+1, p2+1) == 0))
- *p1 = '\0';
-#endif /* PARTIAL_DOMAINS */
-}
-
-/*
- * Take a little-endian domain name and
- * transform into a big-endian Un*x pathname.
- * For example: kiska.doc.ic -> ic/doc/kiska
- */
-static char *compute_hostpath(hn)
-char *hn;
-{
- char *p = strdup(hn);
- char *d;
- char path[MAXPATHLEN];
-
- domain_strip(p, hostname);
- path[0] = '\0';
-
- do {
- d = strrchr(p, '.');
- if (d) {
- *d = 0;
- strcat(path, d+1);
- strcat(path, "/");
- } else {
- strcat(path, p);
- }
- } while (d);
-
- log("hostpath of '%s' is '%s'", hn, path);
-
- strcpy(p, path);
- return p;
-}
-
-static dict_ent *find_volname(nn)
-char *nn;
-{
- dict_ent *de;
- char *p = strdup(nn);
- char *q;
-
- do {
- log("Searching for volname %s", p);
- de = dict_locate(dict_of_volnames, p);
- q = strrchr(p, '/');
- if (q) *q = '\0';
- } while (!de && q);
-
- free(p);
- return de;
-}
-
-static show_required(l, mask, info, hostname, strings)
-ioloc *l;
-int mask;
-char *info;
-char *hostname;
-char *strings[];
-{
- int i;
- log("mask left for %s:%s is %#x", hostname, info, mask);
-
- for (i = 0; strings[i]; i++)
- if (ISSET(mask, i))
- lerror(l, "%s:%s needs field \"%s\"", hostname, info, strings[i]);
-}
-
-/*
- * Check and fill in "exportfs" details.
- * Make sure the m_exported field references
- * the most local node with an "exportfs" entry.
- */
-static int check_exportfs(q, e)
-qelem *q;
-mount *e;
-{
- mount *mp;
- int errors = 0;
-
- ITER(mp, mount, q) {
- if (ISSET(mp->m_mask, DM_EXPORTFS)) {
- if (e)
- lwarning(mp->m_ioloc, "%s has duplicate exportfs data", mp->m_name);
- mp->m_exported = mp;
- if (!ISSET(mp->m_mask, DM_VOLNAME))
- set_mount(mp, DM_VOLNAME, strdup(mp->m_name));
- } else {
- mp->m_exported = e;
- }
-
- /*
- * Recursively descend the mount tree
- */
- if (mp->m_mount)
- errors += check_exportfs(mp->m_mount, mp->m_exported);
-
- /*
- * If a volume name has been specified, but this node and none
- * of its parents has been exported, report an error.
- */
- if (ISSET(mp->m_mask, DM_VOLNAME) && !mp->m_exported) {
- lerror(mp->m_ioloc, "%s has a volname but no exportfs data", mp->m_name);
- errors++;
- }
- }
-
- return errors;
-}
-
-static int analyze_dkmount_tree(q, parent, dk)
-qelem *q;
-mount *parent;
-disk_fs *dk;
-{
- mount *mp;
- int errors = 0;
-
- ITER(mp, mount, q) {
- log("Mount %s:", mp->m_name);
- if (parent) {
- char n[MAXPATHLEN];
- sprintf(n, "%s/%s", parent->m_name, mp->m_name);
- if (*mp->m_name == '/')
- lerror(mp->m_ioloc, "sub-directory %s of %s starts with '/'", mp->m_name, parent->m_name);
- else if (STREQ(mp->m_name, "default"))
- lwarning(mp->m_ioloc, "sub-directory of %s is named \"default\"", parent->m_name);
- log("Changing name %s to %s", mp->m_name, n);
- free(mp->m_name);
- mp->m_name = strdup(n);
- }
- mp->m_name_len = strlen(mp->m_name);
- mp->m_parent = parent;
- mp->m_dk = dk;
- if (mp->m_mount)
- analyze_dkmount_tree(mp->m_mount, mp, dk);
- }
-
- return errors;
-}
-
-/*
- * The mount tree is a singleton list
- * containing the top-level mount
- * point for a disk.
- */
-static int analyze_dkmounts(dk, q)
-disk_fs *dk;
-qelem *q;
-{
- int errors = 0;
- mount *mp, *mp2 = 0;
- int i = 0;
-
- /*
- * First scan the list of subdirs to make
- * sure there is only one - and remember it
- */
- if (q) {
- ITER(mp, mount, q) {
- mp2 = mp;
- i++;
- }
- }
-
- /*
- * Check...
- */
- if (i < 1) {
- lerror(dk->d_ioloc, "%s:%s has no mount point", dk->d_host->h_hostname, dk->d_dev);
- return 1;
- }
- if (i > 1) {
- lerror(dk->d_ioloc, "%s:%s has more than one mount point", dk->d_host->h_hostname, dk->d_dev);
- errors++;
- }
- /*
- * Now see if a default mount point is required
- */
- if (STREQ(mp2->m_name, "default")) {
- if (ISSET(mp2->m_mask, DM_VOLNAME)) {
- char nbuf[1024];
- compute_automount_point(nbuf, dk->d_host, mp2->m_volname);
- free(mp2->m_name);
- mp2->m_name = strdup(nbuf);
- log("%s:%s has default mount on %s", dk->d_host->h_hostname, dk->d_dev, mp2->m_name);
- } else {
- lerror(dk->d_ioloc, "no volname given for %s:%s", dk->d_host->h_hostname, dk->d_dev);
- errors++;
- }
- }
- /*
- * Fill in the disk mount point
- */
- if (!errors && mp2 && mp2->m_name)
- dk->d_mountpt = strdup(mp2->m_name);
- else
- dk->d_mountpt = strdup("error");
-
- /*
- * Analyze the mount tree
- */
- errors += analyze_dkmount_tree(q, 0, dk);
-
- /*
- * Analyze the export tree
- */
- errors += check_exportfs(q, 0);
-
- return errors;
-}
-
-static void fixup_required_disk_info(dp)
-disk_fs *dp;
-{
- /*
- * "fstype"
- */
- if (ISSET(dp->d_mask, DF_FSTYPE)) {
- if (STREQ(dp->d_fstype, "swap")) {
- /*
- * Fixup for a swap device
- */
- if (!ISSET(dp->d_mask, DF_PASSNO)) {
- dp->d_passno = 0;
- BITSET(dp->d_mask, DF_PASSNO);
- } else if (dp->d_freq != 0) {
- lwarning(dp->d_ioloc,
- "Pass number for %s:%s is non-zero",
- dp->d_host->h_hostname, dp->d_dev);
- }
-
- /*
- * "freq"
- */
- if (!ISSET(dp->d_mask, DF_FREQ)) {
- dp->d_freq = 0;
- BITSET(dp->d_mask, DF_FREQ);
- } else if (dp->d_freq != 0) {
- lwarning(dp->d_ioloc,
- "dump frequency for %s:%s is non-zero",
- dp->d_host->h_hostname, dp->d_dev);
- }
-
- /*
- * "opts"
- */
- if (!ISSET(dp->d_mask, DF_OPTS))
- set_disk_fs(dp, DF_OPTS, strdup("swap"));
-
- /*
- * "mount"
- */
- if (!ISSET(dp->d_mask, DF_MOUNT)) {
- qelem *q = new_que();
- mount *m = new_mount();
- m->m_name = strdup("swap");
- m->m_mount = new_que();
- ins_que(&m->m_q, q->q_back);
- dp->d_mount = q;
- BITSET(dp->d_mask, DF_MOUNT);
- } else {
- lerror(dp->d_ioloc, "%s: mount field specified for swap partition", dp->d_host->h_hostname);
- }
- } else if (STREQ(dp->d_fstype, "export")) {
- /*
- * "passno"
- */
- if (!ISSET(dp->d_mask, DF_PASSNO)) {
- dp->d_passno = 0;
- BITSET(dp->d_mask, DF_PASSNO);
- } else if (dp->d_passno != 0) {
- lwarning(dp->d_ioloc,
- "pass number for %s:%s is non-zero",
- dp->d_host->h_hostname, dp->d_dev);
- }
-
- /*
- * "freq"
- */
- if (!ISSET(dp->d_mask, DF_FREQ)) {
- dp->d_freq = 0;
- BITSET(dp->d_mask, DF_FREQ);
- } else if (dp->d_freq != 0) {
- lwarning(dp->d_ioloc,
- "dump frequency for %s:%s is non-zero",
- dp->d_host->h_hostname, dp->d_dev);
- }
-
- /*
- * "opts"
- */
- if (!ISSET(dp->d_mask, DF_OPTS))
- set_disk_fs(dp, DF_OPTS, strdup("rw,defaults"));
-
- }
- }
-}
-
-static void fixup_required_mount_info(fp, de)
-fsmount *fp;
-dict_ent *de;
-{
- if (!ISSET(fp->f_mask, FM_FROM)) {
- if (de->de_count != 1) {
- lerror(fp->f_ioloc, "ambiguous mount: %s is a replicated filesystem", fp->f_volname);
- } else {
- dict_data *dd;
- mount *mp = 0;
- ITER(dd, dict_data, &de->de_q) {
- mp = (mount *) dd->dd_data;
- break;
- }
- if (!mp)
- abort();
- fp->f_ref = mp;
- set_fsmount(fp, FM_FROM, mp->m_dk->d_host->h_hostname);
- log("set: %s comes from %s", fp->f_volname, fp->f_from);
- }
- }
-
- if (!ISSET(fp->f_mask, FM_FSTYPE)) {
- set_fsmount(fp, FM_FSTYPE, strdup("nfs"));
- log("set: fstype is %s", fp->f_fstype);
- }
-
- if (!ISSET(fp->f_mask, FM_OPTS)) {
- set_fsmount(fp, FM_OPTS, strdup("rw,nosuid,grpid,defaults"));
- log("set: opts are %s", fp->f_opts);
- }
-
- if (!ISSET(fp->f_mask, FM_LOCALNAME)) {
- if (fp->f_ref) {
- set_fsmount(fp, FM_LOCALNAME, strdup(fp->f_volname));
- log("set: localname is %s", fp->f_localname);
- } else {
- lerror(fp->f_ioloc, "cannot determine localname since volname %s is not uniquely defined", fp->f_volname);
- }
- }
-}
-
-/*
- * For each disk on a host
- * analyze the mount information
- * and fill in any derivable
- * details.
- */
-static void analyze_drives(hp)
-host *hp;
-{
- qelem *q = hp->h_disk_fs;
- disk_fs *dp;
-
- ITER(dp, disk_fs, q) {
- int req;
- log("Disk %s:", dp->d_dev);
- dp->d_host = hp;
- fixup_required_disk_info(dp);
- req = ~dp->d_mask & DF_REQUIRED;
- if (req)
- show_required(dp->d_ioloc, req, dp->d_dev, hp->h_hostname, disk_fs_strings);
- analyze_dkmounts(dp, dp->d_mount);
- }
-}
-
-/*
- * Check that all static mounts make sense and
- * that the source volumes exist.
- */
-static void analyze_mounts(hp)
-host *hp;
-{
- qelem *q = hp->h_mount;
- fsmount *fp;
- int netbootp = 0;
-
- ITER(fp, fsmount, q) {
- char *p;
- char *nn = strdup(fp->f_volname);
- int req;
- dict_ent *de;
- int found = 0;
- int matched = 0;
- do {
- p = 0;
- de = find_volname(nn);
- log("Mount: %s (trying %s)", fp->f_volname, nn);
-
- if (de) {
- found = 1;
- /*
- * Check that the from field is really exporting
- * the filesystem requested.
- */
- if (ISSET(fp->f_mask, FM_FROM)) {
- dict_data *dd;
- mount *mp2 = 0;
- ITER(dd, dict_data, &de->de_q) {
- mount *mp = (mount *) dd->dd_data;
- if (STREQ(mp->m_dk->d_host->h_hostname, fp->f_from)) {
- mp2 = mp;
- break;
- }
- }
-
- if (mp2) {
- fp->f_ref = mp2;
- matched = 1;
- break;
- }
- } else {
- matched = 1;
- break;
- }
- }
- p = strrchr(nn, '/');
- if (p)
- *p = 0;
- } while (de && p);
- free(nn);
-
- if (!found) {
- lerror(fp->f_ioloc, "volname %s unknown", fp->f_volname);
- } else if (matched) {
- fixup_required_mount_info(fp, de);
- req = ~fp->f_mask & FM_REQUIRED;
- if (req) {
- show_required(fp->f_ioloc, req, fp->f_volname, hp->h_hostname,
- fsmount_strings);
- } else if (strcmp(fp->f_localname, "/") == 0) {
- hp->h_netroot = fp;
- netbootp |= FM_NETROOT;
- } else if (strcmp(fp->f_localname, "swap") == 0) {
- hp->h_netswap = fp;
- netbootp |= FM_NETSWAP;
- }
- } else {
- lerror(fp->f_ioloc, "volname %s not exported from %s", fp->f_volname,
- fp->f_from ? fp->f_from : "anywhere");
- }
- }
-
- if (netbootp && (netbootp != FM_NETBOOT))
- lerror(hp->h_ioloc, "network booting requires both root and swap areas");
-}
-
-void analyze_hosts(q)
-qelem *q;
-{
- host *hp;
-
- show_area_being_processed("analyze hosts", 5);
-
- /*
- * Check all drives
- */
- ITER(hp, host, q) {
- log("disks on host %s", hp->h_hostname);
- show_new("ana-host");
- hp->h_hostpath = compute_hostpath(hp->h_hostname);
-
- if (hp->h_disk_fs)
- analyze_drives(hp);
-
- }
-
- show_area_being_processed("analyze mounts", 5);
-
- /*
- * Check static mounts
- */
- ITER(hp, host, q) {
- log("mounts on host %s", hp->h_hostname);
- show_new("ana-mount");
- if (hp->h_mount)
- analyze_mounts(hp);
-
- }
-}
-
-/*
- * Check an automount request
- */
-static void analyze_automount(ap)
-automount *ap;
-{
- dict_ent *de = find_volname(ap->a_volname);
- if (de) {
- ap->a_mounted = de;
- } else {
- if (STREQ(ap->a_volname, ap->a_name))
- lerror(ap->a_ioloc, "unknown volname %s automounted", ap->a_volname);
- else
- lerror(ap->a_ioloc, "unknown volname %s automounted on %s", ap->a_volname, ap->a_name);
- }
-}
-
-static void analyze_automount_tree(q, pref, lvl)
-qelem *q;
-char *pref;
-int lvl;
-{
- automount *ap;
-
- ITER(ap, automount, q) {
- char nname[1024];
- if (lvl > 0 || ap->a_mount)
- if (ap->a_name[1] && strchr(ap->a_name+1, '/'))
- lerror(ap->a_ioloc, "not allowed '/' in a directory name");
- sprintf(nname, "%s/%s", pref, ap->a_name);
- free(ap->a_name);
- ap->a_name = strdup(nname[1] == '/' ? nname+1 : nname);
- log("automount point %s:", ap->a_name);
- show_new("ana-automount");
- if (ap->a_mount) {
- analyze_automount_tree(ap->a_mount, ap->a_name, lvl+1);
- } else if (ap->a_volname) {
- log("\tautomount from %s", ap->a_volname);
- analyze_automount(ap);
- } else if (ap->a_symlink) {
- log("\tsymlink to %s", ap->a_symlink);
- } else {
- ap->a_volname = strdup(ap->a_name);
- log("\timplicit automount from %s", ap->a_volname);
- analyze_automount(ap);
- }
- }
-}
-
-void analyze_automounts(q)
-qelem *q;
-{
- auto_tree *tp;
-
- show_area_being_processed("analyze automount", 5);
- /*
- * q is a list of automounts
- */
- ITER(tp, auto_tree, q)
- analyze_automount_tree(tp->t_mount, "", 0);
-}
diff --git a/usr.sbin/amd/fsinfo/fsi_data.h b/usr.sbin/amd/fsinfo/fsi_data.h
deleted file mode 100644
index a8d9384..0000000
--- a/usr.sbin/amd/fsinfo/fsi_data.h
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fsi_data.h 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-typedef struct auto_tree auto_tree;
-typedef struct automount automount;
-typedef struct dict dict;
-typedef struct dict_data dict_data;
-typedef struct dict_ent dict_ent;
-typedef struct disk_fs disk_fs;
-typedef struct ether_if ether_if;
-typedef struct fsmount fsmount;
-typedef struct host host;
-typedef struct ioloc ioloc;
-typedef struct mount mount;
-typedef struct qelem qelem;
-
-/*
- * Linked lists...
- */
-struct qelem {
- qelem *q_forw;
- qelem *q_back;
-};
-
-/*
- * Automount tree
- */
-struct automount {
- qelem a_q;
- ioloc *a_ioloc;
- char *a_name; /* Automount key */
- char *a_volname; /* Equivalent volume to be referenced */
- char *a_symlink; /* Symlink representation */
- qelem *a_mount; /* Tree representation */
- dict_ent *a_mounted;
-};
-
-/*
- * List of automount trees
- */
-struct auto_tree {
- qelem t_q;
- ioloc *t_ioloc;
- char *t_defaults;
- qelem *t_mount;
-};
-
-/*
- * A host
- */
-struct host {
- qelem q;
- int h_mask;
- ioloc *h_ioloc;
- fsmount *h_netroot, *h_netswap;
-#define HF_HOST 0
- char *h_hostname; /* The full name of the host */
- char *h_lochost; /* The name of the host with local domains stripped */
- char *h_hostpath; /* The filesystem path to the host (cf compute_hostpath) */
-#define HF_ETHER 1
- qelem *h_ether;
-#define HF_CONFIG 2
- qelem *h_config;
-#define HF_ARCH 3
- char *h_arch;
-#define HF_CLUSTER 4
- char *h_cluster;
-#define HF_OS 5
- char *h_os;
- qelem *h_disk_fs;
- qelem *h_mount;
-};
-
-/*
- * An ethernet interface
- */
-struct ether_if {
- qelem e_q;
- int e_mask;
- ioloc *e_ioloc;
- char *e_if;
-#define EF_INADDR 0
- struct in_addr e_inaddr;
-#define EF_NETMASK 1
- u_long e_netmask;
-#define EF_HWADDR 2
- char *e_hwaddr;
-};
-
-/*
- * Disk filesystem structure.
- *
- * If the DF_* numbers are changed
- * disk_fs_strings in analyze.c will
- * need updating.
- */
-struct disk_fs {
- qelem d_q;
- int d_mask;
- ioloc *d_ioloc;
- host *d_host;
- char *d_mountpt;
- char *d_dev;
-#define DF_FSTYPE 0
- char *d_fstype;
-#define DF_OPTS 1
- char *d_opts;
-#define DF_DUMPSET 2
- char *d_dumpset;
-#define DF_PASSNO 3
- int d_passno;
-#define DF_FREQ 4
- int d_freq;
-#define DF_MOUNT 5
- qelem *d_mount;
-#define DF_LOG 6
- char *d_log;
-};
-#define DF_REQUIRED ((1<<DF_FSTYPE)|(1<<DF_OPTS)|(1<<DF_PASSNO)|(1<<DF_MOUNT))
-
-/*
- * A mount tree
- */
-struct mount {
- qelem m_q;
- ioloc *m_ioloc;
- int m_mask;
-#define DM_VOLNAME 0
- char *m_volname;
-#define DM_EXPORTFS 1
- char *m_exportfs;
-#define DM_SEL 2
- char *m_sel;
- char *m_name;
- int m_name_len;
- mount *m_parent;
- disk_fs *m_dk;
- mount *m_exported;
- qelem *m_mount;
-};
-
-/*
- * Additional filesystem mounts
- *
- * If the FM_* numbers are changed
- * disk_fs_strings in analyze.c will
- * need updating.
- */
-struct fsmount {
- qelem f_q;
- mount *f_ref;
- ioloc *f_ioloc;
- int f_mask;
-#define FM_LOCALNAME 0
- char *f_localname;
-#define FM_VOLNAME 1
- char *f_volname;
-#define FM_FSTYPE 2
- char *f_fstype;
-#define FM_OPTS 3
- char *f_opts;
-#define FM_FROM 4
- char *f_from;
-};
-#define FM_REQUIRED ((1<<FM_VOLNAME)|(1<<FM_FSTYPE)|(1<<FM_OPTS)|(1<<FM_FROM)|(1<<FM_LOCALNAME))
-#define FM_NETROOT 0x01
-#define FM_NETSWAP 0x02
-#define FM_NETBOOT (FM_NETROOT|FM_NETSWAP)
-
-#define DICTHASH 5
-struct dict_ent {
- dict_ent *de_next;
- char *de_key;
- int de_count;
- qelem de_q;
-};
-
-/*
- * Dictionaries ...
- */
-struct dict_data {
- qelem dd_q;
- char *dd_data;
-};
-
-struct dict {
- dict_ent *de[DICTHASH];
-};
-
-/*
- * Source text location for error reports
- */
-struct ioloc {
- int i_line;
- char *i_file;
-};
diff --git a/usr.sbin/amd/fsinfo/fsi_dict.c b/usr.sbin/amd/fsinfo/fsi_dict.c
deleted file mode 100644
index 68e03f8..0000000
--- a/usr.sbin/amd/fsinfo/fsi_dict.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fsi_dict.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-/*
- * Dictionary support
- */
-
-#include "../fsinfo/fsinfo.h"
-
-static int dict_hash(k)
-char *k;
-{
- unsigned int h;
-
- for (h = 0; *k; h += *k++)
- ;
- return h % DICTHASH;
-}
-
-dict *new_dict()
-{
- dict *dp = ALLOC(dict);
- return dp;
-}
-
-static void dict_add_data(de, v)
-dict_ent *de;
-char *v;
-{
- dict_data *dd = ALLOC(dict_data);
- dd->dd_data = v;
- ins_que(&dd->dd_q, de->de_q.q_back);
- de->de_count++;
-}
-
-static dict_ent *new_dict_ent(k)
-char *k;
-{
- dict_ent *de = ALLOC(dict_ent);
- de->de_key = k;
- init_que(&de->de_q);
- return de;
-}
-
-dict_ent *dict_locate(dp, k)
-dict *dp;
-char *k;
-{
- dict_ent *de = dp->de[dict_hash(k)];
- while (de && !STREQ(de->de_key, k))
- de = de->de_next;
-
- return de;
-}
-
-void dict_add(dp, k, v)
-dict *dp;
-char *k, *v;
-{
- dict_ent *de = dict_locate(dp, k);
- if (!de) {
- dict_ent **dep = &dp->de[dict_hash(k)];
- de = new_dict_ent(k);
- de->de_next = *dep;
- *dep = de;
- }
- dict_add_data(de, v);
-}
-
-int dict_iter(dp, fn)
-dict *dp;
-int (*fn)();
-{
- int i;
- int errors = 0;
-
- for (i = 0; i < DICTHASH; i++) {
- dict_ent *de = dp->de[i];
- while (de) {
- errors += (*fn)(&de->de_q);
- de = de->de_next;
- }
- }
- return errors;
-}
diff --git a/usr.sbin/amd/fsinfo/fsi_gram.y b/usr.sbin/amd/fsinfo/fsi_gram.y
deleted file mode 100644
index 412f3c5..0000000
--- a/usr.sbin/amd/fsinfo/fsi_gram.y
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fsi_gram.y 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-%{
-#include "../fsinfo/fsinfo.h"
-#include <stdio.h>
-
-extern qelem *list_of_hosts, *list_of_automounts;
-%}
-
-%union {
- auto_tree *a;
- disk_fs *d;
- ether_if *e;
- host *h;
- qelem *q;
- char *s;
- mount *m;
- fsmount *f;
-}
-
-%token tARCH
-%token tAS
-%token tAUTOMOUNT
-%token tCLUSTER
-%token tCONFIG
-%token tDUMPSET
-%token tEQ
-%token tEXPORTFS
-%token tFREQ
-%token tFROM
-%token tFS
-%token tFSTYPE
-%token tHWADDR
-%token tINADDR
-%token tHOST
-%token tLOCALHOST
-%token tLOG
-%token tMOUNT
-%token tNETMASK
-%token tNETIF
-%token tVOLNAME
-%token tOPTS
-%token tOS
-%token tPASSNO
-%token tSEL
-%token <s> tSTR
-
-%start list_of_hosts
-
-%type <a> automount
-%type <q> automount_tree
-%type <e> ether_attr
-%type <m> dir_tree_info
-%type <d> filesystem fs_info_list
-%type <h> host host_attr host_attr_list
-%type <q> list_of_hosts list_of_filesystems list_of_mounts dir_tree
-%type <f> localinfo_list
-%type <s> opt_auto_opts
-
-%%
-
-list_of_hosts :
- /* empty */
- { $$ = new_que(); }
-
- | list_of_hosts host
- { if ($2) ins_que((qelem *) $2, list_of_hosts->q_back);
- $$ = $1; }
-
- | list_of_hosts automount
- { if ($2) ins_que((qelem *) $2, list_of_automounts->q_back);
- $$ = $1; }
- ;
-
-/*
- * A new host:
- *
- * host foo.domain
- */
-host :
- tHOST host_attr list_of_filesystems list_of_mounts
- { $$ = $2; $$->h_disk_fs = $3; $$->h_mount = $4; }
-
- | error tHOST host_attr list_of_filesystems list_of_mounts
- { $$ = $3; $$->h_disk_fs = $4; $$->h_mount = $5; }
-
- ;
-
-host_attr :
- tSTR
- { $$ = new_host(); set_host($$, HF_HOST, $1); }
-
- | '{' host_attr_list '}' tSTR
- { $$ = $2; set_host($$, HF_HOST, $4); }
-
- ;
-
-host_attr_list :
- /* empty */
- { $$ = new_host(); }
-
- | host_attr_list tNETIF tSTR '{' ether_attr '}'
- { if ($5) {
- $5->e_if = $3;
- $$ = $1; set_host($$, HF_ETHER, $5); }
- }
-
- | host_attr_list tCONFIG tSTR
- { $$ = $1; set_host($$, HF_CONFIG, $3); }
-
- | host_attr_list tARCH '=' tSTR
- { $$ = $1; set_host($$, HF_ARCH, $4); }
-
- | host_attr_list tOS '=' tSTR
- { $$ = $1; set_host($$, HF_OS, $4); }
-
- | host_attr_list tCLUSTER '=' tSTR
- { $$ = $1; set_host($$, HF_CLUSTER, $4); }
-
- | host_attr_list error '=' tSTR
- { yyerror("unknown host attribute"); }
- ;
-
-ether_attr :
- /* empty */
- { $$ = new_ether_if(); }
-
- | ether_attr tINADDR '=' tSTR
- { $$ = $1; set_ether_if($$, EF_INADDR, $4); }
- | ether_attr tNETMASK '=' tSTR
- { $$ = $1; set_ether_if($$, EF_NETMASK, $4); }
- | ether_attr tHWADDR '=' tSTR
- { $$ = $1; set_ether_if($$, EF_HWADDR, $4); }
- ;
-
-/*
- * A new automount tree:
- *
- * automount /mountpoint { ... }
- */
-automount :
- tAUTOMOUNT opt_auto_opts automount_tree
- { if ($3) {
- $$ = new_auto_tree($2, $3);
- } else {
- $$ = 0;
- }
- }
-
- | tAUTOMOUNT error
- { $$ = 0; }
- ;
-
-opt_auto_opts :
- /* empty */
- { $$ = strdup(""); }
-
- | tOPTS tSTR
- { $$ = $2; }
- ;
-
-list_of_filesystems :
- /* empty */
- { $$ = 0; }
-
- | list_of_filesystems filesystem
- { if ($2) {
- if ($1)
- $$ = $1;
- else
- $$ = new_que();
- ins_que(&$2->d_q, $$->q_back);
- } else {
- $$ = $1;
- }
- }
- ;
-
-/*
- * A new filesystem:
- *
- * fs /dev/whatever { ... }
- */
-filesystem :
- tFS tSTR '{' fs_info_list '}'
- { $4->d_dev = $2; $$ = $4; }
-
- | tFS error '}'
- { $$ = (disk_fs *) 0; }
- ;
-
-/*
- * Per-filesystem information:
- *
- * fstype - the type of the filesystem (4.2, nfs, swap, export)
- * opts - the mount options ("rw,grpid")
- * passno - fsck pass number
- * freq - dump frequency
- * dumpset - tape set for filesystem dumps
- * mount - where to mount this filesystem
- * log - log device
- */
-fs_info_list :
- /* empty */
- { $$ = new_disk_fs(); }
-
- | fs_info_list tFSTYPE '=' tSTR
- { $$ = $1; set_disk_fs($$, DF_FSTYPE, $4); }
-
- | fs_info_list tOPTS '=' tSTR
- { $$ = $1; set_disk_fs($$, DF_OPTS, $4); }
-
- | fs_info_list tPASSNO '=' tSTR
- { $$ = $1; set_disk_fs($$, DF_PASSNO, $4); }
-
- | fs_info_list tFREQ '=' tSTR
- { $$ = $1; set_disk_fs($$, DF_FREQ, $4); }
-
- | fs_info_list tMOUNT dir_tree
- { $$ = $1; set_disk_fs($$, DF_MOUNT, (char *) $3); }
-
- | fs_info_list tDUMPSET '=' tSTR
- { $$ = $1; set_disk_fs($$, DF_DUMPSET, $4); }
-
- | fs_info_list tLOG '=' tSTR
- { $$ = $1; set_disk_fs($$, DF_LOG, $4); }
-
- | fs_info_list error '=' tSTR
- { yyerror("unknown filesystem attribute"); }
- ;
-
-/*
- * An automount tree:
- *
- * name = "volname" name is a reference to volname
- * name -> "string" name is a link to "string"
- * name { ... } name is an automount tree
- */
-automount_tree :
- /* empty */
- { $$ = 0; }
-
- | automount_tree tSTR '=' tSTR
- { automount *a = new_automount($2);
- a->a_volname = $4;
- if ($1)
- $$ = $1;
- else
- $$ = new_que();
- ins_que(&a->a_q, $$->q_back);
- }
-
- | automount_tree tSTR tEQ tSTR
- { automount *a = new_automount($2);
- a->a_symlink = $4;
- if ($1)
- $$ = $1;
- else
- $$ = new_que();
- ins_que(&a->a_q, $$->q_back);
- }
-
- | automount_tree tSTR '{' automount_tree '}'
- { automount *a = new_automount($2);
- a->a_mount = $4;
- if ($1)
- $$ = $1;
- else
- $$ = new_que();
- ins_que(&a->a_q, $$->q_back);
- }
- ;
-
-dir_tree :
- /* empty */
- { $$ = 0; }
-
- | dir_tree tSTR '{' dir_tree_info dir_tree '}'
- { $4->m_mount = $5;
- $4->m_name = $2;
- if ($2[0] != '/' && $2[1] && strchr($2+1, '/'))
- yyerror("not allowed '/' in a directory name");
- if ($1)
- $$ = $1;
- else
- $$ = new_que();
- ins_que(&$4->m_q, $$->q_back);
- }
- ;
-
-dir_tree_info :
- /* empty */
- { $$ = new_mount(); }
-
- | dir_tree_info tEXPORTFS tSTR
- { $$ = $1; set_mount($$, DM_EXPORTFS, $3); }
-
- | dir_tree_info tVOLNAME tSTR
- { $$ = $1; set_mount($$, DM_VOLNAME, $3); }
-
- | dir_tree_info tSEL tSTR
- { $$ = $1; set_mount($$, DM_SEL, $3); }
-
- | dir_tree_info error '=' tSTR
- { yyerror("unknown directory attribute"); }
- ;
-
-/*
- * Additional mounts on a host
- *
- * mount "volname" ...
- */
-list_of_mounts :
- /* empty */
- { $$ = 0; }
-
- | list_of_mounts tMOUNT tSTR localinfo_list
- { set_fsmount($4, FM_VOLNAME, $3);
- if ($1)
- $$ = $1;
- else
- $$ = new_que();
- ins_que(&$4->f_q, $$->q_back);
- }
- ;
-
-/*
- * Mount info:
- *
- * from "hostname" - obtain the object from the named host
- * as "string" - where to mount, if different from the volname
- * opts "string" - mount options
- * fstype "type" - type of filesystem mount, if not nfs
- */
-localinfo_list :
- /* empty */
- { $$ = new_fsmount(); }
-
- | localinfo_list tAS tSTR
- { $$ = $1; set_fsmount($$, FM_LOCALNAME, $3); }
-
- | localinfo_list tFROM tSTR
- { $$ = $1; set_fsmount($$, FM_FROM, $3); }
-
- | localinfo_list tFSTYPE tSTR
- { $$ = $1; set_fsmount($$, FM_FSTYPE, $3); }
-
- | localinfo_list tOPTS tSTR
- { $$ = $1; set_fsmount($$, FM_OPTS, $3); }
-
- | localinfo_list error '=' tSTR
- { yyerror("unknown mount attribute"); }
- ;
diff --git a/usr.sbin/amd/fsinfo/fsi_lex.l b/usr.sbin/amd/fsinfo/fsi_lex.l
deleted file mode 100644
index 36de3e2..0000000
--- a/usr.sbin/amd/fsinfo/fsi_lex.l
+++ /dev/null
@@ -1,403 +0,0 @@
-%{
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fsi_lex.l 8.2 (Berkeley) 2/17/94
- *
- * $Id$
- *
- */
-
-/*
- * Lexical analyzer for fsinfo.
- * TODO: Needs rewriting.
- */
-
-static int xinput();
-static void xunput();
-
-#ifdef FLEX_SCANNER
-static int yylineno;
-/* Flex support with help from Vern Paxson <vern@helios.ee.lbl.gov> */
-#undef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-{ \
- int i; \
- for (i = 0; i < max_size; i++) { \
- int ch = xinput(i == 0); \
- if (ch == 0) \
- break; \
- buf[i] = ch; \
- } \
- result = i; \
-}
-
-#define INIT_STATE { \
- switch ((yy_start - 1) / 2) { \
- case 0: \
- BEGIN F; \
- break; \
- } \
-}
-
-
-#else
-/*
- * Using old lex...
- */
-#undef unput
-#define unput(ch) xunput(ch)
-#undef input
-#define input() xinput(1)
-
-#define INIT_STATE { \
- switch (yybgin - yysvec - 1) { \
- case 0: \
- BEGIN F; \
- break; \
- } \
-}
-
-#endif /* FLEX_SCANNER */
-
-#include "../fsinfo/fsinfo.h"
-#include "fsi_gram.h"
-#include <ctype.h>
-
-static char *filename;
-static char *optr;
-static char ostr[1024];
-static find_resword();
-static unsigned char ibuf[64];
-static unsigned char *iptr = ibuf;
-static int quoted;
-static int lastch, nextch = '\n';
-YYSTYPE yylval;
-
-struct r {
- char *rw;
- int tok;
-} rr[] = {
- { "->", tEQ },
- { "arch", tARCH },
- { "as", tAS },
- { "automount", tAUTOMOUNT },
- { "cluster", tCLUSTER },
- { "config", tCONFIG },
- { "dumpset", tDUMPSET },
- { "exportfs", tEXPORTFS },
- { "freq", tFREQ },
- { "from", tFROM },
- { "fs", tFS },
- { "fstype", tFSTYPE },
- { "host", tHOST },
- { "hwaddr", tHWADDR },
- { "inaddr", tINADDR },
- { "localhost", tLOCALHOST },
- { "log", tLOG },
- { "mount", tMOUNT },
- { "netif", tNETIF },
- { "netmask", tNETMASK },
- { "opts", tOPTS },
- { "os", tOS },
- { "passno", tPASSNO },
- { "sel", tSEL },
- { "volname", tVOLNAME },
- { 0, 0 },
-};
-#define NRES_WORDS (sizeof(rr)/sizeof(rr[0])-1)
-
-%}
-
-%start F Q
-
-%%
- INIT_STATE; /* witchcraft */
-
-<F>[^ \t\n"={}]+ { return find_resword(yytext); }
-<F>[ \t] ;
-<F>"\n" { yylineno++; }
-<F>[={}] { return *yytext; }
-
-<F>\" { BEGIN Q; optr = ostr; quoted = 1; }
-<Q>\n { yylineno++; yyerror("\" expected"); BEGIN F; }
-<Q>\\b { *optr++ = '\b'; /* escape */ }
-<Q>\\t { *optr++ = '\t'; /* escape */ }
-<Q>\\\" { *optr++ = '\"'; /* escape */ }
-<Q>\\\\ { *optr++ = '\\'; /* escape */ }
-<Q>\\\n { yylineno++; /* continue */ }
-<Q>\\r { *optr++ = '\r'; /* escape */ }
-<Q>\\n { *optr++ = '\n'; /* escape */ }
-<Q>\\f { *optr++ = '\f'; /* escape */ }
-<Q>"\\ " { *optr++ = ' '; /* force space */ }
-<Q>\\. { yyerror("Unknown \\ sequence"); }
-<Q>([ \t]|"\\\n"){2,} { char *p = yytext-1; while (p = strchr(p+1, '\n')) yylineno++; }
-<Q>\" { BEGIN F; quoted = 0;
- *optr = '\0';
- yylval.s = strdup(ostr);
- return tSTR;
- }
-<Q>. { *optr++ = *yytext; }
-
-%%
-
-static int find_resword(s)
-char *s;
-{
- int tok = 0;
-
- int l = 0, m = NRES_WORDS/2, h = NRES_WORDS-1;
- int rc = 0;
-
- m = NRES_WORDS/2;
-
-#define FSTRCMP(p, q) ((*(p) == *(q)) ? strcmp((p)+1, (q)+1) : *(p) - *(q))
-
- while ((l <= h) && (rc = FSTRCMP(s, rr[m].rw))) {
- /*fprintf(stderr, "failed to cmp(%s, %s), %d, %d, %d\n", s, rr[m].rw, l, m, h);*/
- if (rc < 0)
- h = m - 1;
- else
- l = m + 1;
- m = (h + l) / 2;
- }
-
- if (rc == 0)
- tok = rr[m].tok;
-
- switch (tok) {
- case tLOCALHOST:
- s = "${host}";
- /* fall through... */
- case 0:
- yylval.s = strdup(s);
- tok = tSTR;
- /* fall through... */
- default:
- return tok;
- }
-
-}
-
-int yyerror(s, s1, s2, s3, s4)
-char *s;
-char *s1, *s2, *s3, *s4;
-{
- col_cleanup(0);
- fprintf(stderr, "%s:%d: ", filename ? filename : "/dev/stdin", yylineno);
- fprintf(stderr, s, s1, s2, s3, s4);
- fputc('\n', stderr);
- parse_errors++;
-}
-
-ioloc *current_location()
-{
- ioloc *ip = ALLOC(ioloc);
- ip->i_line = yylineno;
- ip->i_file = filename;
- return ip;
-}
-
-#ifdef FLEX_SCANNER
-#undef yywrap
-#endif
-
-int yywrap()
-{
-static int first = 1;
- if (first) {
- char prog[16*1024];
- strcpy(prog, "for file in ");
- while (*++g_argv) {
- if (access(*g_argv, 4) < 0) {
- error("\"%s\": Cannot open for reading", *g_argv);
- file_io_errors++;
- } else {
- strcat(prog, *g_argv);
- strcat(prog, " ");
- }
- }
- strcat(prog, "; do /usr/bin/cpp ");
- strcat(prog, idvbuf);
- strcat(prog, " -DHOSTNAME=\'");
- strcat(prog, hostname);
- strcat(prog, "\' \"$file\"; done");
- yyin = popen(prog, "r");
- if (yyin) {
- /*if (filename) free(filename);*/
- filename = strdup("unknown");
- yylineno = 1;
- first = 0;
- return 0;
- } else {
- perror(prog);
- }
- }
-
- if (!first && yyin && pclose(yyin) != 0)
- parse_errors++;
-
- return 1;
-}
-
-#define xgetc(fp) ((iptr > ibuf) ? (*--iptr) : (lastch = nextch, nextch = getc(fp), (nextch == EOF ? nextch = lastch, EOF : nextch)))
-
-static int xinput(need)
-int need;
-{
-static int c_comment = 0;
- int ch, ch2;
-
- do {
- ch = xgetc(yyin);
- /* fprintf(stderr, "ch = %c, %#x, %d\n", ch, ibuf,iptr-ibuf); */
- if (ch == EOF) return 0;
- if (quoted)
- return ch;
- if (c_comment) {
- ch2 = ch;
- do {
- if (ch2 == '\n') {
- nextch = '\n';
- return ch2;
- }
- /* C style comment */
- do {
- ch2 = getc(yyin);
- if (ch2 == '\n') {
- nextch = '\n';
- return ch2;
- }
- } while (ch2 != '*' && ch2 != EOF);
-
- while (ch2 == '*')
- ch2 = getc(yyin);
- } while (ch2 != '/' && ch2 != EOF);
- c_comment = 0;
- if (ch2 == EOF)
- break;
- continue;
- }
-
- if (ch == '#') {
- /*log("lastch = '%c' (%#x)", lastch, lastch);*/
- if (lastch == '\n') {
- char fname[MAXPATHLEN];
- char *fptr;
- if (!need) {
- xunput('#');
- nextch = '\n';
- return 0;
- }
- fname[0] = '\0';
- /* Skip past space */
- do {
- ch2 = getc(yyin);
- } while (ch2 != EOF && ch2 != '\n' && !isdigit(ch2));
- if (isdigit(ch2)) {
- /* Read in line number */
- fptr = fname;
- do {
- *fptr++ = ch2;
- ch2 = getc(yyin);
- } while (isdigit(ch2));
- *fptr = '\0';
- if (fptr != fname)
- yylineno = atoi(fname) - 1;
- }
- /* Skip past space */
- while (ch2 != EOF && ch2 != '\"' && ch2 != '\n')
- ch2 = getc(yyin);
- if (ch2 == '\"') {
- /* Read file name */
- fptr = fname;
- ch2 = getc(yyin);
- while (ch2 != '\"' && ch2 != EOF && ch2 != EOF) {
- *fptr++ = ch2;
- ch2 = getc(yyin);
- }
- *fptr = '\0';
- if (fname[0]) {
- log("Setting filename to \"%s\"", fname);
- /*if (filename) free(filename);*/
- filename = strdup(fname);
- }
- }
- while (ch2 != '\n' && ch2 != EOF)
- ch2 = getc(yyin);
- } else do {
- ch2 = getc(yyin);
- } while (ch2 != '\n' && ch2 != EOF);
- if (ch2 == '\n') {
- nextch = '\n';
- return ch2;
- }
- } else if (ch == '/') {
- ch2 = getc(yyin);
- if (ch2 == '/') {
- /* C++ style comment */
- do {
- ch2 = getc(yyin);
- } while (ch2 != '\n' && ch2 != EOF);
- if (ch2 == '\n') {
- nextch = '\n';
- return ch2;
- }
- } else if (ch2 == '*') {
- c_comment = 1;
- continue;
- } else {
- xunput(ch2);
- return ch;
- }
- } else {
- return ch;
- }
- } while (ch2 != EOF);
- error("End of file within comment");
- return 0;
-}
-
-static void xunput(c)
-int c;
-{
- if (c && c != EOF) {
- if (iptr == ibuf + sizeof(ibuf) - 1)
- fatal("Out of space in lexical pushback");
- *iptr++ = c;
- }
-}
diff --git a/usr.sbin/amd/fsinfo/fsi_util.c b/usr.sbin/amd/fsinfo/fsi_util.c
deleted file mode 100644
index b62b9b9..0000000
--- a/usr.sbin/amd/fsinfo/fsi_util.c
+++ /dev/null
@@ -1,576 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)fsi_util.c 8.1 (Berkeley) 6/6/93";
-#endif
-static const char rcsid[] =
- "$Id$";
-#endif
-
-#include "../fsinfo/fsinfo.h"
-
-/*
- * Lots of ways of reporting errors...
- */
-void error(s, s1, s2, s3, s4)
-char *s, *s1, *s2, *s3, *s4;
-{
- col_cleanup(0);
- fprintf(stderr, "fsinfo: error, ");
- fprintf(stderr, s, s1, s2, s3, s4);
- fputc('\n', stderr);
- errors++;
-}
-
-void lerror(l, s, s1, s2, s3, s4)
-ioloc *l;
-char *s, *s1, *s2, *s3, *s4;
-{
- col_cleanup(0);
- fprintf(stderr, "%s:%d: ", l->i_file, l->i_line);
- fprintf(stderr, s, s1, s2, s3, s4);
- fputc('\n', stderr);
- errors++;
-}
-
-void lwarning(l, s, s1, s2, s3, s4)
-ioloc *l;
-char *s, *s1, *s2, *s3, *s4;
-{
- col_cleanup(0);
- fprintf(stderr, "%s:%d: ", l->i_file, l->i_line);
- fprintf(stderr, s, s1, s2, s3, s4);
- fputc('\n', stderr);
-
-}
-
-void fatal(s, s1, s2, s3, s4)
-char *s, *s1, *s2, *s3, *s4;
-{
- col_cleanup(1);
- fprintf(stderr, "fsinfo: fatal, ");
- fprintf(stderr, s, s1, s2, s3, s4);
- fputc('\n', stderr);
- exit(1);
-}
-
-/*
- * Dup a string
- */
-char *strdup(s)
-char *s;
-{
- int len = strlen(s);
- char *sp = (char *) xmalloc(len+1);
-
- bcopy(s, sp, len);
- sp[len] = 0;
-
- return sp;
-}
-
-/*
- * Debug log
- */
-void log(s, s1, s2, s3, s4)
-char *s, *s1, *s2, *s3, *s4;
-{
- if (verbose > 0) {
- fputc('#', stdout);
- fprintf(stdout, "fsinfo: ");
- fprintf(stdout, s, s1, s2, s3, s4);
- putc('\n', stdout);
- }
-}
-
-void info_hdr(ef, info)
-FILE *ef;
-char *info;
-{
- fprintf(ef, "# *** NOTE: This file contains %s info\n", info);
-}
-
-void gen_hdr(ef, hn)
-FILE *ef;
-char *hn;
-{
- fprintf(ef, "# *** NOTE: Only for use on %s\n", hn);
-}
-
-static void make_banner(fp)
-FILE *fp;
-{
- time_t t = time((time_t*) 0);
- char *ctime(), *cp = ctime(&t);
-
- fprintf(fp,
-"\
-# *** This file was automatically generated -- DO NOT EDIT HERE ***\n\
-# \"fsinfo\" run by %s@%s on %s\
-#\n\
-",
- username, hostname, cp);
-}
-
-static int show_range = 10;
-static int col = 0;
-static int total_shown = 0;
-static int total_mmm = 8;
-
-static int col_output(len)
-int len;
-{
- int wrapped = 0;
- col += len;
- if (col > 77) {
- fputc('\n', stdout);
- col = len;
- wrapped = 1;
- }
- return wrapped;
-}
-
-static void show_total()
-{
- if (total_mmm != -show_range+1) {
- char n[8];
- int len;
- if (total_mmm < 0)
- fputc('*', stdout);
- sprintf(n, "%d", total_shown);
- len = strlen(n);
- if (col_output(len))
- fputc(' ', stdout);
- fputs(n, stdout); fflush(stdout);
- total_mmm = -show_range;
- }
-}
-
-col_cleanup(eoj)
-int eoj;
-{
- if (verbose < 0) return;
- if (eoj) {
- show_total();
- fputs(")]", stdout);
- }
- if (col) {
- fputc('\n', stdout);
- col = 0;
- }
-}
-
-void show_new(msg)
-char *msg;
-{
- if (verbose < 0) return;
- total_shown++;
- if (total_mmm > show_range) {
- show_total();
- } else if (total_mmm == 0) {
- fputc('*', stdout); fflush(stdout);
- col += 1;
- }
- total_mmm++;
-}
-
-void show_area_being_processed(area, n)
-char *area;
-int n;
-{
-static char *last_area = 0;
- if (verbose < 0) return;
- if (last_area) {
- if (total_shown)
- show_total();
- fputs(")", stdout);
- col += 1;
- }
- if (!last_area || strcmp(area, last_area) != 0) {
- if (last_area) {
- col_cleanup(0);
- total_shown = 0;
- total_mmm = show_range+1;
- }
- (void) col_output(strlen(area)+2);
- fprintf(stdout, "[%s", area);
- last_area = area;
- }
-
- fputs(" (", stdout);
- col += 2;
- show_range = n;
- total_mmm = n + 1;
-
- fflush(stdout);
-}
-
-/*
- * Open a file with the given prefix and name
- */
-FILE *pref_open(pref, hn, hdr, arg)
-char *pref;
-char *hn;
-void (*hdr)();
-char *arg;
-{
- char p[MAXPATHLEN];
- FILE *ef;
- sprintf(p, "%s%s", pref, hn);
- log("Writing %s info for %s to %s", pref, hn, p);
- ef = fopen(p, "w");
- if (ef) {
- (*hdr)(ef, arg);
- make_banner(ef, hn);
- } else {
- error("can't open %s for writing", p);
- }
-
- return ef;
-}
-
-int pref_close(fp)
-FILE *fp;
-{
- return fclose(fp) == 0;
-}
-
-/*
- * Determine where Amd would automount the host/volname pair
- */
-void compute_automount_point(buf, hp, vn)
-char *buf;
-host *hp;
-char *vn;
-{
-#ifdef AMD_USES_HOSTPATH
- sprintf(buf, "%s/%s%s", autodir, hp->h_hostpath, vn);
-#else
- sprintf(buf, "%s/%s%s", autodir, hp->h_lochost, vn);
-#endif
-}
-
-char *xcalloc(i, s)
-int i;
-int s;
-{
- char *p = (char *) calloc(i, (unsigned) s);
- if (!p)
- fatal("Out of memory");
- return p;
-}
-
-char *xmalloc(i)
-int i;
-{
- char *p = (char *) malloc(i);
- if (!p)
- fatal("Out of memory");
- return p;
-}
-
-/*
- * Data constructors..
- */
-
-automount *new_automount(name)
-char *name;
-{
- automount *ap = ALLOC(automount);
- ap->a_ioloc = current_location();
- ap->a_name = name;
- ap->a_volname = 0;
- ap->a_mount = 0;
- show_new("automount");
- return ap;
-}
-
-auto_tree *new_auto_tree(def, ap)
-char *def;
-qelem *ap;
-{
- auto_tree *tp = ALLOC(auto_tree);
- tp->t_ioloc = current_location();
- tp->t_defaults = def;
- tp->t_mount = ap;
- show_new("auto_tree");
- return tp;
-}
-
-host *new_host()
-{
- host *hp = ALLOC(host);
- hp->h_ioloc = current_location();
- hp->h_mask = 0;
- show_new("host");
- return hp;
-}
-
-void set_host(hp, k, v)
-host *hp;
-int k;
-char *v;
-{
- int m = 1 << k;
- if (hp->h_mask & m) {
- yyerror("host field \"%s\" already set", host_strings[k]);
- return;
- }
-
- hp->h_mask |= m;
-
- switch (k) {
- case HF_HOST: {
- char *p = strdup(v);
- dict_ent *de = dict_locate(dict_of_hosts, v);
- if (de)
- yyerror("duplicate host %s!", v);
- else
- dict_add(dict_of_hosts, v, (char *) hp);
- hp->h_hostname = v;
- domain_strip(p, hostname);
- if (strchr(p, '.') != 0)
- free(p);
- else
- hp->h_lochost = p;
- } break;
- case HF_CONFIG: {
- qelem *q;
- qelem *vq = (qelem *) v;
- hp->h_mask &= ~m;
- if (hp->h_config)
- q = hp->h_config;
- else
- q = hp->h_config = new_que();
- ins_que(vq, q->q_back);
- } break;
- case HF_ETHER: {
- qelem *q;
- qelem *vq = (qelem *) v;
- hp->h_mask &= ~m;
- if (hp->h_ether)
- q = hp->h_ether;
- else
- q = hp->h_ether = new_que();
- ins_que(vq, q->q_back);
- } break;
- case HF_ARCH: hp->h_arch = v; break;
- case HF_OS: hp->h_os = v; break;
- case HF_CLUSTER: hp->h_cluster = v; break;
- default: abort(); break;
- }
-}
-
-ether_if *new_ether_if()
-{
- ether_if *ep = ALLOC(ether_if);
- ep->e_mask = 0;
- ep->e_ioloc = current_location();
- show_new("ether_if");
- return ep;
-}
-
-void set_ether_if(ep,k, v)
-ether_if *ep;
-int k;
-char *v;
-{
- int m = 1 << k;
- if (ep->e_mask & m) {
- yyerror("netif field \"%s\" already set", ether_if_strings[k]);
- return;
- }
-
- ep->e_mask |= m;
-
- switch (k) {
- case EF_INADDR: {
- extern u_long inet_addr();
- ep->e_inaddr.s_addr = inet_addr(v);
- if (ep->e_inaddr.s_addr == (u_long) -1)
- yyerror("malformed IP dotted quad: %s", v);
- free(v);
- } break;
- case EF_NETMASK: {
- u_long nm = 0;
- if ((sscanf(v, "0x%lx", &nm) == 1 || sscanf(v, "%lx", &nm) == 1) && nm != 0)
- ep->e_netmask = htonl(nm);
- else
- yyerror("malformed netmask: %s", v);
- free(v);
- } break;
- case EF_HWADDR:
- ep->e_hwaddr = v;
- break;
- default: abort(); break;
- }
-}
-
-void set_disk_fs(dp, k, v)
-disk_fs *dp;
-int k;
-char *v;
-{
- int m = 1 << k;
- if (dp->d_mask & m) {
- yyerror("fs field \"%s\" already set", disk_fs_strings[k]);
- return;
- }
-
- dp->d_mask |= m;
-
- switch (k) {
- case DF_FSTYPE: dp->d_fstype = v; break;
- case DF_OPTS: dp->d_opts = v; break;
- case DF_DUMPSET: dp->d_dumpset = v; break;
- case DF_LOG: dp->d_log = v; break;
- case DF_PASSNO: dp->d_passno = atoi(v); free(v); break;
- case DF_FREQ: dp->d_freq = atoi(v); free(v); break;
- case DF_MOUNT: dp->d_mount = &((mount *) v)->m_q; break;
- default: abort(); break;
- }
-}
-
-disk_fs *new_disk_fs()
-{
- disk_fs *dp = ALLOC(disk_fs);
- dp->d_ioloc = current_location();
- show_new("disk_fs");
- return dp;
-}
-
-void set_mount(mp, k, v)
-mount *mp;
-int k;
-char *v;
-{
- int m = 1 << k;
- if (mp->m_mask & m) {
- yyerror("mount tree field \"%s\" already set", mount_strings[k]);
- return;
- }
-
- mp->m_mask |= m;
-
- switch (k) {
- case DM_VOLNAME:
- dict_add(dict_of_volnames, v, (char *) mp);
- mp->m_volname = v;
- break;
- case DM_EXPORTFS:
- mp->m_exportfs = v;
- break;
- case DM_SEL:
- mp->m_sel = v;
- break;
- default: abort(); break;
- }
-}
-
-mount *new_mount()
-{
- mount *fp = ALLOC(mount);
- fp->m_ioloc = current_location();
- show_new("mount");
- return fp;
-}
-
-void set_fsmount(fp, k, v)
-fsmount *fp;
-int k;
-char *v;
-{
- int m = 1 << k;
- if (fp->f_mask & m) {
- yyerror("mount field \"%s\" already set", fsmount_strings[k]);
- return;
- }
-
- fp->f_mask |= m;
-
- switch (k) {
- case FM_LOCALNAME: fp->f_localname = v; break;
- case FM_VOLNAME: fp->f_volname = v; break;
- case FM_FSTYPE: fp->f_fstype = v; break;
- case FM_OPTS: fp->f_opts = v; break;
- case FM_FROM: fp->f_from = v; break;
- default: abort(); break;
- }
-}
-
-fsmount *new_fsmount()
-{
- fsmount *fp = ALLOC(fsmount);
- fp->f_ioloc = current_location();
- show_new("fsmount");
- return fp;
-}
-
-void init_que(q)
-qelem *q;
-{
- q->q_forw = q->q_back = q;
-}
-
-qelem *new_que()
-{
- qelem *q = ALLOC(qelem);
- init_que(q);
- return q;
-}
-
-void ins_que(elem, pred)
-qelem *elem, *pred;
-{
- qelem *p;
- p = pred->q_forw;
- elem->q_back = pred;
- elem->q_forw = p;
- pred->q_forw = elem;
- p->q_back = elem;
-}
-
-void rem_que(elem)
-qelem *elem;
-{
- qelem *p, *p2;
- p = elem->q_forw;
- p2 = elem->q_back;
-
- p2->q_forw = p;
- p->q_back = p2;
-}
diff --git a/usr.sbin/amd/fsinfo/fsinfo.8 b/usr.sbin/amd/fsinfo/fsinfo.8
deleted file mode 100644
index 34db7c2..0000000
--- a/usr.sbin/amd/fsinfo/fsinfo.8
+++ /dev/null
@@ -1,77 +0,0 @@
-.\" Copyright (c) 1993 Jan-Simon Pendry.
-.\" Copyright (c) 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)fsinfo.8 8.1 (Berkeley) 6/28/93
-.\"
-.Dd June 28, 1993
-.Dt FSINFO 8
-.Os
-.Sh NAME
-.Nm fsinfo
-.Nd co-ordinate site-wide filesystem information
-.Sh SYNOPSIS
-.Nm \&fsinfo
-.Op Fl v
-.Op Fl a Ar autodir
-.Op Fl b Ar bootparams
-.Op Fl d Ar dumpsets
-.Op Fl e Ar exports
-.Op Fl f Ar fstabs
-.Op Fl h Ar hostname
-.Op Fl m Ar automounts
-.Op Fl I Ar dir
-.Op Fl D Ar string[=string]]
-.Op Fl U Ar string[=string]]
-.Ar config ...
-.Sh DESCRIPTION
-The
-.Nm fsinfo
-utility takes a set of system configuration information, and generates
-a co-ordinated set of
-.Xr amd ,
-.Xr mount
-and
-.Xr mountd
-configuration files.
-.Pp
-The
-.Nm fsinfo
-command is fully described in the document
-.%T "Amd - The 4.4BSD Automounter"
-.Sh "SEE ALSO"
-.Xr amd 8 ,
-.Xr mount 8 ,
-.Xr mountd 8 .
-.Sh HISTORY
-The
-.Nm fsinfo
-command first appeared in 4.4BSD.
diff --git a/usr.sbin/amd/fsinfo/fsinfo.c b/usr.sbin/amd/fsinfo/fsinfo.c
deleted file mode 100644
index 0fcb5b2..0000000
--- a/usr.sbin/amd/fsinfo/fsinfo.c
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef lint
-static const char copyright[] =
-"@(#) Copyright (c) 1989, 1993\n\
- The Regents of the University of California. All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)fsinfo.c 8.1 (Berkeley) 6/6/93";
-#endif
-static const char rcsid[] =
- "$Id$";
-#endif /* not lint */
-
-/*
- * fsinfo
- */
-
-#include "../fsinfo/fsinfo.h"
-#include "fsi_gram.h"
-#include <err.h>
-#include <pwd.h>
-#include <unistd.h>
-
-qelem *list_of_hosts;
-qelem *list_of_automounts;
-dict *dict_of_volnames;
-dict *dict_of_hosts;
-char *autodir = "/a";
-char hostname[MAXHOSTNAMELEN+1];
-char *username;
-int file_io_errors;
-int parse_errors;
-int errors;
-int verbose;
-char idvbuf[1024];
-
-char **g_argv;
-
-static void usage __P((void));
-
-/*
- * Output file prefixes
- */
-char *exportfs_pref;
-char *fstab_pref;
-char *dumpset_pref;
-char *mount_pref;
-char *bootparams_pref;
-
-/*
- * Argument cracking...
- */
-static void get_args(c, v)
-int c;
-char *v[];
-{
- int ch;
- int usageflg = 0;
- char *iptr = idvbuf;
-
- while ((ch = getopt(c, v, "a:b:d:e:f:h:m:D:U:I:qv")) != -1)
- switch (ch) {
- case 'a':
- autodir = optarg;
- break;
- case 'b':
- if (bootparams_pref)
- fatal("-b option specified twice");
- bootparams_pref = optarg;
- break;
- case 'd':
- if (dumpset_pref)
- fatal("-d option specified twice");
- dumpset_pref = optarg;
- break;
- case 'h':
- strncpy(hostname, optarg, sizeof(hostname)-1);
- break;
- case 'e':
- if (exportfs_pref)
- fatal("-e option specified twice");
- exportfs_pref = optarg;
- break;
- case 'f':
- if (fstab_pref)
- fatal("-f option specified twice");
- fstab_pref = optarg;
- break;
- case 'm':
- if (mount_pref)
- fatal("-m option specified twice");
- mount_pref = optarg;
- break;
- case 'q':
- verbose = -1;
- break;
- case 'v':
- verbose = 1;
- break;
- case 'I': case 'D': case 'U':
- sprintf(iptr, "-%c%s ", ch, optarg);
- iptr += strlen(iptr);
- break;
- default:
- usageflg++;
- break;
- }
-
- if (c != optind) {
- g_argv = v + optind - 1;
- if (yywrap())
- fatal("Cannot read any input files");
- } else {
- usageflg++;
- }
-
- if (usageflg)
- usage();
-
- if (g_argv[0])
- log("g_argv[0] = %s", g_argv[0]);
- else
- log("g_argv[0] = (nil)");
-}
-
-static void
-usage()
-{
- fprintf(stderr, "%s\n%s\n%s\n",
-"usage: fsinfo [-v] [-a autodir] [-h hostname] [-b bootparams] [-d dumpsets]",
-" [-e exports] [-f fstabs] [-m automounts]",
-" [-I dir] [-D|-U string[=string]] config ...");
- exit(1);
-}
-
-/*
- * Determine username of caller
- */
-static char *find_username()
-{
- extern char *getlogin();
- extern char *getenv();
- char *u = getlogin();
- if (!u) {
- struct passwd *pw = getpwuid(getuid());
- if (pw)
- u = pw->pw_name;
- }
- if (!u)
- u = getenv("USER");
- if (!u)
- u = getenv("LOGNAME");
- if (!u)
- u = "root";
-
- return strdup(u);
-}
-
-/*
- * MAIN
- */
-main(argc, argv)
-int argc;
-char *argv[];
-{
- /*
- * Process arguments
- */
- get_args(argc, argv);
-
- /*
- * If no hostname given then use the local name
- */
- if (!*hostname && gethostname(hostname, sizeof(hostname)) < 0)
- err(1, "gethostname");
-
- /*
- * Get the username
- */
- username = find_username();
-
- /*
- * New hosts and automounts
- */
- list_of_hosts = new_que();
- list_of_automounts = new_que();
-
- /*
- * New dictionaries
- */
- dict_of_volnames = new_dict();
- dict_of_hosts = new_dict();
-
- /*
- * Parse input
- */
- show_area_being_processed("read config", 11);
- if (yyparse())
- errors = 1;
- errors += file_io_errors + parse_errors;
-
- if (errors == 0) {
- /*
- * Do semantic analysis of input
- */
- analyze_hosts(list_of_hosts);
- analyze_automounts(list_of_automounts);
- }
-
- /*
- * Give up if errors
- */
- if (errors == 0) {
- /*
- * Output data files
- */
-
- write_atab(list_of_automounts);
- write_bootparams(list_of_hosts);
- write_dumpset(list_of_hosts);
- write_exportfs(list_of_hosts);
- write_fstab(list_of_hosts);
- }
-
- col_cleanup(1);
-
- exit(errors);
-}
diff --git a/usr.sbin/amd/fsinfo/fsinfo.h b/usr.sbin/amd/fsinfo/fsinfo.h
deleted file mode 100644
index 69158bf..0000000
--- a/usr.sbin/amd/fsinfo/fsinfo.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)fsinfo.h 8.1 (Berkeley) 6/6/93
- *
- * $Id: fsinfo.h,v 1.6 1997/09/02 06:35:18 charnier Exp $
- *
- */
-
-/*
- * Get this in now so that OS_HDR can use it
- */
-#ifdef __STDC__
-#define P(x) x
-#define P_void void
-#define Const const
-#else
-#define P(x) ()
-#define P_void /* as nothing */
-#define Const /* as nothing */
-#endif /* __STDC__ */
-
-#ifdef __GNUC__
-#define INLINE /* __inline */
-#else
-#define INLINE
-#endif /* __GNUC__ */
-
-/*
- * Pick up target dependent definitions
- */
-#include "os-defaults.h"
-#include OS_HDR
-
-#ifdef VOIDP
-typedef void *voidp;
-#else
-typedef char *voidp;
-#endif /* VOIDP */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/param.h>
-
-/*
- * Bogosity to deal with ether { ... }
- */
-#include <sys/socket.h>
-#include <sys/time.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <net/if.h>
-#include <net/ethernet.h>
-
-#include "fsi_data.h"
-
-extern char* strchr P((Const char*, int)); /* C */
-extern char* strrchr P((Const char*, int)); /* C */
-extern char *strdup P((char*)); /* C */
-extern void fatal();
-extern void warning();
-extern void error();
-extern void analyze_automounts P((qelem*));
-extern void analyze_hosts P((qelem*));
-extern void compute_automount_point P((char*, host*, char*));
-extern automount *new_automount P((char*));
-extern auto_tree *new_auto_tree P((char*, qelem*));
-extern host *new_host P((void));
-extern disk_fs *new_disk_fs P((void));
-extern void set_disk_fs P((disk_fs*, int, char*));
-extern ether_if *new_ether_if P((void));
-extern mount *new_mount P((void));
-extern void set_mount P((mount*, int, char*));
-extern fsmount *new_fsmount P((void));
-extern void set_fsmount P((fsmount*, int, char*));
-extern qelem *new_que P((void));
-extern void init_que P((qelem*));
-extern void ins_que P((qelem*, qelem*));
-extern void rem_que P((qelem*));
-extern dict *new_dict P((void));
-extern dict_ent *dict_locate P((dict*, char*));
-extern void dict_add P((dict*, char*, char*));
-extern int dict_iter P((dict*, int (*)()));
-extern void info_hdr();
-extern void gen_hdr();
-extern FILE *pref_open();
-extern int pref_close();
-extern ioloc *current_location();
-
-extern char *disk_fs_strings[];
-extern char *mount_strings[];
-extern char *fsmount_strings[];
-extern char *host_strings[];
-extern char *ether_if_strings[];
-extern char *autodir;
-extern char hostname[];
-extern char *username;
-extern char **g_argv;
-extern char *fstab_pref;
-extern char *exportfs_pref;
-extern char *mount_pref;
-extern char *dumpset_pref;
-extern char *bootparams_pref;
-extern char idvbuf[];
-
-extern int file_io_errors;
-extern int parse_errors;
-extern int errors;
-extern int verbose;
-
-extern dict *dict_of_hosts;
-extern dict *dict_of_volnames;
-
-extern char *xcalloc();
-extern char *xmalloc();
-#define ALLOC(x) ((struct x *) xcalloc(1, sizeof(struct x)))
-#define STREQ(s,t) (*(s) == *(t) && strcmp((s)+1,(t)+1) == 0)
-#define ISSET(m,b) ((m) & (1<<(b)))
-#define BITSET(m,b) ((m) |= (1<<(b)))
-
-#define FIRST(ty, q) ((ty *) ((q)->q_forw))
-#define LAST(ty, q) ((ty *) ((q)->q_back))
-#define NEXT(ty, q) ((ty *) (((qelem *) q)->q_forw))
-#define HEAD(ty, q) ((ty *) q)
-#define ITER(v, ty, q) \
- for ((v) = FIRST(ty,(q)); (v) != HEAD(ty,(q)); (v) = NEXT(ty,(v)))
diff --git a/usr.sbin/amd/fsinfo/wr_atab.c b/usr.sbin/amd/fsinfo/wr_atab.c
deleted file mode 100644
index 33ca64b..0000000
--- a/usr.sbin/amd/fsinfo/wr_atab.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)wr_atab.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-#include "../fsinfo/fsinfo.h"
-
-/*
- * Write a sequence of automount mount map entries
- */
-static int write_amount_info(af, ap, sk)
-FILE *af;
-automount *ap;
-int sk;
-{
- int errors = 0;
- if (ap->a_mount) {
- /*
- * A pseudo-directory.
- * This can also be a top-level directory, in which
- * case the type:=auto is not wanted...
- *
- * type:=auto;fs:=${map};pref:=whatever/
- */
- automount *ap2;
- if (strlen(ap->a_name) > sk) {
- fprintf(af, "%s type:=auto;fs:=${map};pref:=%s/\n",
- ap->a_name + sk, ap->a_name + sk);
- }
- ITER(ap2, automount, ap->a_mount)
- errors += write_amount_info(af, ap2, sk);
- } else if (ap->a_mounted) {
- /*
- * A mounted partition
- * type:=link [ link entries ] type:=nfs [ nfs entries ]
- */
- dict_data *dd;
- dict_ent *de = ap->a_mounted;
- int done_type_link = 0;
- char *key = ap->a_name + sk;
-
- /*
- * Output the map key
- */
- fputs(key, af);
-
- /*
- * First output any Link locations that would not
- * otherwise be correctly mounted. These refer
- * to filesystem which are not mounted in the same
- * place which the automounter would use.
- */
- ITER(dd, dict_data, &de->de_q) {
- mount *mp = (mount *) dd->dd_data;
- /*
- * If the mount point and the exported volname are the
- * same then this filesystem will be recognised by
- * the restart code - so we don't need to put out a
- * special rule for it.
- */
- if (mp->m_dk->d_host->h_lochost) {
- char amountpt[1024];
- compute_automount_point(amountpt, mp->m_dk->d_host, mp->m_exported->m_volname);
- if (strcmp(mp->m_dk->d_mountpt, amountpt) != 0) {
- /*
- * ap->a_volname is the name of the aliased volume
- * mp->m_name is the mount point of the filesystem
- * mp->m_volname is the volume name of the filesystems
- */
-
- /*
- * Find length of key and volume names
- */
- int avlen = strlen(ap->a_volname);
- int mnlen = strlen(mp->m_volname);
- /*
- * Make sure a -type:=link is output once
- */
- if (!done_type_link) {
- done_type_link = 1;
- fputs(" -type:=link", af);
- }
- /*
- * Output a selector for the hostname,
- * the device from which to mount and
- * where to mount. This will correspond
- * to the values output for the fstab.
- */
- if (mp->m_dk->d_host->h_lochost)
- fprintf(af, " host==%s", mp->m_dk->d_host->h_lochost);
- else
- fprintf(af, " hostd==%s", mp->m_dk->d_host->h_hostname);
- fprintf(af, ";fs:=%s", mp->m_name);
- /*
- * ... and a sublink if needed
- */
- if (mnlen < avlen) {
- char *sublink = ap->a_volname + mnlen + 1;
- fprintf(af, "/%s", sublink);
- }
- fputs(" ||", af);
- }
- }
- }
-
- /*
- * Next do the NFS locations
- */
-
- if (done_type_link)
- fputs(" -", af);
-
- ITER(dd, dict_data, &de->de_q) {
- mount *mp = (mount *) dd->dd_data;
- int namelen = mp->m_name_len;
- int exp_namelen = mp->m_exported->m_name_len;
- int volnlen = strlen(ap->a_volname);
- int mvolnlen = strlen(mp->m_volname);
- fputc(' ', af);
-#ifdef notdef
- fprintf(af, "\\\n /* avolname = %s, mname = %s,\n * mvolname = %s, mexp_name = %s,\n * mexp_volname = %s\n */\\\n",
- ap->a_volname, mp->m_name, mp->m_volname, mp->m_exported->m_name, mp->m_exported->m_volname);
-#endif
- /*
- * Output any selectors
- */
- if (mp->m_sel)
- fprintf(af, "%s;", mp->m_sel);
- /*
- * Print host and volname of exported filesystem
- */
- fprintf(af, "rhost:=%s",
- mp->m_dk->d_host->h_lochost ?
- mp->m_dk->d_host->h_lochost :
- mp->m_dk->d_host->h_hostname);
- fprintf(af, ";rfs:=%s", mp->m_exported->m_volname);
- /*
- * Now determine whether a sublink is required.
- */
- if (exp_namelen < namelen || mvolnlen < volnlen) {
- char sublink[1024];
- sublink[0] = '\0';
- if (exp_namelen < namelen) {
- strcat(sublink, mp->m_name + exp_namelen + 1);
- if (mvolnlen < volnlen)
- strcat(sublink, "/");
- }
- if (mvolnlen < volnlen)
- strcat(sublink, ap->a_volname + mvolnlen + 1);
-
- fprintf(af, ";sublink:=%s", sublink);
- }
- }
- fputc('\n', af);
- } else if (ap->a_symlink) {
- /*
- * A specific link.
- *
- * type:=link;fs:=whatever
- */
- fprintf(af, "%s type:=link;fs:=%s\n", ap->a_name + sk, ap->a_symlink);
- }
- return errors;
-}
-
-/*
- * Write a single automount configuration file
- */
-static int write_amount(q, def)
-qelem *q;
-char *def;
-{
- automount *ap;
- int errors = 0;
- int direct = 0;
-
- /*
- * Output all indirect maps
- */
- ITER(ap, automount, q) {
- FILE *af;
- char *p;
- /*
- * If there is no a_mount node then this is really
- * a direct mount, so just keep a count and continue.
- * Direct mounts are output into a special file during
- * the second pass below.
- */
- if (!ap->a_mount) {
- direct++;
- continue;
- }
- p = strrchr(ap->a_name, '/');
- if (!p) p = ap->a_name;
- else p++;
- af = pref_open(mount_pref, p, gen_hdr, ap->a_name);
- if (af) {
- show_new(ap->a_name);
- fputs("/defaults ", af);
- if (*def)
- fprintf(af, "%s;", def);
- fputs("type:=nfs\n", af);
- errors += write_amount_info(af, ap, strlen(ap->a_name) + 1);
- errors += pref_close(af);
- }
- }
-
- /*
- * Output any direct map entries which were found during the
- * previous pass over the data.
- */
- if (direct) {
- FILE *af = pref_open(mount_pref, "direct.map", info_hdr, "direct mount");
- if (af) {
- show_new("direct mounts");
- fputs("/defaults ", af);
- if (*def)
- fprintf(af, "%s;", def);
- fputs("type:=nfs\n", af);
- ITER(ap, automount, q)
- if (!ap->a_mount)
- errors += write_amount_info(af, ap, 1);
- errors += pref_close(af);
- }
- }
-
- return errors;
-}
-
-/*
- * Write all the needed automount configuration files
- */
-write_atab(q)
-qelem *q;
-{
- int errors = 0;
-
- if (mount_pref) {
- auto_tree *tp;
- show_area_being_processed("write automount", "");
- ITER(tp, auto_tree, q)
- errors += write_amount(tp->t_mount, tp->t_defaults);
- }
-
- return errors;
-}
diff --git a/usr.sbin/amd/fsinfo/wr_bparam.c b/usr.sbin/amd/fsinfo/wr_bparam.c
deleted file mode 100644
index 83180ac..0000000
--- a/usr.sbin/amd/fsinfo/wr_bparam.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)wr_bparam.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-#include "../fsinfo/fsinfo.h"
-
-/*
- * Write a host/path in NFS format
- */
-static int write_nfsname(ef, fp, hn)
-FILE *ef;
-fsmount *fp;
-char *hn;
-{
- int errors = 0;
- char *h = strdup(fp->f_ref->m_dk->d_host->h_hostname);
- domain_strip(h, hn);
- fprintf(ef, "%s:%s", h, fp->f_volname);
- free(h);
- return errors;
-}
-
-/*
- * Write a bootparams entry for a host
- */
-static int write_boot_info(ef, hp)
-FILE *ef;
-host *hp;
-{
- int errors = 0;
- fprintf(ef, "%s\troot=", hp->h_hostname);
- errors += write_nfsname(ef, hp->h_netroot, hp->h_hostname);
- fputs(" swap=", ef);
- errors += write_nfsname(ef, hp->h_netswap, hp->h_hostname);
- fputs("\n", ef);
-
- return 0;
-}
-
-/*
- * Output a bootparams file
- */
-int write_bootparams(q)
-qelem *q;
-{
- int errors = 0;
-
- if (bootparams_pref) {
- FILE *ef = pref_open(bootparams_pref, "bootparams", info_hdr, "bootparams");
- if (ef) {
- host *hp;
- ITER(hp, host, q)
- if (hp->h_netroot && hp->h_netswap)
- errors += write_boot_info(ef, hp);
- errors += pref_close(ef);
- } else {
- errors++;
- }
- }
-
- return errors;
-}
diff --git a/usr.sbin/amd/fsinfo/wr_dumpset.c b/usr.sbin/amd/fsinfo/wr_dumpset.c
deleted file mode 100644
index e19436d..0000000
--- a/usr.sbin/amd/fsinfo/wr_dumpset.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)wr_dumpset.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-#include "../fsinfo/fsinfo.h"
-
-static int write_dumpset_info(ef, q)
-FILE *ef;
-qelem *q;
-{
- int errors = 0;
- disk_fs *dp;
-
- ITER(dp, disk_fs, q) {
- if (dp->d_dumpset) {
- fprintf(ef, "%s\t%s:%-30s\t# %s\n",
- dp->d_dumpset,
- dp->d_host->h_lochost ?
- dp->d_host->h_lochost :
- dp->d_host->h_hostname,
- dp->d_mountpt,
- dp->d_dev);
- }
- }
- return errors;
-}
-
-int write_dumpset(q)
-qelem *q;
-{
- int errors = 0;
-
- if (dumpset_pref) {
- FILE *ef = pref_open(dumpset_pref, "dumpsets", info_hdr, "exabyte dumpset");
- if (ef) {
- host *hp;
- ITER(hp, host, q) {
- if (hp->h_disk_fs) {
- errors += write_dumpset_info(ef, hp->h_disk_fs);
- }
- }
- errors += pref_close(ef);
- } else {
- errors++;
- }
- }
-
- return errors;
-}
diff --git a/usr.sbin/amd/fsinfo/wr_exportfs.c b/usr.sbin/amd/fsinfo/wr_exportfs.c
deleted file mode 100644
index 338ebfa..0000000
--- a/usr.sbin/amd/fsinfo/wr_exportfs.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)wr_exportfs.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-#include "../fsinfo/fsinfo.h"
-
-static int write_export_info(ef, q, errors)
-FILE *ef;
-qelem *q;
-int errors;
-{
- mount *mp;
-
- ITER(mp, mount, q) {
- if (mp->m_mask & (1<<DM_EXPORTFS))
- fprintf(ef, "%s\t%s\n", mp->m_volname, mp->m_exportfs);
- if (mp->m_mount)
- errors += write_export_info(ef, mp->m_mount, 0);
- }
-
- return errors;
-}
-
-static int write_dkexports(ef, q)
-FILE *ef;
-qelem *q;
-{
- int errors = 0;
- disk_fs *dp;
-
- ITER(dp, disk_fs, q) {
- if (dp->d_mount)
- errors += write_export_info(ef, dp->d_mount, 0);
- }
- return errors;
-}
-
-int write_exportfs(q)
-qelem *q;
-{
- int errors = 0;
-
- if (exportfs_pref) {
- host *hp;
- show_area_being_processed("write exportfs", "");
- ITER(hp, host, q) {
- if (hp->h_disk_fs) {
- FILE *ef = pref_open(exportfs_pref, hp->h_hostname, gen_hdr, hp->h_hostname);
- if (ef) {
- show_new(hp->h_hostname);
- errors += write_dkexports(ef, hp->h_disk_fs);
- errors += pref_close(ef);
- } else {
- errors++;
- }
- }
- }
- }
-
- return errors;
-}
diff --git a/usr.sbin/amd/fsinfo/wr_fstab.c b/usr.sbin/amd/fsinfo/wr_fstab.c
deleted file mode 100644
index ee805ef..0000000
--- a/usr.sbin/amd/fsinfo/wr_fstab.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Copyright (c) 1989 Jan-Simon Pendry
- * Copyright (c) 1989 Imperial College of Science, Technology & Medicine
- * Copyright (c) 1989, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Jan-Simon Pendry at Imperial College, London.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)wr_fstab.c 8.1 (Berkeley) 6/6/93
- *
- * $Id$
- *
- */
-
-#include "../fsinfo/fsinfo.h"
-
-/* ---------- AIX 1 ------------------------------ */
-
-/*
- * AIX 1 format
- */
-static void write_aix1_dkfstab(ef, dp)
-FILE *ef;
-disk_fs *dp;
-{
- char *hp = strdup(dp->d_host->h_hostname);
- char *p = strchr(hp, '.');
- if (p)
- *p = '\0';
-
- fprintf(ef, "\n%s:\n\tdev = %s\n\tvfs = %s\n\ttype = %s\n\tlog = %s\n\tvol = %s\n\topts = %s\n\tmount = true\n\tcheck = true\n\tfree = false\n",
- dp->d_mountpt,
- dp->d_dev,
- dp->d_fstype,
- dp->d_fstype,
- dp->d_log,
- dp->d_mountpt,
- dp->d_opts);
- free(hp);
-}
-
-static void write_aix1_dkrmount(ef, hn, fp)
-FILE *ef;
-char *hn;
-fsmount *fp;
-{
- char *h = strdup(fp->f_ref->m_dk->d_host->h_hostname);
- char *hp = strdup(h);
- char *p = strchr(hp, '.');
- if (p)
- *p = '\0';
- domain_strip(h, hn);
- fprintf(ef, "\n%s:\n\tsite = %s\n\tdev = %s:%s\n\tvfs = %s\n\ttype = %s\n\tvol = %s\n\topts = %s\n\tmount = true\n\tcheck = true\n\tfree = false\n",
- fp->f_localname,
- hp,
- h,
- fp->f_volname,
- fp->f_fstype,
- fp->f_fstype,
- fp->f_localname,
- fp->f_opts);
-
- free(hp);
- free(h);
-}
-
-/* ---------- AIX 3 ------------------------------ */
-
-/*
- * AIX 3 format
- */
-static void write_aix3_dkfstab(ef, dp)
-FILE *ef;
-disk_fs *dp;
-{
- if (strcmp(dp->d_fstype, "jfs") == 0 && strncmp(dp->d_dev, "/dev/", 5) == 0 && !dp->d_log)
- error("aix 3 needs a log device for journalled filesystem (jfs) mounts");
-
- fprintf(ef, "\n%s:\n\tdev = %s\n\tvfs = %s\n\ttype = %s\n\tlog = %s\n\tvol = %s\n\topts = %s\n\tmount = true\n\tcheck = true\n\tfree = false\n",
- dp->d_mountpt,
- dp->d_dev,
- dp->d_fstype,
- dp->d_fstype,
- dp->d_log,
- dp->d_mountpt,
- dp->d_opts);
-}
-
-static void write_aix3_dkrmount(ef, hn, fp)
-FILE *ef;
-char *hn;
-fsmount *fp;
-{
- char *h = strdup(fp->f_ref->m_dk->d_host->h_hostname);
- domain_strip(h, hn);
- fprintf(ef, "\n%s:\n\tdev = %s:%s\n\tvfs = %s\n\ttype = %s\n\tvol = %s\n\topts = %s\n\tmount = true\n\tcheck = true\n\tfree = false\n",
- fp->f_localname,
- h,
- fp->f_volname,
- fp->f_fstype,
- fp->f_fstype,
- fp->f_localname,
- fp->f_opts);
-
- free(h);
-}
-
-/* ---------- Ultrix ----------------------------- */
-
-static void write_ultrix_dkfstab(ef, dp)
-FILE *ef;
-disk_fs *dp;
-{
- fprintf(ef, "%s:%s:%s:%s:%d:%d\n",
- dp->d_dev,
- dp->d_mountpt,
- dp->d_fstype,
- dp->d_opts,
- dp->d_freq,
- dp->d_passno);
-}
-
-static void write_ultrix_dkrmount(ef, hn, fp)
-FILE *ef;
-char *hn;
-fsmount *fp;
-{
- char *h = strdup(fp->f_ref->m_dk->d_host->h_hostname);
- domain_strip(h, hn);
- fprintf(ef, "%s@%s:%s:%s:%s:0:0\n",
- fp->f_volname,
- h,
- fp->f_localname,
- fp->f_fstype,
- fp->f_opts);
- free(h);
-}
-
-/* ---------- Generic ---------------------------- */
-
-/*
- * Generic (BSD, SunOS, HPUX) format
- */
-static void write_generic_dkfstab(ef, dp)
-FILE *ef;
-disk_fs *dp;
-{
- fprintf(ef, "%s %s %s %s %d %d\n",
- dp->d_dev,
- dp->d_mountpt,
- dp->d_fstype,
- dp->d_opts,
- dp->d_freq,
- dp->d_passno);
-}
-
-static void write_generic_dkrmount(ef, hn, fp)
-FILE *ef;
-char *hn;
-fsmount *fp;
-{
- char *h = strdup(fp->f_ref->m_dk->d_host->h_hostname);
- domain_strip(h, hn);
- fprintf(ef, "%s:%s %s %s %s 0 0\n",
- h,
- fp->f_volname,
- fp->f_localname,
- fp->f_fstype,
- fp->f_opts);
- free(h);
-}
-
-/* ----------------------------------------------- */
-
-static struct os_fstab_type {
- char *os_name;
- void (*op_fstab)();
- void (*op_mount)();
-} os_tabs[] = {
- { "aix1", write_aix1_dkfstab, write_aix1_dkrmount }, /* AIX 1 */
- { "aix3", write_aix3_dkfstab, write_aix3_dkrmount }, /* AIX 3 */
- { "generic", write_generic_dkfstab, write_generic_dkrmount }, /* Generic */
- { "u2_0", write_ultrix_dkfstab, write_ultrix_dkrmount }, /* Ultrix */
- { "u3_0", write_ultrix_dkfstab, write_ultrix_dkrmount }, /* Ultrix */
- { "u4_0", write_ultrix_dkfstab, write_ultrix_dkrmount }, /* Ultrix */
- { 0, 0, 0 }
-};
-
-#define GENERIC_OS_NAME "generic"
-
-static struct os_fstab_type *find_fstab_type(hp)
-host *hp;
-{
- struct os_fstab_type *op = 0;
- char *os_name = 0;
-
-again:;
- if (os_name == 0) {
- if (ISSET(hp->h_mask, HF_OS))
- os_name = hp->h_os;
- else
- os_name = GENERIC_OS_NAME;
- }
-
- for (op = os_tabs; op->os_name; op++)
- if (strcmp(os_name, op->os_name) == 0)
- return op;
-
- os_name = GENERIC_OS_NAME;
- goto again;
-}
-
-static int write_dkfstab(ef, q, output)
-FILE *ef;
-qelem *q;
-void (*output)();
-{
- int errors = 0;
- disk_fs *dp;
-
- ITER(dp, disk_fs, q)
- if (strcmp(dp->d_fstype, "export") != 0)
- (*output)(ef, dp);
-
- return errors;
-}
-
-static int write_dkrmount(ef, q, hn, output)
-FILE *ef;
-qelem *q;
-char *hn;
-void (*output)();
-{
- int errors = 0;
- fsmount *fp;
-
- ITER(fp, fsmount, q)
- (*output)(ef, hn, fp);
-
- return errors;
-}
-
-int write_fstab(q)
-qelem *q;
-{
- int errors = 0;
-
- if (fstab_pref) {
- host *hp;
- show_area_being_processed("write fstab", 4);
- ITER(hp, host, q) {
- if (hp->h_disk_fs || hp->h_mount) {
- FILE *ef = pref_open(fstab_pref, hp->h_hostname, gen_hdr, hp->h_hostname);
- if (ef) {
- struct os_fstab_type *op = find_fstab_type(hp);
- show_new(hp->h_hostname);
- if (hp->h_disk_fs)
- errors += write_dkfstab(ef, hp->h_disk_fs, op->op_fstab);
- else
- log("No local disk mounts on %s", hp->h_hostname);
-
- if (hp->h_mount)
- errors += write_dkrmount(ef, hp->h_mount, hp->h_hostname, op->op_mount);
-
- pref_close(ef);
- }
- } else {
- error("no disk mounts on %s", hp->h_hostname);
- }
- }
- }
-
- return errors;
-}
OpenPOWER on IntegriCloud