James Bottomley wrote: > > bios are supposed to be used by filesystems ... they represent the input > to block. In principle, it seems nicer that PC requests deal with pages > as their natural input ... that way we don't have to worry about > exporting the block interfaces for bio->request construction. > This is my point. I'm a filesystem and I want a natural route from bio to request, only with a paradigm shift as you call it. For a filesystem the most natural and comfortable vehicle is a bio. So the interface I would like to have is: struct request *blk_make_request(struct request_queue *, struct bio *, gfp_t); And let block layer take care of it's internals. Off course when crafting above the generic_make_request will use above API so there is absolutely no duplication of code and block layer is free to change as it feels like, only in a single place. >> I will try the blk_rq_map_user, I'm sure it will not be pretty, though. > > Great, thanks ... we can also adjust block interfaces to help. > > James > I'm on it. It's not as bad as I thought, and it should work for what I have now. I'm touching fast-path block layer code though, so we'll have to test it for a long while. I have a gut feeling that I will regret it some day, but we'll cross that bridge when we get there. Thank you for your help and concern. Boaz -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html