[SCSI] libosd: osd_req_{read,write}_kern new API
By popular demand, define usefull wrappers for osd_req_read/write that recieve kernel pointers. All users had their own. Also remove these from exofs Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
这个提交包含在:
@@ -789,6 +789,20 @@ void osd_req_write(struct osd_request *or,
|
||||
}
|
||||
EXPORT_SYMBOL(osd_req_write);
|
||||
|
||||
int osd_req_write_kern(struct osd_request *or,
|
||||
const struct osd_obj_id *obj, u64 offset, void* buff, u64 len)
|
||||
{
|
||||
struct request_queue *req_q = or->osd_dev->scsi_device->request_queue;
|
||||
struct bio *bio = bio_map_kern(req_q, buff, len, GFP_KERNEL);
|
||||
|
||||
if (IS_ERR(bio))
|
||||
return PTR_ERR(bio);
|
||||
|
||||
osd_req_write(or, obj, bio, offset);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(osd_req_write_kern);
|
||||
|
||||
/*TODO: void osd_req_append(struct osd_request *,
|
||||
const struct osd_obj_id *, struct bio *data_out); */
|
||||
/*TODO: void osd_req_create_write(struct osd_request *,
|
||||
@@ -824,6 +838,20 @@ void osd_req_read(struct osd_request *or,
|
||||
}
|
||||
EXPORT_SYMBOL(osd_req_read);
|
||||
|
||||
int osd_req_read_kern(struct osd_request *or,
|
||||
const struct osd_obj_id *obj, u64 offset, void* buff, u64 len)
|
||||
{
|
||||
struct request_queue *req_q = or->osd_dev->scsi_device->request_queue;
|
||||
struct bio *bio = bio_map_kern(req_q, buff, len, GFP_KERNEL);
|
||||
|
||||
if (IS_ERR(bio))
|
||||
return PTR_ERR(bio);
|
||||
|
||||
osd_req_read(or, obj, bio, offset);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(osd_req_read_kern);
|
||||
|
||||
void osd_req_get_attributes(struct osd_request *or,
|
||||
const struct osd_obj_id *obj)
|
||||
{
|
||||
|
在新工单中引用
屏蔽一个用户