From d5ca01c0f40ac94a3995d0d63e05cf0d5ef82a8f Mon Sep 17 00:00:00 2001 From: Masatake YAMATO Date: Tue, 21 Mar 2023 02:19:11 +0900 Subject: [PATCH] lsfd: add a helper function for adding a nodev to the nodev_table Signed-off-by: Masatake YAMATO --- misc-utils/lsfd.c | 16 +++++++++------- misc-utils/lsfd.h | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/misc-utils/lsfd.c b/misc-utils/lsfd.c index 513d10d6a6..d9c1a00bc2 100644 --- a/misc-utils/lsfd.c +++ b/misc-utils/lsfd.c @@ -983,6 +983,14 @@ static void free_nodev(struct nodev *nodev) free(nodev); } +void add_nodev(unsigned long minor, const char *filesystem) +{ + struct nodev *nodev = new_nodev(minor, filesystem); + unsigned long slot = nodev->minor % NODEV_TABLE_SIZE; + + list_add_tail(&nodev->nodevs, &nodev_table.tables[slot]); +} + static void initialize_nodevs(void) { int i; @@ -1023,9 +1031,6 @@ static void add_nodevs(FILE *mnt) while (fgets(line, sizeof(line), mnt)) { unsigned long major, minor; char filesystem[256]; - struct nodev *nodev; - int slot; - /* 23 61 0:22 / /sys rw,nosuid,nodev,noexec,relatime shared:2 - sysfs sysfs rw,seclabel */ if(sscanf(line, "%*d %*d %lu:%lu %*s %*s %*s %*[^-] - %s %*[^\n]", @@ -1040,10 +1045,7 @@ static void add_nodevs(FILE *mnt) if (get_nodev_filesystem(minor)) continue; - nodev = new_nodev(minor, filesystem); - slot = minor % NODEV_TABLE_SIZE; - - list_add_tail(&nodev->nodevs, &nodev_table.tables[slot]); + add_nodev(minor, filesystem); } } diff --git a/misc-utils/lsfd.h b/misc-utils/lsfd.h index a0a20e66ef..dc02e30ecb 100644 --- a/misc-utils/lsfd.h +++ b/misc-utils/lsfd.h @@ -231,6 +231,7 @@ const char *get_blkdrv(unsigned long major); const char *get_chrdrv(unsigned long major); const char *get_miscdev(unsigned long minor); const char *get_nodev_filesystem(unsigned long minor); +void add_nodev(unsigned long minor, const char *filesystem); static inline void xstrappend(char **a, const char *b) { -- 2.47.3