Re: [PATCH 2/3] block: unexport blk_rq_append_bio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux