chiark / gitweb /
bootchart: if "root=/dev" is not matched, don't try to read /sys
authorHarald Hoyer <harald@redhat.com>
Thu, 14 Feb 2013 10:26:06 +0000 (11:26 +0100)
committerAuke Kok <auke-jan.h.kok@intel.com>
Thu, 14 Feb 2013 21:49:48 +0000 (13:49 -0800)
src/bootchart/svg.c

index 414d7af..f8a3776 100644 (file)
@@ -165,18 +165,19 @@ static void svg_title(const char *build)
         }
 
         /* extract root fs so we can find disk model name in sysfs */
+        /* FIXME: this works only in the simple case */
         c = strstr(cmdline, "root=/dev/");
         if (c) {
                 strncpy(rootbdev, &c[10], 3);
                 rootbdev[3] = '\0';
-        }
-        sprintf(filename, "block/%s/device/model", rootbdev);
-        fd = openat(sysfd, filename, O_RDONLY);
-        f = fdopen(fd, "r");
-        if (f) {
-                if (!fgets(model, 255, f))
-                        fprintf(stderr, "Error reading disk model for %s\n", rootbdev);
-                fclose(f);
+                sprintf(filename, "block/%s/device/model", rootbdev);
+                fd = openat(sysfd, filename, O_RDONLY);
+                f = fdopen(fd, "r");
+                if (f) {
+                        if (!fgets(model, 255, f))
+                                fprintf(stderr, "Error reading disk model for %s\n", rootbdev);
+                        fclose(f);
+                }
         }
 
         /* various utsname parameters */