fuse: cleanup request_end()
authorMiklos Szeredi <mszeredi@suse.cz>
Wed, 1 Jul 2015 14:26:07 +0000 (16:26 +0200)
committerMiklos Szeredi <mszeredi@suse.cz>
Wed, 1 Jul 2015 14:26:07 +0000 (16:26 +0200)
Now that we atomically test having already done everything we no longer
need other protection.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Reviewed-by: Ashish Samant <ashish.samant@oracle.com>
fs/fuse/dev.c

index cd242fc6a92bde7db31f2a49161c0c30de2d1aea..4e1144a384389576da85cf4ad8d5d18da8bc4f80 100644 (file)
@@ -383,14 +383,12 @@ static void request_end(struct fuse_conn *fc, struct fuse_req *req)
 __releases(fc->lock)
 {
        struct fuse_iqueue *fiq = &fc->iq;
-       void (*end) (struct fuse_conn *, struct fuse_req *) = req->end;
 
        if (test_and_set_bit(FR_FINISHED, &req->flags)) {
                spin_unlock(&fc->lock);
                return;
        }
 
-       req->end = NULL;
        spin_lock(&fiq->waitq.lock);
        list_del_init(&req->intr_entry);
        spin_unlock(&fiq->waitq.lock);
@@ -416,8 +414,8 @@ __releases(fc->lock)
        }
        spin_unlock(&fc->lock);
        wake_up(&req->waitq);
-       if (end)
-               end(fc, req);
+       if (req->end)
+               req->end(fc, req);
        fuse_put_request(fc, req);
 }