ref: 46a7876d326c752f17b7993274f3234e647dfb65
parent: 0ce50ebc5750c15e30c6f2d5ba23a0dd329c6c47
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Aug 21 15:32:48 EDT 2015
disk/mkfs: rmeove kfs support
--- a/sys/man/8/mkfs
+++ b/sys/man/8/mkfs
@@ -6,12 +6,8 @@
.RB [ -aprvoxU ]
.RB [ -d
.IR root ]
-.RB [ -n
-.IR name ]
.RB [ -s
.IR source ]
-.RB [ -u
-.IR users ]
.RB [ -z
.IR n ]
.I proto ...
@@ -31,18 +27,10 @@
.I source
(default
.BR / )
-to a
-.B kfs
-file system (see
-.IR kfs (4)).
-The kfs service is mounted on
+to a new file system
.I root
(default
-.BR /n/kfs ),
-and
-.B /adm/users
-is copied to
-.IB root /adm/users\f1.
+.BR /n/newfs ).
The
.I proto
files are read
@@ -49,8 +37,7 @@
(see
.IR proto (2)
for their format)
-and any files specified in them that are out of date are copied to
-.BR /n/kfs .
+and any files specified in them that are out of date are copied.
.PP
.I Mkfs
copies only those files that are out of date.
@@ -57,9 +44,7 @@
Such a file is first copied into a temporary
file in the appropriate destination directory
and then moved to the destination file.
-Files in the
-.I kfs
-file system that are not specified in the
+Files that are not specified in the
.I proto
file
are not updated and not removed.
@@ -94,7 +79,7 @@
Copy files into the tree rooted at
.I root
(default
-.BR /n/kfs ).
+.BR /n/newfs ).
This option suppresses setting the
.B uid
and
@@ -104,12 +89,6 @@
.B -U
to reenable it.
.TP
-.BI "n " name
-Use
-.RI kfs. name
-as the name of the kfs service (default
-.BR kfs ).
-.TP
.B p
Update the permissions of a file even if it is up to date.
.TP
@@ -123,18 +102,11 @@
Copy from files rooted at the tree
.IR source .
.TP
-.BI "u " users
-Copy file
-.I users
-into
-.B /adm/users
-in the new system.
-.TP
.B v
Print the names of all of the files as they are copied.
.TP
.BI "z " n
-Copy files assuming kfs block
+Copy files assuming block size
.I n
(default 1024)
bytes long.
@@ -179,7 +151,7 @@
Make an archive to establish a new file system:
.IP
.EX
-disk/mkfs -a -u files/adm.users -s dist proto > arch
+disk/mkfs -a -s dist proto > arch
.EE
.PP
Unpack that archive onto a new file system:
@@ -195,6 +167,5 @@
.B /sys/src/cmd/disk/mkext.c
.SH "SEE ALSO"
.IR prep (8),
-.IR kfscmd (8),
.IR sd (3),
.IR tar (1)
--- a/sys/src/cmd/disk/mkfs.c
+++ b/sys/src/cmd/disk/mkfs.c
@@ -10,8 +10,7 @@
/*
* types of destination file sytems
*/
- Kfs = 0,
- Fs,
+ Fs = 0,
Archive,
};
@@ -21,9 +20,7 @@
void arch(Dir*);
void copy(Dir*);
void error(char *, ...);
-void kfscmd(char *);
void mkdir(Dir*);
-void mountkfs(char*);
int uptodate(Dir*, char*);
void usage(void);
void warn(char *, ...);
@@ -34,7 +31,6 @@
char oldfile[LEN];
char *proto;
char *cputype;
-char *users;
char *oldroot;
char *newroot;
char *prog = "mkfs";
@@ -48,7 +44,7 @@
int xflag;
int oflag;
int sfd;
-int fskind; /* Kfs, Fs, Archive */
+int fskind; /* Fs, Archive */
int setuid; /* on Fs: set uid and gid? */
char *user;
@@ -55,40 +51,30 @@
void
main(int argc, char **argv)
{
- char *name;
int i, errs;
quotefmtinstall();
user = getuser();
- name = "";
oldroot = "";
- newroot = "/n/kfs";
- users = 0;
- fskind = Kfs;
+ newroot = "/n/newfs";
+ fskind = Fs;
ARGBEGIN{
case 'a':
- if(fskind != Kfs) {
- fprint(2, "cannot use -a with -d\n");
- usage();
- }
fskind = Archive;
newroot = "";
Binits(&bout, 1, OWRITE, boutbuf, sizeof boutbuf);
break;
case 'd':
- if(fskind != Kfs) {
+ if(fskind != Fs) {
fprint(2, "cannot use -d with -a\n");
usage();
}
fskind = Fs;
- newroot = ARGF();
+ newroot = EARGF(usage());
break;
case 'D':
debug = 1;
break;
- case 'n':
- name = EARGF(usage());
- break;
case 'p':
modes = 1;
break;
@@ -96,11 +82,8 @@
ream = 1;
break;
case 's':
- oldroot = ARGF();
+ oldroot = EARGF(usage());
break;
- case 'u':
- users = ARGF();
- break;
case 'U':
setuid = 1;
break;
@@ -114,7 +97,7 @@
xflag = 1;
break;
case 'z':
- buflen = atoi(ARGF())-8;
+ buflen = atoi(EARGF(usage()))-8;
break;
default:
usage();
@@ -132,8 +115,6 @@
zbuf = malloc(buflen);
memset(zbuf, 0, buflen);
- mountkfs(name);
- kfscmd("allow");
cputype = getenv("cputype");
if(cputype == 0)
cputype = "386";
@@ -149,8 +130,6 @@
}
}
fprint(2, "file system made\n");
- kfscmd("disallow");
- kfscmd("sync");
if(errs)
exits("skipped protos");
if(fskind == Archive){
@@ -367,61 +346,6 @@
}
void
-mountkfs(char *name)
-{
- char kname[64];
-
- if(fskind != Kfs)
- return;
- if(name[0])
- snprint(kname, sizeof kname, "/srv/kfs.%s", name);
- else
- strcpy(kname, "/srv/kfs");
- sfd = open(kname, ORDWR);
- if(sfd < 0){
- fprint(2, "can't open %q\n", kname);
- exits("open /srv/kfs");
- }
- if(mount(sfd, -1, "/n/kfs", MREPL|MCREATE, "") < 0){
- fprint(2, "can't mount kfs on /n/kfs\n");
- exits("mount kfs");
- }
- close(sfd);
- strcat(kname, ".cmd");
- sfd = open(kname, ORDWR);
- if(sfd < 0){
- fprint(2, "can't open %q\n", kname);
- exits("open /srv/kfs");
- }
-}
-
-void
-kfscmd(char *cmd)
-{
- char buf[4*1024];
- int n;
-
- if(fskind != Kfs)
- return;
- if(write(sfd, cmd, strlen(cmd)) != strlen(cmd)){
- fprint(2, "%q: error writing %q: %r", prog, cmd);
- return;
- }
- for(;;){
- n = read(sfd, buf, sizeof buf - 1);
- if(n <= 0)
- return;
- buf[n] = '\0';
- if(strcmp(buf, "done") == 0 || strcmp(buf, "success") == 0)
- return;
- if(strcmp(buf, "unknown command") == 0){
- fprint(2, "%q: command %q not recognized\n", prog, cmd);
- return;
- }
- }
-}
-
-void
error(char *fmt, ...)
{
char buf[1024];
@@ -432,8 +356,6 @@
vseprint(buf+strlen(buf), buf+sizeof(buf), fmt, arg);
va_end(arg);
fprint(2, "%s\n", buf);
- kfscmd("disallow");
- kfscmd("sync");
exits(0);
}
@@ -453,6 +375,6 @@
void
usage(void)
{
- fprint(2, "usage: %q [-adprvoxUD] [-d root] [-n name] [-s source] [-u users] [-z n] proto ...\n", prog);
+ fprint(2, "usage: %q [-adprvoxUD] [-d root] [-s source] [-z n] proto ...\n", prog);
exits("usage");
}