]> git.baikalelectronics.ru Git - kernel.git/commitdiff
fuse: Remove the control interface for virtio-fs
authorXie Yongji <xieyongji@bytedance.com>
Mon, 18 Jul 2022 08:50:12 +0000 (16:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:24:11 +0000 (14:24 +0200)
[ Upstream commit acfc2b9655634211296eed79e71f76407a25d83f ]

The commit d150e2068028 ("fuse: allow skipping control interface and forced
unmount") tries to remove the control interface for virtio-fs since it does
not support aborting requests which are being processed. But it doesn't
work now.

This patch fixes it by skipping creating the control interface if
fuse_conn->no_control is set.

Fixes: d150e2068028 ("fuse: allow skipping control interface and forced unmount")
Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/fuse/control.c

index 000d2e5627e99c677951b42593bd5c055b37a006..79f01d09c78cb80464822693caaaef870edaf252 100644 (file)
@@ -275,7 +275,7 @@ int fuse_ctl_add_conn(struct fuse_conn *fc)
        struct dentry *parent;
        char name[32];
 
-       if (!fuse_control_sb)
+       if (!fuse_control_sb || fc->no_control)
                return 0;
 
        parent = fuse_control_sb->s_root;
@@ -313,7 +313,7 @@ void fuse_ctl_remove_conn(struct fuse_conn *fc)
 {
        int i;
 
-       if (!fuse_control_sb)
+       if (!fuse_control_sb || fc->no_control)
                return;
 
        for (i = fc->ctl_ndents - 1; i >= 0; i--) {