[Libguestfs] [PATCH supermin 1/5] init: If "quiet" is found on the command line, suppress debug output.

Richard W.M. Jones rjones at redhat.com
Thu Mar 17 10:07:35 UTC 2016


---
 init/init.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/init/init.c b/init/init.c
index 80b2232..3014de2 100644
--- a/init/init.c
+++ b/init/init.c
@@ -71,10 +71,10 @@ static const char *moderror(int err)
   }
 }
 
-/* Leave this enabled for now.  When we get more confident in the boot
- * process we can turn this off or make it configurable.
+/* If "quiet" is found on the command line, set this which suppresses
+ * ordinary debug messages.
  */
-#define verbose 1
+static int quiet = 0;
 
 static void mount_proc (void);
 static void print_uptime (void);
@@ -90,7 +90,6 @@ main ()
 {
   mount_proc ();
 
-  print_uptime ();
   fprintf (stderr, "supermin: ext2 mini initrd starting up: "
            PACKAGE_VERSION
 #if defined(__dietlibc__)
@@ -105,6 +104,12 @@ main ()
            "\n");
 
   read_cmdline ();
+  quiet = strstr (cmdline, "quiet") != NULL;
+
+  if (!quiet) {
+    fprintf (stderr, "supermin: cmdline: %s\n", cmdline);
+    print_uptime ();
+  }
 
   /* Create some fixed directories. */
   mkdir ("/dev", 0755);
@@ -112,7 +117,7 @@ main ()
   mkdir ("/sys", 0755);
 
   /* Mount /sys. */
-  if (verbose)
+  if (!quiet)
     fprintf (stderr, "supermin: mounting /sys\n");
   if (mount ("sysfs", "/sys", "sysfs", 0, "") == -1) {
     perror ("mount: /sys");
@@ -208,7 +213,7 @@ main ()
   exit (EXIT_FAILURE);
 
  found:
-  if (verbose)
+  if (!quiet)
     fprintf (stderr, "supermin: picked %s as root device\n", path);
 
   fgets (line, sizeof line, fp);
@@ -229,7 +234,7 @@ main ()
     perror ("ioctl: TIOCSCTTY");
 #endif
 
-  if (verbose)
+  if (!quiet)
     fprintf (stderr, "supermin: creating /dev/root as block special %d:%d\n",
              major, minor);
 
@@ -239,7 +244,7 @@ main ()
   }
 
   /* Mount new root and chroot to it. */
-  if (verbose)
+  if (!quiet)
     fprintf (stderr, "supermin: mounting new root on /root\n");
   if (mount ("/dev/root", "/root", "ext2", MS_NOATIME, "") == -1) {
     perror ("mount: /root");
@@ -250,7 +255,7 @@ main ()
    * Documentation/filesystems/ramfs-rootfs-initramfs.txt
    * We could remove the old initramfs files, but let's not bother.
    */
-  if (verbose)
+  if (!quiet)
     fprintf (stderr, "supermin: chroot\n");
 
   if (chroot ("/root") == -1) {
@@ -282,7 +287,7 @@ insmod (const char *filename)
 {
   size_t size;
 
-  if (verbose)
+  if (!quiet)
     fprintf (stderr, "supermin: internal insmod %s\n", filename);
 
   int fd = open (filename, O_RDONLY);
@@ -323,7 +328,7 @@ mount_proc (void)
   if (access ("/proc/uptime", R_OK) == -1) {
     mkdir ("/proc", 0755);
 
-    if (verbose)
+    if (!quiet)
       fprintf (stderr, "supermin: mounting /proc\n");
 
     if (mount ("proc", "/proc", "proc", 0, "") == -1) {
@@ -370,8 +375,6 @@ read_cmdline (void)
   len = strlen (cmdline);
   if (len >= 1 && cmdline[len-1] == '\n')
     cmdline[len-1] = '\0';
-
-  fprintf (stderr, "supermin: cmdline: %s\n", cmdline);
 }
 
 /* Display a directory on stderr.  This is used for debugging only. */
-- 
2.5.0




More information about the Libguestfs mailing list