This commit add fuse connection device id to fdinfo of opened /dev/fuse files. Related discussions can be found at links below. Link: https://lore.kernel.org/all/CAJfpegvEYUgEbpATpQx8NqVR33Mv-VK96C+gbTag1CEUeBqvnA@xxxxxxxxxxxxxx/ Signed-off-by: Chen Linxuan <chenlinxuan@xxxxxxxxxxxxx> --- fs/fuse/dev.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 6dcbaa218b7a1..a36c244e1a0b0 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -23,6 +23,7 @@ #include <linux/swap.h> #include <linux/splice.h> #include <linux/sched.h> +#include <linux/seq_file.h> #define CREATE_TRACE_POINTS #include "fuse_trace.h" @@ -2602,6 +2603,15 @@ static long fuse_dev_ioctl(struct file *file, unsigned int cmd, } } +static void fuse_dev_show_fdinfo(struct seq_file *seq, struct file *file) +{ + struct fuse_dev *fud = fuse_get_dev(file); + if (!fud) + return ; + + seq_printf(seq, "fuse_connection:\t%u\n", fud->fc->dev); +} + const struct file_operations fuse_dev_operations = { .owner = THIS_MODULE, .open = fuse_dev_open, @@ -2617,6 +2627,9 @@ const struct file_operations fuse_dev_operations = { #ifdef CONFIG_FUSE_IO_URING .uring_cmd = fuse_uring_cmd, #endif +#ifdef CONFIG_PROC_FS + .show_fdinfo = fuse_dev_show_fdinfo, +#endif }; EXPORT_SYMBOL_GPL(fuse_dev_operations); -- 2.43.0