Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (154 commits)
[SCSI] osd: Remove out-of-tree left overs
[SCSI] libosd: Use REQ_QUIET requests.
[SCSI] osduld: use filp_open() when looking up an osd-device
[SCSI] libosd: Define an osd_dev wrapper to retrieve the request_queue
[SCSI] libosd: osd_req_{read,write} takes a length parameter
[SCSI] libosd: Let _osd_req_finalize_data_integrity receive number of out_bytes
[SCSI] libosd: osd_req_{read,write}_kern new API
[SCSI] libosd: Better printout of OSD target system information
[SCSI] libosd: OSD2r05: Attribute definitions
[SCSI] libosd: OSD2r05: Additional command enums
[SCSI] mpt fusion: fix up doc book comments
[SCSI] mpt fusion: Added support for Broadcast primitives Event handling
[SCSI] mpt fusion: Queue full event handling
[SCSI] mpt fusion: RAID device handling and Dual port Raid support is added
[SCSI] mpt fusion: Put IOC into ready state if it not already in ready state
[SCSI] mpt fusion: Code Cleanup patch
[SCSI] mpt fusion: Rescan SAS topology added
[SCSI] mpt fusion: SAS topology scan changes, expander events
[SCSI] mpt fusion: Firmware event implementation using seperate WorkQueue
[SCSI] mpt fusion: rewrite of ioctl_cmds internal generated function
...
This commit is contained in:
@@ -175,10 +175,4 @@ int exofs_async_op(struct osd_request *or,
|
||||
|
||||
int extract_attr_from_req(struct osd_request *or, struct osd_attr *attr);
|
||||
|
||||
int osd_req_read_kern(struct osd_request *or,
|
||||
const struct osd_obj_id *obj, u64 offset, void *buff, u64 len);
|
||||
|
||||
int osd_req_write_kern(struct osd_request *or,
|
||||
const struct osd_obj_id *obj, u64 offset, void *buff, u64 len);
|
||||
|
||||
#endif /*ifndef __EXOFS_COM_H__*/
|
||||
|
||||
@@ -59,10 +59,9 @@ static void _pcol_init(struct page_collect *pcol, unsigned expected_pages,
|
||||
struct inode *inode)
|
||||
{
|
||||
struct exofs_sb_info *sbi = inode->i_sb->s_fs_info;
|
||||
struct request_queue *req_q = sbi->s_dev->scsi_device->request_queue;
|
||||
|
||||
pcol->sbi = sbi;
|
||||
pcol->req_q = req_q;
|
||||
pcol->req_q = osd_request_queue(sbi->s_dev);
|
||||
pcol->inode = inode;
|
||||
pcol->expected_pages = expected_pages;
|
||||
|
||||
@@ -266,7 +265,7 @@ static int read_exec(struct page_collect *pcol, bool is_sync)
|
||||
goto err;
|
||||
}
|
||||
|
||||
osd_req_read(or, &obj, pcol->bio, i_start);
|
||||
osd_req_read(or, &obj, i_start, pcol->bio, pcol->length);
|
||||
|
||||
if (is_sync) {
|
||||
exofs_sync_op(or, pcol->sbi->s_timeout, oi->i_cred);
|
||||
@@ -522,7 +521,8 @@ static int write_exec(struct page_collect *pcol)
|
||||
|
||||
*pcol_copy = *pcol;
|
||||
|
||||
osd_req_write(or, &obj, pcol_copy->bio, i_start);
|
||||
pcol_copy->bio->bi_rw |= (1 << BIO_RW); /* FIXME: bio_set_dir() */
|
||||
osd_req_write(or, &obj, i_start, pcol_copy->bio, pcol_copy->length);
|
||||
ret = exofs_async_op(or, writepages_done, pcol_copy, oi->i_cred);
|
||||
if (unlikely(ret)) {
|
||||
EXOFS_ERR("write_exec: exofs_async_op() Faild\n");
|
||||
|
||||
@@ -125,29 +125,3 @@ int extract_attr_from_req(struct osd_request *or, struct osd_attr *attr)
|
||||
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
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 (!bio)
|
||||
return -ENOMEM;
|
||||
|
||||
osd_req_read(or, obj, bio, offset);
|
||||
return 0;
|
||||
}
|
||||
|
||||
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 (!bio)
|
||||
return -ENOMEM;
|
||||
|
||||
osd_req_write(or, obj, bio, offset);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user