From: Karel Zak Date: Wed, 1 Apr 2015 10:06:41 +0000 (+0200) Subject: lsblk: follow kernel for inverse tree X-Git-Tag: v2.27-rc1~291 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92abdcaee05178e18566d43022a66fc77e3800f2;p=thirdparty%2Futil-linux.git lsblk: follow kernel for inverse tree For multi-path devices kernel defines dependence between the device and whole-list: $ ls /sys/block/dm-0/slaves/ sdb but lsblk inserts partition into the tree: $ lsblk -s -oNAME,KNAME /dev/dm-1 mpatha1 dm-1 └─mpatha dm-0 └─sdb1 sdb1 <--- ! └─sdb sdb Signed-off-by: Karel Zak --- diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 62540739e2..8781b96cd9 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -1371,7 +1371,9 @@ static int list_deps(struct blkdev_cxt *cxt) else if (!set_cxt(&dep, cxt, NULL, d->d_name)) { DBG(CXT, ul_debugobj(cxt, "%s: %s: dependence is whole-disk", cxt->name, d->d_name)); - process_blkdev(&dep, cxt, 1, NULL); + /* For inverse tree we don't want to show partitions + * if the dependence is pn whle-disk */ + process_blkdev(&dep, cxt, lsblk->inverse ? 0 : 1, NULL); } reset_blkdev_cxt(&dep); }