From: Harald Hoyer Date: Thu, 14 Feb 2013 10:26:06 +0000 (+0100) Subject: bootchart: if "root=/dev" is not matched, don't try to read /sys X-Git-Tag: v198~227 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=8846199d2006824debdc587df73826a7efa31d24 bootchart: if "root=/dev" is not matched, don't try to read /sys --- diff --git a/src/bootchart/svg.c b/src/bootchart/svg.c index 414d7af9b..f8a377687 100644 --- a/src/bootchart/svg.c +++ b/src/bootchart/svg.c @@ -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 */