From: Heiko Carstens Date: Thu, 15 Sep 2011 06:52:32 +0000 (+0200) Subject: lscpu: fix -e output X-Git-Tag: v2.21-rc1~392 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=81137d1c0b717ea973cef7fa9322d643f226a5b1;p=thirdparty%2Futil-linux.git lscpu: fix -e output The modifier mod->allcpus must be set earlier and also must be used earlier. The current code only reads sysfs attributes from online cpus but skips offline cpus. So initialize mod->allcpus earlier. Signed-off-by: Heiko Carstens --- diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index 62b1a5fd82..340450b106 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -1280,11 +1280,13 @@ int main(int argc, char *argv[]) usage(stderr); } } + if (mod->mode == OUTPUT_READABLE && !mod->online) + mod->allcpus = 1; read_basicinfo(desc, mod); for (i = 0; i < desc->ncpus; i++) { - if (desc->online && !is_cpu_online(desc, i)) + if (desc->online && !is_cpu_online(desc, i) && !mod->allcpus) continue; read_topology(desc, i); read_cache(desc, i); @@ -1314,8 +1316,6 @@ int main(int argc, char *argv[]) print_parsable(desc, columns, ncolumns, mod); break; case OUTPUT_READABLE: - if (!mod->online) - mod->allcpus = 1; if (!ncolumns) { /* No list was given. Just print whatever is there. */ columns[ncolumns++] = COL_CPU;