osd_req_op_extent_init(osd_req, 0, opcode, offset, length,
                                                0, 0);
-               osd_req_op_extent_osd_data_bio(osd_req, 0, write_request,
+               osd_req_op_extent_osd_data_bio(osd_req, 0,
                                obj_request->bio_list, obj_request->length);
                rbd_osd_req_format(obj_request, write_request);
 
 
        osd_req_op_extent_init(obj_request->osd_req, 0, CEPH_OSD_OP_READ,
                                        offset, length, 0, 0);
-       osd_req_op_extent_osd_data_pages(obj_request->osd_req, 0, false,
+       osd_req_op_extent_osd_data_pages(obj_request->osd_req, 0,
                                        obj_request->pages,
                                        obj_request->length,
                                        obj_request->offset & ~PAGE_MASK,
 
        dout("finish_read %p req %p rc %d bytes %d\n", inode, req, rc, bytes);
 
        /* unlock all pages, zeroing any data we didn't read */
-       osd_data = osd_req_op_extent_osd_data(req, 0, false);
+       osd_data = osd_req_op_extent_osd_data(req, 0);
        BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_PAGES);
        num_pages = calc_pages_for((u64)osd_data->alignment,
                                        (u64)osd_data->length);
                }
                pages[i] = page;
        }
-       osd_req_op_extent_osd_data_pages(req, 0, false, pages, len, 0,
-                                       false, false);
+       osd_req_op_extent_osd_data_pages(req, 0, pages, len, 0, false, false);
        req->r_callback = finish_read;
        req->r_inode = inode;
 
        long writeback_stat;
        unsigned issued = ceph_caps_issued(ci);
 
-       osd_data = osd_req_op_extent_osd_data(req, 0, true);
+       osd_data = osd_req_op_extent_osd_data(req, 0);
        BUG_ON(osd_data->type != CEPH_OSD_DATA_TYPE_PAGES);
        num_pages = calc_pages_for((u64)osd_data->alignment,
                                        (u64)osd_data->length);
                dout("writepages got %d pages at %llu~%llu\n",
                     locked_pages, offset, len);
 
-               osd_req_op_extent_osd_data_pages(req, 0, true, pages, len, 0,
+               osd_req_op_extent_osd_data_pages(req, 0, pages, len, 0,
                                                        !!pool, false);
 
                pages = NULL;   /* request message now owns the pages array */
 
                        own_pages = true;
                }
        }
-       osd_req_op_extent_osd_data_pages(req, 0, true, pages, len,
-                                       page_align, false, own_pages);
+       osd_req_op_extent_osd_data_pages(req, 0, pages, len, page_align,
+                                       false, own_pages);
 
        /* BUG_ON(vino.snap != CEPH_NOSNAP); */
        ceph_osdc_build_request(req, pos, snapc, vino.snap, &mtime);
 
 
 extern struct ceph_osd_data *osd_req_op_extent_osd_data(
                                        struct ceph_osd_request *osd_req,
-                                       unsigned int which, bool write_request);
+                                       unsigned int which);
 extern struct ceph_osd_data *osd_req_op_cls_response_data(
                                        struct ceph_osd_request *osd_req,
                                        unsigned int which);
 
 extern void osd_req_op_extent_osd_data_pages(struct ceph_osd_request *,
-                                       unsigned int which, bool write_request,
+                                       unsigned int which,
                                        struct page **pages, u64 length,
                                        u32 alignment, bool pages_from_pool,
                                        bool own_pages);
 extern void osd_req_op_extent_osd_data_pagelist(struct ceph_osd_request *,
-                                       unsigned int which, bool write_request,
+                                       unsigned int which,
                                        struct ceph_pagelist *pagelist);
 #ifdef CONFIG_BLOCK
 extern void osd_req_op_extent_osd_data_bio(struct ceph_osd_request *,
-                                       unsigned int which, bool write_request,
+                                       unsigned int which,
                                        struct bio *bio, size_t bio_length);
 #endif /* CONFIG_BLOCK */
 
 
 
 struct ceph_osd_data *
 osd_req_op_extent_osd_data(struct ceph_osd_request *osd_req,
-                       unsigned int which, bool write_request)
+                       unsigned int which)
 {
        BUG_ON(which >= osd_req->r_num_ops);
 
 EXPORT_SYMBOL(osd_req_op_cls_response_data);   /* ??? */
 
 void osd_req_op_extent_osd_data_pages(struct ceph_osd_request *osd_req,
-                       unsigned int which, bool write_request,
-                       struct page **pages, u64 length, u32 alignment,
+                       unsigned int which, struct page **pages,
+                       u64 length, u32 alignment,
                        bool pages_from_pool, bool own_pages)
 {
        struct ceph_osd_data *osd_data;
 
-       osd_data = osd_req_op_extent_osd_data(osd_req, which, write_request);
+       osd_data = osd_req_op_extent_osd_data(osd_req, which);
        ceph_osd_data_pages_init(osd_data, pages, length, alignment,
                                pages_from_pool, own_pages);
 }
 EXPORT_SYMBOL(osd_req_op_extent_osd_data_pages);
 
 void osd_req_op_extent_osd_data_pagelist(struct ceph_osd_request *osd_req,
-                       unsigned int which, bool write_request,
-                       struct ceph_pagelist *pagelist)
+                       unsigned int which, struct ceph_pagelist *pagelist)
 {
        struct ceph_osd_data *osd_data;
 
-       osd_data = osd_req_op_extent_osd_data(osd_req, which, write_request);
+       osd_data = osd_req_op_extent_osd_data(osd_req, which);
        ceph_osd_data_pagelist_init(osd_data, pagelist);
 }
 EXPORT_SYMBOL(osd_req_op_extent_osd_data_pagelist);
 
 #ifdef CONFIG_BLOCK
 void osd_req_op_extent_osd_data_bio(struct ceph_osd_request *osd_req,
-                       unsigned int which, bool write_request,
-                       struct bio *bio, size_t bio_length)
+                       unsigned int which, struct bio *bio, size_t bio_length)
 {
        struct ceph_osd_data *osd_data;
-
-       osd_data = osd_req_op_extent_osd_data(osd_req, which, write_request);
+       osd_data = osd_req_op_extent_osd_data(osd_req, which);
        ceph_osd_data_bio_init(osd_data, bio, bio_length);
 }
 EXPORT_SYMBOL(osd_req_op_extent_osd_data_bio);
 
        /* it may be a short read due to an object boundary */
 
-       osd_req_op_extent_osd_data_pages(req, 0, false,
+       osd_req_op_extent_osd_data_pages(req, 0,
                                pages, *plen, page_align, false, false);
 
        dout("readpages  final extent is %llu~%llu (%llu bytes align %d)\n",
                return PTR_ERR(req);
 
        /* it may be a short write due to an object boundary */
-       osd_req_op_extent_osd_data_pages(req, 0, true, pages, len, page_align,
+       osd_req_op_extent_osd_data_pages(req, 0, pages, len, page_align,
                                false, false);
        dout("writepages %llu~%llu (%llu bytes)\n", off, len, len);
 
                 * XXX page data.  Probably OK for reads, but this
                 * XXX ought to be done more generally.
                 */
-               osd_data = osd_req_op_extent_osd_data(req, 0, false);
+               osd_data = osd_req_op_extent_osd_data(req, 0);
                if (osd_data->type == CEPH_OSD_DATA_TYPE_PAGES) {
                        if (osd_data->pages &&
                                unlikely(osd_data->length < data_len)) {