aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak <kzak@redhat.com>2021-06-09 11:09:33 +0200
committerKarel Zak <kzak@redhat.com>2021-06-09 11:09:33 +0200
commit98a586f67229f65691ef1840235eda768505ea06 (patch)
tree6335be9a9ca0b854591fd1fc9ab614a10496f764
parent856457bfcfaa64c90f02f250779a3f171535296f (diff)
downloadutil-linux-98a586f67229f65691ef1840235eda768505ea06.tar.gz
lsblk: sort list of columns
It's better to maintain sorted list and it's also better for --help output. Signed-off-by: Karel Zak <kzak@redhat.com>
-rw-r--r--misc-utils/lsblk.c188
1 files changed, 91 insertions, 97 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index 3ee8bec108..754081d077 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -65,64 +65,64 @@ static int column_id_to_number(int id);
/* column IDs */
enum {
- COL_NAME = 0,
- COL_KNAME,
- COL_PATH,
- COL_MAJMIN,
+ COL_ALIOFF = 0,
+ COL_DALIGN,
+ COL_DAX,
+ COL_DGRAN,
+ COL_DMAX,
+ COL_DZERO,
COL_FSAVAIL,
+ COL_FSROOTS,
COL_FSSIZE,
COL_FSTYPE,
COL_FSUSED,
COL_FSUSEPERC,
- COL_FSROOTS,
COL_FSVERSION,
- COL_TARGET,
- COL_TARGETS,
+ COL_GROUP,
+ COL_HCTL,
+ COL_HOTPLUG,
+ COL_KNAME,
COL_LABEL,
- COL_UUID,
- COL_PTUUID,
- COL_PTTYPE,
+ COL_LOGSEC,
+ COL_MAJMIN,
+ COL_MINIO,
+ COL_MODE,
+ COL_MODEL,
+ COL_NAME,
+ COL_OPTIO,
+ COL_OWNER,
+ COL_PARTFLAGS,
+ COL_PARTLABEL,
COL_PARTTYPE,
COL_PARTTYPENAME,
- COL_PARTLABEL,
COL_PARTUUID,
- COL_PARTFLAGS,
+ COL_PATH,
+ COL_PHYSEC,
+ COL_PKNAME,
+ COL_PTTYPE,
+ COL_PTUUID,
COL_RA,
- COL_RO,
+ COL_RAND,
+ COL_REV,
COL_RM,
- COL_HOTPLUG,
- COL_MODEL,
+ COL_RO,
+ COL_ROTA,
+ COL_RQ_SIZE,
+ COL_SCHED,
COL_SERIAL,
COL_SIZE,
+ COL_START,
COL_STATE,
- COL_OWNER,
- COL_GROUP,
- COL_MODE,
- COL_ALIOFF,
- COL_MINIO,
- COL_OPTIO,
- COL_PHYSEC,
- COL_LOGSEC,
- COL_ROTA,
- COL_SCHED,
- COL_RQ_SIZE,
+ COL_SUBSYS,
+ COL_TARGET,
+ COL_TARGETS,
+ COL_TRANSPORT,
COL_TYPE,
- COL_DALIGN,
- COL_DGRAN,
- COL_DMAX,
- COL_DZERO,
+ COL_UUID,
+ COL_VENDOR,
COL_WSAME,
COL_WWN,
- COL_RAND,
- COL_PKNAME,
- COL_HCTL,
- COL_TRANSPORT,
- COL_SUBSYS,
- COL_REV,
- COL_VENDOR,
COL_ZONED,
- COL_DAX,
- COL_START
};
/* basic table settings */
@@ -149,76 +149,70 @@ struct colinfo {
const char *name; /* header */
double whint; /* width hint (N < 1 is in percent of termwidth) */
int flags; /* SCOLS_FL_* */
- const char *help;
+ const char *help;
int type; /* COLTYPE_* */
};
/* columns descriptions */
static struct colinfo infos[] = {
- [COL_NAME] = { "NAME", 0.25, SCOLS_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_PATH] = { "PATH", 0.3, 0, N_("path to the device node") },
- [COL_MAJMIN] = { "MAJ:MIN", 6, 0, N_("major:minor device number"), COLTYPE_SORTNUM },
-
- [COL_FSAVAIL] = { "FSAVAIL", 5, SCOLS_FL_RIGHT, N_("filesystem size available") },
- [COL_FSSIZE] = { "FSSIZE", 5, SCOLS_FL_RIGHT, N_("filesystem size") },
- [COL_FSTYPE] = { "FSTYPE", 0.1, SCOLS_FL_TRUNC, N_("filesystem type") },
- [COL_FSUSED] = { "FSUSED", 5, SCOLS_FL_RIGHT, N_("filesystem size used") },
+ [COL_ALIOFF] = { "ALIGNMENT", 6, SCOLS_FL_RIGHT, N_("alignment offset"), COLTYPE_NUM },
+ [COL_DALIGN] = { "DISC-ALN", 6, SCOLS_FL_RIGHT, N_("discard alignment offset"), COLTYPE_NUM },
+ [COL_DAX] = { "DAX", 1, SCOLS_FL_RIGHT, N_("dax-capable device"), COLTYPE_BOOL },
+ [COL_DGRAN] = { "DISC-GRAN", 6, SCOLS_FL_RIGHT, N_("discard granularity"), COLTYPE_SIZE },
+ [COL_DMAX] = { "DISC-MAX", 6, SCOLS_FL_RIGHT, N_("discard max bytes"), COLTYPE_SIZE },
+ [COL_DZERO] = { "DISC-ZERO", 1, SCOLS_FL_RIGHT, N_("discard zeroes data"), COLTYPE_BOOL },
+ [COL_FSAVAIL] = { "FSAVAIL", 5, SCOLS_FL_RIGHT, N_("filesystem size available") },
+ [COL_FSROOTS] = { "FSROOTS", 0.1, SCOLS_FL_WRAP, N_("mounted filesystem roots") },
+ [COL_FSSIZE] = { "FSSIZE", 5, SCOLS_FL_RIGHT, N_("filesystem size") },
+ [COL_FSTYPE] = { "FSTYPE", 0.1, SCOLS_FL_TRUNC, N_("filesystem type") },
+ [COL_FSUSED] = { "FSUSED", 5, SCOLS_FL_RIGHT, N_("filesystem size used") },
[COL_FSUSEPERC] = { "FSUSE%", 3, SCOLS_FL_RIGHT, N_("filesystem use percentage") },
- [COL_FSROOTS] = { "FSROOTS", 0.1, SCOLS_FL_WRAP, N_("mounted filesystem roots") },
[COL_FSVERSION] = { "FSVER", 0.1, SCOLS_FL_TRUNC, N_("filesystem version") },
-
- [COL_TARGET] = { "MOUNTPOINT", 0.10, SCOLS_FL_TRUNC, N_("where the device is mounted") },
- [COL_TARGETS] = { "MOUNTPOINTS", 0.10, SCOLS_FL_WRAP, N_("all locations where device is mounted") },
-
- [COL_LABEL] = { "LABEL", 0.1, 0, N_("filesystem LABEL") },
- [COL_UUID] = { "UUID", 36, 0, N_("filesystem UUID") },
-
- [COL_PTUUID] = { "PTUUID", 36, 0, N_("partition table identifier (usually UUID)") },
- [COL_PTTYPE] = { "PTTYPE", 0.1, 0, N_("partition table type") },
-
- [COL_PARTTYPE] = { "PARTTYPE", 36, 0, N_("partition type code or UUID") },
- [COL_PARTTYPENAME] = { "PARTTYPENAME", 0.1, 0, N_("partition type name") },
+ [COL_GROUP] = { "GROUP", 0.1, SCOLS_FL_TRUNC, N_("group name") },
+ [COL_HCTL] = { "HCTL", 10, 0, N_("Host:Channel:Target:Lun for SCSI") },
+ [COL_HOTPLUG] = { "HOTPLUG", 1, SCOLS_FL_RIGHT, N_("removable or hotplug device (usb, pcmcia, ...)"), COLTYPE_BOOL },
+ [COL_KNAME] = { "KNAME", 0.3, 0, N_("internal kernel device name") },
+ [COL_LABEL] = { "LABEL", 0.1, 0, N_("filesystem LABEL") },
+ [COL_LOGSEC] = { "LOG-SEC", 7, SCOLS_FL_RIGHT, N_("logical sector size"), COLTYPE_NUM },
+ [COL_MAJMIN] = { "MAJ:MIN", 6, 0, N_("major:minor device number"), COLTYPE_SORTNUM },
+ [COL_MINIO] = { "MIN-IO", 6, SCOLS_FL_RIGHT, N_("minimum I/O size"), COLTYPE_NUM },
+ [COL_MODEL] = { "MODEL", 0.1, SCOLS_FL_TRUNC, N_("device identifier") },
+ [COL_MODE] = { "MODE", 10, 0, N_("device node permissions") },
+ [COL_NAME] = { "NAME", 0.25, SCOLS_FL_NOEXTREMES, N_("device name") },
+ [COL_OPTIO] = { "OPT-IO", 6, SCOLS_FL_RIGHT, N_("optimal I/O size"), COLTYPE_NUM },
+ [COL_OWNER] = { "OWNER", 0.1, SCOLS_FL_TRUNC, N_("user name"), },
+ [COL_PARTFLAGS] = { "PARTFLAGS", 36, 0, N_("partition flags") },
[COL_PARTLABEL] = { "PARTLABEL", 0.1, 0, N_("partition LABEL") },
- [COL_PARTUUID] = { "PARTUUID", 36, 0, N_("partition UUID") },
- [COL_PARTFLAGS] = { "PARTFLAGS", 36, 0, N_("partition flags") },
-
- [COL_RA] = { "RA", 3, SCOLS_FL_RIGHT, N_("read-ahead of the device"), COLTYPE_NUM },
- [COL_RO] = { "RO", 1, SCOLS_FL_RIGHT, N_("read-only device"), COLTYPE_BOOL },
- [COL_RM] = { "RM", 1, SCOLS_FL_RIGHT, N_("removable device"), COLTYPE_BOOL },
- [COL_HOTPLUG]= { "HOTPLUG", 1, SCOLS_FL_RIGHT, N_("removable or hotplug device (usb, pcmcia, ...)"), COLTYPE_BOOL },
- [COL_ROTA] = { "ROTA", 1, SCOLS_FL_RIGHT, N_("rotational device"), COLTYPE_BOOL },
- [COL_RAND] = { "RAND", 1, SCOLS_FL_RIGHT, N_("adds randomness"), COLTYPE_BOOL },
- [COL_MODEL] = { "MODEL", 0.1, SCOLS_FL_TRUNC, N_("device identifier") },
- [COL_SERIAL] = { "SERIAL", 0.1, SCOLS_FL_TRUNC, N_("disk serial number") },
- [COL_SIZE] = { "SIZE", 5, SCOLS_FL_RIGHT, N_("size of the device"), COLTYPE_SIZE },
- [COL_STATE] = { "STATE", 7, SCOLS_FL_TRUNC, N_("state of the device") },
- [COL_OWNER] = { "OWNER", 0.1, SCOLS_FL_TRUNC, N_("user name"), },
- [COL_GROUP] = { "GROUP", 0.1, SCOLS_FL_TRUNC, N_("group name") },
- [COL_MODE] = { "MODE", 10, 0, N_("device node permissions") },
- [COL_ALIOFF] = { "ALIGNMENT", 6, SCOLS_FL_RIGHT, N_("alignment offset"), COLTYPE_NUM },
- [COL_MINIO] = { "MIN-IO", 6, SCOLS_FL_RIGHT, N_("minimum I/O size"), COLTYPE_NUM },
- [COL_OPTIO] = { "OPT-IO", 6, SCOLS_FL_RIGHT, N_("optimal I/O size"), COLTYPE_NUM },
+ [COL_PARTTYPENAME] = { "PARTTYPENAME", 0.1, 0, N_("partition type name") },
+ [COL_PARTTYPE] = { "PARTTYPE", 36, 0, N_("partition type code or UUID") },
+ [COL_PARTUUID] = { "PARTUUID", 36, 0, N_("partition UUID") },
+ [COL_PATH] = { "PATH", 0.3, 0, N_("path to the device node") },
[COL_PHYSEC] = { "PHY-SEC", 7, SCOLS_FL_RIGHT, N_("physical sector size"), COLTYPE_NUM },
- [COL_LOGSEC] = { "LOG-SEC", 7, SCOLS_FL_RIGHT, N_("logical sector size"), COLTYPE_NUM },
- [COL_SCHED] = { "SCHED", 0.1, 0, N_("I/O scheduler name") },
+ [COL_PKNAME] = { "PKNAME", 0.3, 0, N_("internal parent kernel device name") },
+ [COL_PTTYPE] = { "PTTYPE", 0.1, 0, N_("partition table type") },
+ [COL_PTUUID] = { "PTUUID", 36, 0, N_("partition table identifier (usually UUID)") },
+ [COL_RAND] = { "RAND", 1, SCOLS_FL_RIGHT, N_("adds randomness"), COLTYPE_BOOL },
+ [COL_RA] = { "RA", 3, SCOLS_FL_RIGHT, N_("read-ahead of the device"), COLTYPE_NUM },
+ [COL_REV] = { "REV", 4, SCOLS_FL_RIGHT, N_("device revision") },
+ [COL_RM] = { "RM", 1, SCOLS_FL_RIGHT, N_("removable device"), COLTYPE_BOOL },
+ [COL_ROTA] = { "ROTA", 1, SCOLS_FL_RIGHT, N_("rotational device"), COLTYPE_BOOL },
+ [COL_RO] = { "RO", 1, SCOLS_FL_RIGHT, N_("read-only device"), COLTYPE_BOOL },
[COL_RQ_SIZE]= { "RQ-SIZE", 5, SCOLS_FL_RIGHT, N_("request queue size"), COLTYPE_NUM },
- [COL_TYPE] = { "TYPE", 4, 0, N_("device type") },
- [COL_DALIGN] = { "DISC-ALN", 6, SCOLS_FL_RIGHT, N_("discard alignment offset"), COLTYPE_NUM },
- [COL_DGRAN] = { "DISC-GRAN", 6, SCOLS_FL_RIGHT, N_("discard granularity"), COLTYPE_SIZE },
- [COL_DMAX] = { "DISC-MAX", 6, SCOLS_FL_RIGHT, N_("discard max bytes"), COLTYPE_SIZE },
- [COL_DZERO] = { "DISC-ZERO", 1, SCOLS_FL_RIGHT, N_("discard zeroes data"), COLTYPE_BOOL },
- [COL_WSAME] = { "WSAME", 6, SCOLS_FL_RIGHT, N_("write same max bytes"), COLTYPE_SIZE },
- [COL_WWN] = { "WWN", 18, 0, N_("unique storage identifier") },
- [COL_HCTL] = { "HCTL", 10, 0, N_("Host:Channel:Target:Lun for SCSI") },
- [COL_TRANSPORT] = { "TRAN", 6, 0, N_("device transport type") },
+ [COL_SCHED] = { "SCHED", 0.1, 0, N_("I/O scheduler name") },
+ [COL_SERIAL] = { "SERIAL", 0.1, SCOLS_FL_TRUNC, N_("disk serial number") },
+ [COL_SIZE] = { "SIZE", 5, SCOLS_FL_RIGHT, N_("size of the device"), COLTYPE_SIZE },
+ [COL_START] = { "START", 5, SCOLS_FL_RIGHT, N_("partition start offset"), COLTYPE_NUM },
+ [COL_STATE] = { "STATE", 7, SCOLS_FL_TRUNC, N_("state of the device") },
[COL_SUBSYS] = { "SUBSYSTEMS", 0.1, SCOLS_FL_NOEXTREMES, N_("de-duplicated chain of subsystems") },
- [COL_REV] = { "REV", 4, SCOLS_FL_RIGHT, N_("device revision") },
+ [COL_TARGETS] = { "MOUNTPOINTS", 0.10, SCOLS_FL_WRAP, N_("all locations where device is mounted") },
+ [COL_TARGET] = { "MOUNTPOINT", 0.10, SCOLS_FL_TRUNC, N_("where the device is mounted") },
+ [COL_TRANSPORT] = { "TRAN", 6, 0, N_("device transport type") },
+ [COL_TYPE] = { "TYPE", 4, 0, N_("device type") },
+ [COL_UUID] = { "UUID", 36, 0, N_("filesystem UUID") },
[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 },
+ [COL_WSAME] = { "WSAME", 6, SCOLS_FL_RIGHT, N_("write same max bytes"), COLTYPE_SIZE },
+ [COL_WWN] = { "WWN", 18, 0, N_("unique storage identifier") },
+ [COL_ZONED] = { "ZONED", 0.3, 0, N_("zone model") },
};
struct lsblk *lsblk; /* global handler */