blob: 6159d1ad2b91993844a967e3082627e487319d52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#!/bin/rc
# desc: choose and mount file system partition
sname=cwfs.newfs
switch($1){
case go
echo
echo Please choose your $fstype partitions
echo
files=(`{ls /dev/sd*/fscache* /dev/fs/fscache* >[2]/dev/null})
if(! ~ $#files 0)
ls -l $files
echo
if(~ $#files 1)
default=(-d $files)
if not
default=()
prompt $default 'Cwfs cache partition' $files
fs=$rd
export fs
fsflags=()
export fsflags
files=(`{ls /dev/sd*/fsworm* /dev/fs/fsworm* >[2]/dev/null})
if(! ~ $#files 0)
ls -l $files
echo
if(~ $#files 1)
default=(-d $files)
if not
default=()
prompt $default 'Cwfs worm partition' $files
fsworm=$rd
export fsworm
files=(`{ls /dev/sd*/other* /dev/fs/other* >[2]/dev/null})
if(! ~ $#files 0)
ls -l $files
echo
if(~ $#files 1)
default=(-d $files)
if not
default=()
prompt $default 'Cwfs other partition' $files
fsother=$rd
export fsother
ream=no
if(! ~ $fstype `{fstype $fs})
ream=yes
prompt -d $ream 'Ream the filesystem?' yes no
ream=$rd
log Starting $fstype file server for $fs
unmount /n/newfs >[2]/dev/null
echo halt >>/srv/$sname.cmd >[2]/dev/null
rm -f /srv/$sname /srv/$sname.cmd
if(~ $ream yes){
if(! test -f /tmp/fsconfig){
{
echo service cwfs
echo config $fs
echo noauth
echo filsys main c'('$fs')('$fsworm')'
echo filsys dump o
if(! ~ $fsother ''){
echo filsys other '('$fsother')'
echo ream other
}
echo ream main
echo end
} >/tmp/fsconfig
}
echo 'Reaming filesystem'
if(! $fstype -n $sname -f $fs -C -c </tmp/fsconfig){
mountfs=ready
export mountfs
exit oops
}
}
if not {
echo 'Entering manual configuration mode. when done, type end'
if(! $fstype -n $sname -f $fs -c){
mountfs=ready
export mountfs
exit oops
}
}
log Configuring $fstype file server for $fs
{
echo noattach
echo allow
echo users default
echo cfs main
echo create /adm adm adm 775 d
echo create /adm/users adm adm 664
echo create /dist sys sys 775 d
echo create /usr sys sys 775 d
echo newuser $user
echo newuser adm +$user
echo newuser sys +$user
echo newuser upas +$user
if(! ~ $fsother ''){
echo cfs other
echo create /usr sys sys 775 d
echo create /usr/$user $user $user 775 d
echo create /usr/$user/tmp $user $user 750 d
echo cfs main
}
echo noattach
sleep 2
} >>/srv/$sname.cmd
log Mounting $fstype file server for $fs
while(! logprog mount -c /srv/$sname /n/newfs)
sleep 2
if(! ~ $fsother ''){
log Mounting $fstype file server for $fsother
logprog mount -c /srv/$sname /n/other other
}
case checkready checkdone
if(! ~ $fstype '' && ~ $#fs 1 && test -f $fs){
if(test -f /srv/$sname && test -d /n/newfs/dist){
mountfs=done
export mountfs
exit
}
}
mountfs=ready
export mountfs
exit
}
|