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>
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);
}