From: Masatake YAMATO Date: Mon, 20 Mar 2023 17:19:11 +0000 (+0900) Subject: lsfd: add a helper function for adding a nodev to the nodev_table X-Git-Tag: v2.40-rc1~432^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d5ca01c0f40ac94a3995d0d63e05cf0d5ef82a8f;p=thirdparty%2Futil-linux.git lsfd: add a helper function for adding a nodev to the nodev_table Signed-off-by: Masatake YAMATO --- 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) {