lsblk: add column START for partition start offsets

Fix: https://github.com/karelzak/util-linux/issues/1340
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Karel Zak 2021-06-09 10:57:54 +02:00
parent 0842c84218
commit 856457bfcf
1 changed files with 8 additions and 1 deletions

View File

@ -121,7 +121,8 @@ enum {
COL_REV,
COL_VENDOR,
COL_ZONED,
COL_DAX
COL_DAX,
COL_START
};
/* basic table settings */
@ -217,6 +218,7 @@ static struct colinfo infos[] = {
[COL_VENDOR] = { "VENDOR", 0.1, SCOLS_FL_TRUNC, N_("device vendor") },
[COL_ZONED] = { "ZONED", 0.3, 0, N_("zone model") },
[COL_DAX] = { "DAX", 1, SCOLS_FL_RIGHT, N_("dax-capable device"), COLTYPE_BOOL },
[COL_START] = { "START", 5, SCOLS_FL_RIGHT, N_("partition start offset"), COLTYPE_NUM },
};
struct lsblk *lsblk; /* global handler */
@ -953,6 +955,11 @@ static char *device_get_data(
if (sortdata)
*sortdata = dev->size;
break;
case COL_START:
ul_path_read_string(dev->sysfs, &str, "start");
if (sortdata)
str2u64(str, sortdata);
break;
case COL_STATE:
if (!device_is_partition(dev) && !dev->dm_name)
ul_path_read_string(dev->sysfs, &str, "device/state");