[systemd-devel] [PATCH] bootchart: if "root=/dev" is not matched, don't try to read /sys

harald at redhat.com harald at redhat.com
Thu Feb 14 02:26:06 PST 2013


From: Harald Hoyer <harald at redhat.com>

---
 src/bootchart/svg.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c
index dc55cb3..7fdcd01 100644
--- a/src/bootchart/svg.c
+++ b/src/bootchart/svg.c
@@ -166,18 +166,19 @@ static void svg_title(void)
         }
 
         /* 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 */
-- 
1.8.1



More information about the systemd-devel mailing list