From: Masatake YAMATO Date: Fri, 7 May 2021 18:51:25 +0000 (+0900) Subject: lsfd: add CHRDRV column X-Git-Tag: v2.38-rc1~144^2~138 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e899f52611cdf9f04193cbfe454f56ffb423ed2;p=thirdparty%2Futil-linux.git lsfd: add CHRDRV column Signed-off-by: Masatake YAMATO --- diff --git a/misc-utils/lsfd-cdev.c b/misc-utils/lsfd-cdev.c index 21b8bde2b2..7b36026e14 100644 --- a/misc-utils/lsfd-cdev.c +++ b/misc-utils/lsfd-cdev.c @@ -40,11 +40,21 @@ static bool cdev_fill_column(struct proc *proc __attribute__((__unused__)), size_t column_index) { char *str = NULL; + const char *chrdrv; + switch(column_id) { case COL_TYPE: if (scols_line_set_data(ln, column_index, "CHR")) err(EXIT_FAILURE, _("failed to add output data")); return true; + case COL_CHRDRV: + chrdrv = get_chrdrv(major(file->stat.st_rdev)); + if (chrdrv) + str = strdup(chrdrv); + else + xasprintf(&str, "%u", + major(file->stat.st_rdev)); + break; case COL_DEVICE: xasprintf(&str, "%u:%u", major(file->stat.st_rdev), diff --git a/misc-utils/lsfd.c b/misc-utils/lsfd.c index c82faf0384..7262d193e2 100644 --- a/misc-utils/lsfd.c +++ b/misc-utils/lsfd.c @@ -91,6 +91,8 @@ struct colinfo { static struct colinfo infos[] = { [COL_ASSOC] = { "ASSOC", 0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING, N_("association between file and process") }, + [COL_CHRDRV] = { "CHRDRV", 0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING, + N_("charcter device driver name resolved by /proc/devices") }, [COL_COMMAND] = { "COMMAND", 15, SCOLS_FL_TRUNC, SCOLS_JSON_STRING, N_("command of the process opening the file") }, [COL_DELETED] = { "DELETED", 0, SCOLS_FL_RIGHT, SCOLS_JSON_BOOLEAN, diff --git a/misc-utils/lsfd.h b/misc-utils/lsfd.h index 03be082fc2..a3a87ff12c 100644 --- a/misc-utils/lsfd.h +++ b/misc-utils/lsfd.h @@ -52,6 +52,7 @@ FILE *fopenf(const char *mode, const char *format, ...) __attribute__((format (p */ enum { COL_ASSOC, + COL_CHRDRV, COL_COMMAND, COL_DELETED, COL_DEVICE,