fuse: fix background request if not connected
[deliverable/linux.git] / fs / fuse / dev.c
index c8b68ab2e574a86f13fab97f9ed47b14a4e139d6..6aa4803510e7e0df1ad2317c24d781ecd5bfbfd0 100644 (file)
@@ -604,13 +604,16 @@ static void fuse_request_send_nowait_locked(struct fuse_conn *fc,
 
 static void fuse_request_send_nowait(struct fuse_conn *fc, struct fuse_req *req)
 {
+       BUG_ON(!req->end);
        spin_lock(&fc->lock);
        if (fc->connected) {
                fuse_request_send_nowait_locked(fc, req);
                spin_unlock(&fc->lock);
        } else {
+               spin_unlock(&fc->lock);
                req->out.h.error = -ENOTCONN;
-               request_end(fc, req);
+               req->end(fc, req);
+               fuse_put_request(fc, req);
        }
 }
 
This page took 0.037535 seconds and 5 git commands to generate.