mapping->writeback_index = index;
 
 out:
-       if (req)
-               ceph_osdc_put_request(req);
+       ceph_osdc_put_request(req);
        ceph_put_snap_context(snapc);
        dout("writepages done, rc = %d\n", rc);
        return rc;
 out_unlock:
        up_write(&mdsc->pool_perm_rwsem);
 
-       if (rd_req)
-               ceph_osdc_put_request(rd_req);
-       if (wr_req)
-               ceph_osdc_put_request(wr_req);
+       ceph_osdc_put_request(rd_req);
+       ceph_osdc_put_request(wr_req);
 out:
        if (!err)
                err = have;
 
 
 void ceph_osdc_put_request(struct ceph_osd_request *req)
 {
-       dout("%s %p (was %d)\n", __func__, req,
-            atomic_read(&req->r_kref.refcount));
-       kref_put(&req->r_kref, ceph_osdc_release_request);
+       if (req) {
+               dout("%s %p (was %d)\n", __func__, req,
+                    atomic_read(&req->r_kref.refcount));
+               kref_put(&req->r_kref, ceph_osdc_release_request);
+       }
 }
 EXPORT_SYMBOL(ceph_osdc_put_request);