From: Andrew Morton Signed-off-by: Andrew Morton --- block/ll_rw_blk.c | 7 ------- include/scsi/scsi_cmnd.h | 5 +++++ 2 files changed, 5 insertions(+), 7 deletions(-) diff -puN block/ll_rw_blk.c~git-scsi-target-fixup block/ll_rw_blk.c --- a/block/ll_rw_blk.c~git-scsi-target-fixup +++ a/block/ll_rw_blk.c @@ -2825,16 +2825,12 @@ static void init_request_from_bio(struct req->errors = 0; req->hard_sector = req->sector = bio->bi_sector; -<<<<<<< HEAD/block/ll_rw_blk.c req->hard_nr_sectors = req->nr_sectors = bio_sectors(bio); req->current_nr_sectors = req->hard_cur_sectors = bio_cur_sectors(bio); req->nr_phys_segments = bio_phys_segments(req->q, bio); req->nr_hw_segments = bio_hw_segments(req->q, bio); req->buffer = bio_data(bio); /* see ->buffer comment above */ req->bio = req->biotail = bio; -======= - req->waiting = NULL; ->>>>>>> /block/ll_rw_blk.c req->ioprio = bio_prio(bio); req->rq_disk = bio->bi_bdev->bd_disk; req->start_time = jiffies; @@ -3482,12 +3478,9 @@ EXPORT_SYMBOL(end_request); void blk_rq_bio_prep(request_queue_t *q, struct request *rq, struct bio *bio) { -<<<<<<< HEAD/block/ll_rw_blk.c /* first two bits are identical in rq->cmd_flags and bio->bi_rw */ rq->cmd_flags |= (bio->bi_rw & 3); -======= ->>>>>>> /block/ll_rw_blk.c rq->nr_phys_segments = bio_phys_segments(q, bio); rq->nr_hw_segments = bio_hw_segments(q, bio); rq->current_nr_sectors = bio_cur_sectors(bio); diff -puN include/scsi/scsi_cmnd.h~git-scsi-target-fixup include/scsi/scsi_cmnd.h --- a/include/scsi/scsi_cmnd.h~git-scsi-target-fixup +++ a/include/scsi/scsi_cmnd.h @@ -122,14 +122,19 @@ struct scsi_cmnd { unsigned long pid; /* Process ID, starts at 0. Unique per host. */ }; +extern struct scsi_cmnd *scsi_host_get_command(struct Scsi_Host *, + enum dma_data_direction, gfp_t); extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); extern struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *, gfp_t); +extern void scsi_host_put_command(struct Scsi_Host *, struct scsi_cmnd *); extern void scsi_put_command(struct scsi_cmnd *); extern void __scsi_put_command(struct Scsi_Host *, struct scsi_cmnd *, struct device *); extern void scsi_io_completion(struct scsi_cmnd *, unsigned int); extern void scsi_finish_command(struct scsi_cmnd *cmd); extern void scsi_req_abort_cmd(struct scsi_cmnd *cmd); +extern struct scatterlist *scsi_alloc_sgtable(struct scsi_cmnd *, gfp_t); +extern void scsi_free_sgtable(struct scatterlist *, int); extern void *scsi_kmap_atomic_sg(struct scatterlist *sg, int sg_count, size_t *offset, size_t *len); _