On 9/5/18 3:03 PM, Logan Gunthorpe wrote:
On 05/09/18 02:36 PM, Jens Axboe wrote:
> On 9/5/18 2:32 PM, Logan Gunthorpe wrote:
>> On 05/09/18 02:19 PM, Jens Axboe wrote:
>>> On 9/5/18 2:18 PM, Logan Gunthorpe wrote:
>>>> On 05/09/18 02:14 PM, Jens Axboe wrote:
>>>>> But if the caller must absolutely know where the bio will end up,
>>>>> it seems super redundant. So I'd vote for killing this check, it
>>>>> us absolutely nothing and isn't even exhaustive in its current
>>>> Ok, I'll remove it for v6.
>>> Since the drivers needs to know it's doing it right, it might not
>>> hurt to add a sanity check helper for that. Just have the driver
>>> call it, and don't add it in the normal IO submission path.
>> I'm not sure I really see the value in that. It's the same principle in
>> asking the driver to do the WARN: if the developer knew enough to use
>> the special helper, they probably knew well enough to do the rest correctly.
> I don't agree with that at all. It's a "is my request valid"
> it's not some obscure and rarely used functionality. You're making up
> this API right now, if you really want it done for every IO, make it
> part of the p2p submission process. You could even hide it behind a
> debug thing, if you like.
There is no special p2p submission process. In the nvme-of case we are
using the existing process and with the code in blk-core it didn't
change it's process at all. Creating a helper will create one and I can
look at making a pci_p2pdma_submit_bio() for v6; but if the developer
screws up and still calls the regular submit_bio() things will only be
very subtly broken and that won't be obvious.
I'm very sure that something that basic will be caught in review. I
don't care if you wrap the submission or just require the caller to
call some validity helper check first, fwiw.
And I think we're done beating the dead horse at this point.