git.openpandora.org
/
pandora-kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3a5a392
)
libosd: Use new blk_rq_map_kern
author
Boaz Harrosh
<bharrosh@panasas.com>
Sun, 17 May 2009 15:56:17 +0000
(18:56 +0300)
committer
Jens Axboe
<jens.axboe@oracle.com>
Tue, 19 May 2009 10:14:55 +0000
(12:14 +0200)
Now that blk_rq_map_kern will append the buffer onto the
request we can use it easily for adding extra segments
(eg. attributes)
This patch is dependent on a block layer patch titled:
[BLOCK] allow blk_rq_map_kern to append to requests
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/scsi/osd/osd_initiator.c
patch
|
blob
|
history
diff --git
a/drivers/scsi/osd/osd_initiator.c
b/drivers/scsi/osd/osd_initiator.c
index
d178a8b
..
bf66e30
100644
(file)
--- a/
drivers/scsi/osd/osd_initiator.c
+++ b/
drivers/scsi/osd/osd_initiator.c
@@
-826,26
+826,6
@@
int osd_req_add_set_attr_list(struct osd_request *or,
}
EXPORT_SYMBOL(osd_req_add_set_attr_list);
}
EXPORT_SYMBOL(osd_req_add_set_attr_list);
-static int _append_map_kern(struct request *req,
- void *buff, unsigned len, gfp_t flags)
-{
- struct bio *bio;
- int ret;
-
- bio = bio_map_kern(req->q, buff, len, flags);
- if (IS_ERR(bio)) {
- OSD_ERR("Failed bio_map_kern(%p, %d) => %ld\n", buff, len,
- PTR_ERR(bio));
- return PTR_ERR(bio);
- }
- ret = blk_rq_append_bio(req->q, req, bio);
- if (ret) {
- OSD_ERR("Failed blk_rq_append_bio(%p) => %d\n", bio, ret);
- bio_put(bio);
- }
- return ret;
-}
-
static int _req_append_segment(struct osd_request *or,
unsigned padding, struct _osd_req_data_segment *seg,
struct _osd_req_data_segment *last_seg, struct _osd_io_info *io)
static int _req_append_segment(struct osd_request *or,
unsigned padding, struct _osd_req_data_segment *seg,
struct _osd_req_data_segment *last_seg, struct _osd_io_info *io)
@@
-861,14
+841,14
@@
static int _req_append_segment(struct osd_request *or,
else
pad_buff = io->pad_buff;
else
pad_buff = io->pad_buff;
- ret =
_append_map_kern(
io->req, pad_buff, padding,
+ ret =
blk_rq_map_kern(io->req->q,
io->req, pad_buff, padding,
or->alloc_flags);
if (ret)
return ret;
io->total_bytes += padding;
}
or->alloc_flags);
if (ret)
return ret;
io->total_bytes += padding;
}
- ret =
_append_map_kern(
io->req, seg->buff, seg->total_bytes,
+ ret =
blk_rq_map_kern(io->req->q,
io->req, seg->buff, seg->total_bytes,
or->alloc_flags);
if (ret)
return ret;
or->alloc_flags);
if (ret)
return ret;