]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsblk: don't ignore dependences for partitioned devies
authorKarel Zak <kzak@redhat.com>
Wed, 1 Apr 2015 10:23:23 +0000 (12:23 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 29 Apr 2015 10:28:55 +0000 (12:28 +0200)
The code only lists partitions, but ignore another dependencies
on whole-disk device:

$ lsblk /dev/sdb
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   0 298.1G  0 disk
└─sdb1   8:17   0 298.1G  0 part

$ ls /sys/block/sdb/holders/
dm-0

fixed version:

$ lsblk /dev/sdb
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sdb           8:16   0 298.1G  0 disk
├─sdb1        8:17   0 298.1G  0 part
└─mpatha    253:0    0 298.1G  0 mpath
  └─mpatha1 253:1    0 298.1G  0 part

Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/lsblk.c

index 8781b96cd91c556aa104f275422b8e12abbc1d53..6c716ea958b7015f20f5b4005e22afd337e4d4b2 100644 (file)
@@ -1387,9 +1387,10 @@ static int process_blkdev(struct blkdev_cxt *cxt, struct blkdev_cxt *parent,
                          int do_partitions, const char *part_name)
 {
        if (do_partitions && cxt->npartitions)
-               return list_partitions(cxt, parent, part_name);
+               list_partitions(cxt, parent, part_name);                /* partitoins + whole-disk */
+       else
+               fill_table_line(cxt, parent ? parent->scols_line : NULL); /* whole-disk only */
 
-       fill_table_line(cxt, parent ? parent->scols_line : NULL);
        return list_deps(cxt);
 }