summaryrefslogtreecommitdiffstats
path: root/misc-utils/lsblk.c
diff options
context:
space:
mode:
authorMilan Broz2012-10-19 14:10:39 +0200
committerKarel Zak2012-10-23 10:27:04 +0200
commit310c06035630a83dddfafaca55e5de8d0971a20c (patch)
tree5458314ebcc8c6fbcca4d2cd77e17382bc9476e8 /misc-utils/lsblk.c
parentlogin: fix compiler warning [-Wunused-result] (diff)
downloadkernel-qcow2-util-linux-310c06035630a83dddfafaca55e5de8d0971a20c.tar.gz
kernel-qcow2-util-linux-310c06035630a83dddfafaca55e5de8d0971a20c.tar.xz
kernel-qcow2-util-linux-310c06035630a83dddfafaca55e5de8d0971a20c.zip
lsblk: add parent kernel name column
For raw output used in scripts it is sometimes necessary to reconstruct tree of devices. Parent kernel name (PKNAME) provides needed information to do that easily. Signed-off-by: Milan Broz <mbroz@redhat.com>
Diffstat (limited to 'misc-utils/lsblk.c')
-rw-r--r--misc-utils/lsblk.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index 26dfaf9f0..1118e7eb9 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -97,6 +97,7 @@ enum {
COL_DZERO,
COL_WWN,
COL_RAND,
+ COL_PKNAME,
};
/* column names */
@@ -111,6 +112,7 @@ struct colinfo {
static struct colinfo infos[] = {
[COL_NAME] = { "NAME", 0.25, TT_FL_TREE | TT_FL_NOEXTREMES, N_("device name") },
[COL_KNAME] = { "KNAME", 0.3, 0, N_("internal kernel device name") },
+ [COL_PKNAME] = { "PKNAME", 0.3, 0, N_("internal parent kernel device name") },
[COL_MAJMIN] = { "MAJ:MIN", 6, 0, N_("major:minor device number") },
[COL_FSTYPE] = { "FSTYPE", 0.1, TT_FL_TRUNC, N_("filesystem type") },
[COL_TARGET] = { "MOUNTPOINT", 0.10, TT_FL_TRUNC, N_("where the device is mounted") },
@@ -144,7 +146,6 @@ static struct colinfo infos[] = {
[COL_DMAX] = { "DISC-MAX", 6, TT_FL_RIGHT, N_("discard max bytes") },
[COL_DZERO] = { "DISC-ZERO", 1, TT_FL_RIGHT, N_("discard zeroes data") },
[COL_WWN] = { "WWN", 18, 0, N_("unique storage identifier") },
-
};
struct lsblk {
@@ -600,6 +601,10 @@ static void set_tt_data(struct blkdev_cxt *cxt, int col, int id, struct tt_line
case COL_KNAME:
tt_line_set_data(ln, col, xstrdup(cxt->name));
break;
+ case COL_PKNAME:
+ if (cxt->parent)
+ tt_line_set_data(ln, col, xstrdup(cxt->parent->name));
+ break;
case COL_OWNER:
{
struct passwd *pw = st_rc ? NULL : getpwuid(cxt->st.st_uid);