Commit 0e35afbc8b054e04a35faa796c72abb3b82bd33b

Authored by Boaz Harrosh
Committed by James Bottomley
1 parent de6b20385b

[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>

Showing 4 changed files with 32 additions and 32 deletions Side-by-side Diff

drivers/scsi/osd/osd_initiator.c
... ... @@ -789,6 +789,20 @@
789 789 }
790 790 EXPORT_SYMBOL(osd_req_write);
791 791  
  792 +int osd_req_write_kern(struct osd_request *or,
  793 + const struct osd_obj_id *obj, u64 offset, void* buff, u64 len)
  794 +{
  795 + struct request_queue *req_q = or->osd_dev->scsi_device->request_queue;
  796 + struct bio *bio = bio_map_kern(req_q, buff, len, GFP_KERNEL);
  797 +
  798 + if (IS_ERR(bio))
  799 + return PTR_ERR(bio);
  800 +
  801 + osd_req_write(or, obj, bio, offset);
  802 + return 0;
  803 +}
  804 +EXPORT_SYMBOL(osd_req_write_kern);
  805 +
792 806 /*TODO: void osd_req_append(struct osd_request *,
793 807 const struct osd_obj_id *, struct bio *data_out); */
794 808 /*TODO: void osd_req_create_write(struct osd_request *,
... ... @@ -823,6 +837,20 @@
823 837 or->in.total_bytes = bio->bi_size;
824 838 }
825 839 EXPORT_SYMBOL(osd_req_read);
  840 +
  841 +int osd_req_read_kern(struct osd_request *or,
  842 + const struct osd_obj_id *obj, u64 offset, void* buff, u64 len)
  843 +{
  844 + struct request_queue *req_q = or->osd_dev->scsi_device->request_queue;
  845 + struct bio *bio = bio_map_kern(req_q, buff, len, GFP_KERNEL);
  846 +
  847 + if (IS_ERR(bio))
  848 + return PTR_ERR(bio);
  849 +
  850 + osd_req_read(or, obj, bio, offset);
  851 + return 0;
  852 +}
  853 +EXPORT_SYMBOL(osd_req_read_kern);
826 854  
827 855 void osd_req_get_attributes(struct osd_request *or,
828 856 const struct osd_obj_id *obj)
... ... @@ -175,11 +175,5 @@
175 175  
176 176 int extract_attr_from_req(struct osd_request *or, struct osd_attr *attr);
177 177  
178   -int osd_req_read_kern(struct osd_request *or,
179   - const struct osd_obj_id *obj, u64 offset, void *buff, u64 len);
180   -
181   -int osd_req_write_kern(struct osd_request *or,
182   - const struct osd_obj_id *obj, u64 offset, void *buff, u64 len);
183   -
184 178 #endif /*ifndef __EXOFS_COM_H__*/
... ... @@ -125,30 +125,4 @@
125 125  
126 126 return -EIO;
127 127 }
128   -
129   -int osd_req_read_kern(struct osd_request *or,
130   - const struct osd_obj_id *obj, u64 offset, void* buff, u64 len)
131   -{
132   - struct request_queue *req_q = or->osd_dev->scsi_device->request_queue;
133   - struct bio *bio = bio_map_kern(req_q, buff, len, GFP_KERNEL);
134   -
135   - if (!bio)
136   - return -ENOMEM;
137   -
138   - osd_req_read(or, obj, bio, offset);
139   - return 0;
140   -}
141   -
142   -int osd_req_write_kern(struct osd_request *or,
143   - const struct osd_obj_id *obj, u64 offset, void* buff, u64 len)
144   -{
145   - struct request_queue *req_q = or->osd_dev->scsi_device->request_queue;
146   - struct bio *bio = bio_map_kern(req_q, buff, len, GFP_KERNEL);
147   -
148   - if (!bio)
149   - return -ENOMEM;
150   -
151   - osd_req_write(or, obj, bio, offset);
152   - return 0;
153   -}
include/scsi/osd_initiator.h
... ... @@ -364,6 +364,8 @@
364 364  
365 365 void osd_req_write(struct osd_request *or,
366 366 const struct osd_obj_id *, struct bio *data_out, u64 offset);
  367 +int osd_req_write_kern(struct osd_request *or,
  368 + const struct osd_obj_id *obj, u64 offset, void *buff, u64 len);
367 369 void osd_req_append(struct osd_request *or,
368 370 const struct osd_obj_id *, struct bio *data_out);/* NI */
369 371 void osd_req_create_write(struct osd_request *or,
... ... @@ -379,6 +381,8 @@
379 381  
380 382 void osd_req_read(struct osd_request *or,
381 383 const struct osd_obj_id *, struct bio *data_in, u64 offset);
  384 +int osd_req_read_kern(struct osd_request *or,
  385 + const struct osd_obj_id *obj, u64 offset, void *buff, u64 len);
382 386  
383 387 /*
384 388 * Root/Partition/Collection/Object Attributes commands