Re: [PATCH 03/14] block: implement blk_rq_map_kern_prealloc()

From: Tejun Heo
Date: Wed Mar 25 2009 - 22:10:32 EST


Hello,

Boaz Harrosh wrote:
> I have a similar, totally unrelated patch queued, perhaps we can unify
> the efforts, to satisfy both our needs in one stone.
>
> I've sent this patch:
> http://www.spinics.net/lists/linux-scsi/msg34082.html
>
> In an effort to un-export blk_rq_append_bio().
>
> Perhaps you could reorder the code below a bit?
>
> My proposal is:
> * blk_rq_map_kern_prealloc => is simplified to be
> int blk_rq_map_bio(struct request_queue *q, struct request *rq,
> struct bio *bio);
>
> * The extra checks currently inside blk_rq_map_kern_prealloc are moved
> to bio_map_kern_prealloc()
>
> * Users call bio_map_kern_prealloc() directly and then use blk_rq_map_bio()
> in a two stage process.
>
> So blk_rq_map_bio becomes a BLOCK_PC command's way of a
> pre-allocated bio the way FS_PC commands use generic_make_request.

Sounds good. I'll make the change.

> Thanks for doing all this. BTW' how close are we to remove req->data
> and req->buffer

Those patches will be going out later today. It will also kill
rq->hard_* and rq->*nr_sectors. Single byte-granual data length for
all along with single way to carray data via bio! :-)

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/