]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
lsfd: add MISCDEV column
authorMasatake YAMATO <yamato@redhat.com>
Fri, 7 May 2021 19:47:23 +0000 (04:47 +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 160a610699f1532ab99dad0fdbea770beca1222e..f84d56324895193d1e0a5618d5dc1e9dc8abd373 100644 (file)
@@ -48,12 +48,25 @@ static bool cdev_fill_column(struct proc *proc __attribute__((__unused__)),
 {
        char *str = NULL;
        const char *chrdrv;
+       const char *miscdev;
 
        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_MISCDEV:
+               chrdrv = get_chrdrv(major(file->stat.st_rdev));
+               if (chrdrv && strcmp(chrdrv, "misc") == 0) {
+                       miscdev = get_miscdev(minor(file->stat.st_rdev));
+                       if (miscdev)
+                               str = strdup(miscdev);
+                       else
+                               xasprintf(&str, "%u",
+                                         minor(file->stat.st_rdev));
+                       break;
+               }
+               return true;
        case COL_CHRDRV:
                chrdrv = get_chrdrv(major(file->stat.st_rdev));
                if (chrdrv)
index 7262d193e2e3ef25b12ddbacadfed52d73afb62e..f0e61b0d449bceb5f9d1136115a6ae85b8d96451 100644 (file)
@@ -107,6 +107,8 @@ static struct colinfo infos[] = {
                N_("file descriptor for the file") },
        [COL_INODE]   = { "INODE",    0, SCOLS_FL_RIGHT, SCOLS_JSON_NUMBER,
                N_("inode number") },
+       [COL_MISCDEV] = { "MISCDEV",  0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING,
+               N_("misc character device name resolved by /procmisc") },
        [COL_MNT_ID]  = { "MNTID",    0, SCOLS_FL_RIGHT, SCOLS_JSON_NUMBER,
                N_("mount id") },
        [COL_MODE]    = { "MODE",     0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING,
index b3e814bc781d96e66338f55c37cfcf65db3f9eb6..24a63c0048067c704b1ae1f5cecdf3507adf23c0 100644 (file)
@@ -60,6 +60,7 @@ enum {
        COL_FD,
        COL_FLAGS,
        COL_INODE,
+       COL_MISCDEV,
        COL_MNT_ID,
        COL_MODE,
        COL_NAME,