]> www.infradead.org Git - users/hch/misc.git/commitdiff
fuse: clear FR_PENDING if abort is detected when sending request
authorMiklos Szeredi <mszeredi@redhat.com>
Tue, 24 Sep 2024 08:47:23 +0000 (10:47 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Tue, 24 Sep 2024 08:56:09 +0000 (10:56 +0200)
The (!fiq->connected) check was moved into the queuing method resulting in
the following:

Fixes: 5de8acb41c86 ("fuse: cleanup request queuing towards virtiofs")
Reported-by: Lai, Yi <yi1.lai@linux.intel.com>
Closes: https://lore.kernel.org/all/ZvFEAM6JfrBKsOU0@ly-workstation/
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/dev.c

index cdf925e0b317b486abf494bf1a57f2922d6df543..53c4569d85a40e2b61db5dea23f115e7c81f45fc 100644 (file)
@@ -295,6 +295,7 @@ static void fuse_dev_queue_req(struct fuse_iqueue *fiq, struct fuse_req *req)
        } else {
                spin_unlock(&fiq->lock);
                req->out.h.error = -ENOTCONN;
+               clear_bit(FR_PENDING, &req->flags);
                fuse_request_end(req);
        }
 }