From a9218237dec69d496f6dbe3c26dde6a199ba55c1 Mon Sep 17 00:00:00 2001 From: obrien Date: Thu, 27 Aug 1998 08:03:35 +0000 Subject: Make way for the contrib_amd bmake frame work. --- usr.sbin/amd/fsinfo/Makefile | 17 - usr.sbin/amd/fsinfo/conf/automounts | 48 -- usr.sbin/amd/fsinfo/conf/csg_sun3 | 18 - usr.sbin/amd/fsinfo/conf/csg_vax | 67 --- usr.sbin/amd/fsinfo/conf/diskless_sun3_sos4 | 9 - .../amd/fsinfo/conf/hosts/achilles.doc.ic.ac.uk | 116 ---- .../amd/fsinfo/conf/hosts/bigears.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/dylan.doc.ic.ac.uk | 68 --- .../amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk | 104 ---- .../amd/fsinfo/conf/hosts/ganymede.doc.ic.ac.uk | 33 -- usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk | 477 --------------- usr.sbin/amd/fsinfo/conf/hosts/gummo.doc.ic.ac.uk | 12 - usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk | 84 --- .../amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk | 28 - .../amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk | 208 ------- usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk | 66 --- usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk | 79 --- usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk | 66 --- usr.sbin/amd/fsinfo/conf/hosts/tcsun1.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tcsun2.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tcsun3.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tcsun4.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tcsun5.doc.ic.ac.uk | 3 - .../amd/fsinfo/conf/hosts/toytown.doc.ic.ac.uk | 116 ---- usr.sbin/amd/fsinfo/conf/hosts/truth.doc.ic.ac.uk | 9 - usr.sbin/amd/fsinfo/conf/hosts/tsun1.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun10.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun11.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun12.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun13.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun14.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun15.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun16.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun17.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun18.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun19.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun2.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun3.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun4.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun5.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun6.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun7.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun8.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsun9.doc.ic.ac.uk | 3 - usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk | 211 ------- usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk | 21 - usr.sbin/amd/fsinfo/conf/users | 106 ---- usr.sbin/amd/fsinfo/fsi_analyze.c | 645 --------------------- usr.sbin/amd/fsinfo/fsi_data.h | 236 -------- usr.sbin/amd/fsinfo/fsi_dict.c | 125 ---- usr.sbin/amd/fsinfo/fsi_gram.y | 394 ------------- usr.sbin/amd/fsinfo/fsi_lex.l | 403 ------------- usr.sbin/amd/fsinfo/fsi_util.c | 576 ------------------ usr.sbin/amd/fsinfo/fsinfo.8 | 77 --- usr.sbin/amd/fsinfo/fsinfo.c | 267 --------- usr.sbin/amd/fsinfo/fsinfo.h | 160 ----- usr.sbin/amd/fsinfo/wr_atab.c | 284 --------- usr.sbin/amd/fsinfo/wr_bparam.c | 101 ---- usr.sbin/amd/fsinfo/wr_dumpset.c | 88 --- usr.sbin/amd/fsinfo/wr_exportfs.c | 100 ---- usr.sbin/amd/fsinfo/wr_fstab.c | 303 ---------- 61 files changed, 5797 deletions(-) delete mode 100644 usr.sbin/amd/fsinfo/Makefile delete mode 100644 usr.sbin/amd/fsinfo/conf/automounts delete mode 100644 usr.sbin/amd/fsinfo/conf/csg_sun3 delete mode 100644 usr.sbin/amd/fsinfo/conf/csg_vax delete mode 100644 usr.sbin/amd/fsinfo/conf/diskless_sun3_sos4 delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/achilles.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/bigears.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/dylan.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/flamingo.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/ganymede.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/gould.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/gummo.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/ivax.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/obsidian.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/pelican.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/rvax.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/sky.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/svax.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tcsun1.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tcsun2.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tcsun3.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tcsun4.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tcsun5.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/toytown.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/truth.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun1.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun10.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun11.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun12.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun13.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun14.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun15.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun16.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun17.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun18.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun19.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun2.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun3.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun4.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun5.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun6.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun7.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun8.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsun9.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/tsunfs.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/hosts/whoops.doc.ic.ac.uk delete mode 100644 usr.sbin/amd/fsinfo/conf/users delete mode 100644 usr.sbin/amd/fsinfo/fsi_analyze.c delete mode 100644 usr.sbin/amd/fsinfo/fsi_data.h delete mode 100644 usr.sbin/amd/fsinfo/fsi_dict.c delete mode 100644 usr.sbin/amd/fsinfo/fsi_gram.y delete mode 100644 usr.sbin/amd/fsinfo/fsi_lex.l delete mode 100644 usr.sbin/amd/fsinfo/fsi_util.c delete mode 100644 usr.sbin/amd/fsinfo/fsinfo.8 delete mode 100644 usr.sbin/amd/fsinfo/fsinfo.c delete mode 100644 usr.sbin/amd/fsinfo/fsinfo.h delete mode 100644 usr.sbin/amd/fsinfo/wr_atab.c delete mode 100644 usr.sbin/amd/fsinfo/wr_bparam.c delete mode 100644 usr.sbin/amd/fsinfo/wr_dumpset.c delete mode 100644 usr.sbin/amd/fsinfo/wr_exportfs.c delete mode 100644 usr.sbin/amd/fsinfo/wr_fstab.c (limited to 'usr.sbin/amd/fsinfo') 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 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<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 - -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 tSTR - -%start list_of_hosts - -%type automount -%type automount_tree -%type ether_attr -%type dir_tree_info -%type filesystem fs_info_list -%type host host_attr host_attr_list -%type list_of_hosts list_of_filesystems list_of_mounts dir_tree -%type localinfo_list -%type 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 */ -#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 - -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 */ - -[^ \t\n"={}]+ { return find_resword(yytext); } -[ \t] ; -"\n" { yylineno++; } -[={}] { return *yytext; } - -\" { BEGIN Q; optr = ostr; quoted = 1; } -\n { yylineno++; yyerror("\" expected"); BEGIN F; } -\\b { *optr++ = '\b'; /* escape */ } -\\t { *optr++ = '\t'; /* escape */ } -\\\" { *optr++ = '\"'; /* escape */ } -\\\\ { *optr++ = '\\'; /* escape */ } -\\\n { yylineno++; /* continue */ } -\\r { *optr++ = '\r'; /* escape */ } -\\n { *optr++ = '\n'; /* escape */ } -\\f { *optr++ = '\f'; /* escape */ } -"\\ " { *optr++ = ' '; /* force space */ } -\\. { yyerror("Unknown \\ sequence"); } -([ \t]|"\\\n"){2,} { char *p = yytext-1; while (p = strchr(p+1, '\n')) yylineno++; } -\" { BEGIN F; quoted = 0; - *optr = '\0'; - yylval.s = strdup(ostr); - return tSTR; - } -. { *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 -#include -#include - -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 -#include -#include - -/* - * Bogosity to deal with ether { ... } - */ -#include -#include -#include -#include -#include -#include - -#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<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; -} -- cgit v1.1