shithub: gefix

Download patch

ref: b8b6185f57dca0a64535fd495b436dfb293e9fb3
parent: 6a371792659d530b9ff9e9ff6eb684b2b5d28c92
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Jul 21 23:40:21 EDT 2024

don't run if gefs is mounted

--- a/fns.h
+++ b/fns.h
@@ -17,6 +17,7 @@
 extern int	noneid;
 extern int	nogroupid;
 extern int	admid;
+extern int	force;
 
 #define	UNPACK8(p)	(((uchar*)(p))[0])
 #define	UNPACK16(p)	((((uchar*)(p))[0]<<8)|(((uchar*)(p))[1]))
--- a/fs.c
+++ b/fs.c
@@ -2757,6 +2757,8 @@
 	Kvp kv;
 	Key k;
 
+	if(!force && access("/srv/gefs", AEXIST) == 0)
+		sysfatal("/srv/gefs already exists: is your fs mounted?");
 	fprint(2, "getting adm mount...\n");
 	if((mnt = getmount("adm")) == nil){
 		sysfatal("failed to get adm mount");
--- a/main.c
+++ b/main.c
@@ -10,7 +10,7 @@
 
 Gefs *fs;
 
-int	ream;
+int	force;
 int	grow;
 int	debug;
 int	stdio;
@@ -280,7 +280,7 @@
 static void
 usage(void)
 {
-	fprint(2, "usage: %s [-SA] [-r user] [-m mem] [-n srv] [-a net]... -f dev\n", argv0);
+	fprint(2, "usage: %s [-F] -f dev\n", argv0);
 	exits("usage");
 }
 
@@ -296,6 +296,9 @@
 		break;
 	case 'f':
 		dev = EARGF(usage());
+		break;
+	case 'F':
+		force++;
 		break;
 	default:
 		usage();