ref: d7a6e8434a31af68314d243ae4f2804aedfa51e6
dir: /create/
#!/bin/rc
if (! ~ $#* 2) {
echo usage: mksecgefs name size >[1=2]
exit usage
}
rfork en
filename=$1
name=`{basename $filename}
size=`{echo $2 '* 1024' | hoc}
if (test -e $filename) {
echo file $filename already exists >[1=2]
exit error
}
if (test -e /srv/$name || test -e /srv/$name.cmd) {
echo srv files name collision >[1=2]
exit error
}
dd -if /dev/zero -bs 1024 -count $size > $filename
disk/cryptsetup -f $filename
disk/cryptsetup -i $filename
gefs -f /dev/fs/$name -r $user
gefs -f /dev/fs/$name -n $name
if (! test -e /srv/$name.cmd) {
echo /srv/$name.cmd does not exist >[1=2]
exit error
}
echo 'set retain ''''' >> /srv/$name.cmd
echo halt >>/srv/$name.cmd
echo del $name > /dev/fs/ctl
ls /dev/fs/$name >[2]/dev/null
ls /srv/$name.cmd >[2]/dev/null