| From f03c6c18ba5ae5d41b5aa0ce3378855dfc7e0676 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 18 Jul 2022 16:50:12 +0800 |
| Subject: fuse: Remove the control interface for virtio-fs |
| |
| From: Xie Yongji <xieyongji@bytedance.com> |
| |
| [ Upstream commit c64797809a64c73497082aa05e401a062ec1af34 ] |
| |
| The commit 15c8e72e88e0 ("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: 15c8e72e88e0 ("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 | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/fs/fuse/control.c b/fs/fuse/control.c |
| index c23f6f243ad4..2742d74cedda 100644 |
| --- a/fs/fuse/control.c |
| +++ b/fs/fuse/control.c |
| @@ -265,7 +265,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; |
| @@ -303,7 +303,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--) { |
| -- |
| 2.35.1 |
| |