*/
struct rbd_req_status {
int done;
- int rc;
+ s32 rc;
u64 bytes;
};
static void rbd_coll_end_req_index(struct request *rq,
struct rbd_req_coll *coll,
int index,
- int ret, u64 len)
+ s32 ret, u64 len)
{
struct request_queue *q;
int min, max, i;
dout("rbd_coll_end_req_index %p index %d ret %d len %llu\n",
- coll, index, ret, (unsigned long long) len);
+ coll, index, (int)ret, (unsigned long long)len);
if (!rq)
return;
max++;
for (i = min; i<max; i++) {
- __blk_end_request(rq, coll->status[i].rc,
+ __blk_end_request(rq, (int)coll->status[i].rc,
coll->status[i].bytes);
coll->num_done++;
kref_put(&coll->kref, rbd_coll_release);
}
static void rbd_coll_end_req(struct rbd_request *rbd_req,
- int ret, u64 len)
+ s32 ret, u64 len)
{
rbd_coll_end_req_index(rbd_req->rq,
rbd_req->coll, rbd_req->coll_index,
if (!rbd_req) {
if (coll)
rbd_coll_end_req_index(rq, coll, coll_index,
- -ENOMEM, len);
+ (s32)-ENOMEM, len);
return -ENOMEM;
}
bio_chain_put(rbd_req->bio);
ceph_osdc_put_request(osd_req);
done_pages:
- rbd_coll_end_req(rbd_req, ret, len);
+ rbd_coll_end_req(rbd_req, (s32)ret, len);
kfree(rbd_req);
return ret;
}
struct rbd_request *rbd_req = osd_req->r_priv;
struct ceph_osd_reply_head *replyhead;
struct ceph_osd_op *op;
- __s32 rc;
+ s32 rc;
u64 bytes;
int read_op;
replyhead = msg->front.iov_base;
WARN_ON(le32_to_cpu(replyhead->num_ops) == 0);
op = (void *)(replyhead + 1);
- rc = le32_to_cpu(replyhead->result);
+ rc = (s32)le32_to_cpu(replyhead->result);
bytes = le64_to_cpu(op->extent.length);
read_op = (le16_to_cpu(op->op) == CEPH_OSD_OP_READ);
dout("rbd_req_cb bytes=%llu readop=%d rc=%d\n",
(unsigned long long) bytes, read_op, (int) rc);
- if (rc == -ENOENT && read_op) {
+ if (rc == (s32)-ENOENT && read_op) {
zero_bio_chain(rbd_req->bio, 0);
rc = 0;
} else if (rc == 0 && read_op && bytes < rbd_req->len) {
bio_chain, coll, cur_seg);
else
rbd_coll_end_req_index(rq, coll, cur_seg,
- -ENOMEM, chain_size);
+ (s32)-ENOMEM,
+ chain_size);
size -= chain_size;
ofs += chain_size;