]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsfd: add CHRDRV column
authorMasatake YAMATO <yamato@redhat.com>
Fri, 7 May 2021 18:51:25 +0000 (03:51 +0900)
committerKarel Zak <kzak@redhat.com>
Wed, 6 Oct 2021 09:01:53 +0000 (11:01 +0200)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
misc-utils/lsfd-cdev.c
misc-utils/lsfd.c
misc-utils/lsfd.h

index 21b8bde2b2327726cc2eac331bc6afc4e222e1c0..7b36026e1401ac13f32c7b279158a1371d4e2ccb 100644 (file)
@@ -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),
index c82faf038419e7e00525cd0fe0e9e36f76d28d15..7262d193e2e3ef25b12ddbacadfed52d73afb62e 100644 (file)
@@ -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,
index 03be082fc2a079e72057459935581889cf0c6d50..a3a87ff12c07afd0e54a3f253fa3cfb09a256afb 100644 (file)
@@ -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,