]> err.no Git - linux-2.6/blobdiff - fs/fuse/file.c
[PATCH] fuse: simplify locking
[linux-2.6] / fs / fuse / file.c
index 975f2697e866388d5c9e5ad9f80fc75f6e0953a1..3ac39c0288dee4737cba61aa0d9f6f1e0a050ec0 100644 (file)
@@ -397,8 +397,12 @@ static int fuse_readpages(struct file *file, struct address_space *mapping,
                return -EINTR;
 
        err = read_cache_pages(mapping, pages, fuse_readpages_fill, &data);
-       if (!err)
-               fuse_send_readpages(data.req, file, inode);
+       if (!err) {
+               if (data.req->num_pages)
+                       fuse_send_readpages(data.req, file, inode);
+               else
+                       fuse_put_request(fc, data.req);
+       }
        return err;
 }