socsvn commit: r324695 - soc2017/kneitinger/libbe-head/sbin/be

kneitinger at FreeBSD.org kneitinger at FreeBSD.org
Mon Jul 17 08:35:06 UTC 2017


Author: kneitinger
Date: Mon Jul 17 08:35:04 2017
New Revision: 324695
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=324695

Log:
  be(1): add libbe calls to corresponding functions
  

Modified:
  soc2017/kneitinger/libbe-head/sbin/be/be.c

Modified: soc2017/kneitinger/libbe-head/sbin/be/be.c
==============================================================================
--- soc2017/kneitinger/libbe-head/sbin/be/be.c	Mon Jul 17 06:46:57 2017	(r324694)
+++ soc2017/kneitinger/libbe-head/sbin/be/be.c	Mon Jul 17 08:35:04 2017	(r324695)
@@ -188,6 +188,11 @@
 		err = be_create(be, bootenv);
 	}
 
+	switch (err) {
+	default:
+		fprintf(stderr, "TODO FILL IN");
+	}
+
 	return (err);
 }
 
@@ -309,23 +314,34 @@
 static int
 be_cmd_mount(int argc, char *argv[])
 {
+	int err, flags;
 	char *bootenv;
 	char *mountpoint;
 
+	// TODO: force flag?
+
+	flags = 0;
+
 	if (argc < 2) {
 		fprintf(stderr, "be mount: missing argument(s)\n");
 		return (usage(false));
 	}
 
 	if (argc > 3) {
-		fprintf(stderr, "be rename: too many arguments\n");
+		fprintf(stderr, "be mount: too many arguments\n");
 		return (usage(false));
 	}
 
 	bootenv = argv[1];
 	mountpoint = argc == 3 ? argv[2] : NULL;
 
-	/* mount logic goes here */
+
+	err = be_mount(be, bootenv, mountpoint, flags);
+
+	switch (err) {
+	BE_ERR_SUCCESS:
+		return (0);
+	}
 
 	return (0);
 }
@@ -336,6 +352,7 @@
 {
 	char *src;
 	char *dest;
+	int err;
 
 	if (argc < 3) {
 		fprintf(stderr, "be rename: missing argument\n");
@@ -350,7 +367,12 @@
 	src = argv[1];
 	dest = argv[2];
 
-	/* rename logic goes here */
+	err = be_rename(be, src, dest);
+
+	switch (err) {
+	BE_ERR_SUCCESS:
+		return (0);
+	}
 
 	return (0);
 }
@@ -398,18 +420,17 @@
 static int
 be_cmd_unmount(int argc, char *argv[])
 {
-	int opt;
-	bool force;
-	char *cmd, *mountpoint;
+	int err, flags, opt;
+	char *cmd, *bootenv;
 
 	/* Store alias used */
 	cmd = argv[0];
 
-	force = false;
+	flags = 0;
 	while ((opt = getopt(argc, argv, "f")) != -1) {
 		switch (opt) {
 		case 'f':
-			force = true;
+			flags |= BE_MNT_FORCE;
 			break;
 		default:
 			fprintf(stderr, "be %s: unknown option '-%c'\n",
@@ -426,9 +447,14 @@
 		return (usage(false));
 	}
 
-	mountpoint = argv[0];
+	bootenv = argv[0];
 
-	/* unmount logic goes here */
+	err = be_unmount(be, bootenv, flags);
+
+	switch (err) {
+	default:
+		fprintf(stderr, "TODO FILL ME IN");
+	}
 
 	return (0);
 }
@@ -438,7 +464,7 @@
 main(int argc, char *argv[])
 {
 	char *command;
-	int command_index;
+	int command_index, rc;
 
 	if (argc < 2) {
 		fprintf(stderr, "missing command\n");
@@ -469,7 +495,7 @@
 
 	libbe_print_on_error(be, true);
 
-	int rc = command_map[command_index].fn(argc-1, argv+1);
+	rc = command_map[command_index].fn(argc-1, argv+1);
 
 	libbe_close(be);
 


More information about the svn-soc-all mailing list