]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lscpu: fix -e output
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 15 Sep 2011 06:52:32 +0000 (08:52 +0200)
committerKarel Zak <kzak@redhat.com>
Tue, 27 Sep 2011 11:37:52 +0000 (13:37 +0200)
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 <heiko.carstens@de.ibm.com>
sys-utils/lscpu.c

index 62b1a5fd82cc1656ea2863b498f4288275f94b8e..340450b10663fa352e1533eeff7d221956209ed5 100644 (file)
@@ -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;