[Devel] [PATCH RHEL7 COMMIT] fuse: Check for req->ff in fuse_request_queue_background()
Konstantin Khorenko
khorenko at virtuozzo.com
Mon May 6 15:22:57 MSK 2019
The commit is pushed to "branch-rh7-3.10.0-957.12.1.vz7.95.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-957.12.1.vz7.95.3
------>
commit 6b281cfd6a4f55e20e83ffbe403c2b5f3ff701fb
Author: Kirill Tkhai <ktkhai at virtuozzo.com>
Date: Mon May 6 15:22:55 2019 +0300
fuse: Check for req->ff in fuse_request_queue_background()
A request may have no ff assigned, and such the requests
can't be dropped immediately. E.g.:
[ 9.238630] [<ffffffffb80530d0>] fuse_request_queue_background+0x1d0/0x1e0
[ 9.243064] [<ffffffffb805312e>] fuse_request_send_background+0x4e/0xa0
[ 9.247300] [<ffffffffb8061a71>] fuse_fill_super+0x5f1/0x620
[ 9.253878] [<ffffffffb8061480>] ? fuse_iget+0x1f0/0x1f0
[ 9.261936] [<ffffffffb7ea035f>] mount_nodev+0x4f/0xb0
[ 9.266502] [<ffffffffb805fb3c>] fuse_mount+0x1c/0x90
[ 9.271076] [<ffffffffb7ea0f5a>] mount_fs+0x1a/0xc0
[ 9.275472] [<ffffffffb7ebec47>] vfs_kern_mount+0x67/0x110
[ 9.282489] [<ffffffffb7ec15e1>] do_mount+0x1b1/0xc90
[ 9.290380] [<ffffffffb7ec1350>] ? copy_mount_options+0xc0/0x170
[ 9.295603] [<ffffffffb7ec2403>] SyS_mount+0x83/0xd0
[ 9.300777] [<ffffffffb874adc8>] system_call_fastpath+0x22/0x27
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
---
fs/fuse/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 1958c6e33d79..f9e33a504c70 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -612,7 +612,7 @@ bool fuse_request_queue_background(struct fuse_conn *fc, struct fuse_req *req)
}
__set_bit(FR_ISREPLY, &req->flags);
spin_lock(&fc->bg_lock);
- if (unlikely(test_bit(FUSE_S_FAIL_IMMEDIATELY, &req->ff->ff_state)))
+ if (req->ff && unlikely(test_bit(FUSE_S_FAIL_IMMEDIATELY, &req->ff->ff_state)))
req->out.h.error = -EIO;
else if (likely(fc->connected)) {
fc->num_background++;
More information about the Devel
mailing list