[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a5w3ymff.fsf@metaspace.dk>
Date: Tue, 11 Jul 2023 08:23:40 +0200
From: "Andreas Hindborg (Samsung)" <nmi@...aspace.dk>
To: Christoph Hellwig <hch@...radead.org>
Cc: Ming Lei <ming.lei@...hat.com>,
Damien Le Moal <dlemoal@...nel.org>,
open list <linux-kernel@...r.kernel.org>,
"open list:BLOCK LAYER" <linux-block@...r.kernel.org>,
Minwoo Im <minwoo.im.dev@...il.com>,
Matias Bjorling <Matias.Bjorling@....com>,
gost.dev@...sung.com, Jens Axboe <axboe@...nel.dk>,
Aravind Ramesh <Aravind.Ramesh@....com>,
Johannes Thumshirn <jth@...nel.org>,
Hans Holmberg <Hans.Holmberg@....com>
Subject: Re: [PATCH v6 1/3] ublk: add opcode offsets for DRV_IN/DRV_OUT
Christoph Hellwig <hch@...radead.org> writes:
> On Mon, Jul 10, 2023 at 05:27:23PM +0800, Ming Lei wrote:
>> Yes, that is exactly what we are doing.
>>
>> The added macros of UBLK_IO_OP_DRV_IN_START[END] are just for supporting
>> more ublk passthrough commands, and the motivation is for running
>> check(such as buffer direction) in two sides easily.
>>
>> However, I think it is just fine to delay to add it until introducing
>> the 2nd ublk pt command.
>
> The concept of a passthrough command just doesn't make sense for an
> on the wire protocol. It is a linux concept that distinguished between
> the Linux synthetic command like REQ_OP_READ/WRITE/DISCARD etc that are
> well defined and can be used by file systems and other consumers, and
> ways to pass through arbitrary blobs only known by the driver.
Yet most on-the-wire protocols for actual hardware does support this
some way or another. But I agree that for ublk it is probably not
needed. It would probably be easier to talk to the ublk daemon through
other means than passthrough in the block layer.
>
> Anything in a wire protocol needs to be very well defined in that
> protocol completely indpendent of what Linux concept it maps to.
> Especially as the Linux concepts can change, and fairly frequently do.
I somewhat agree in the sense that for consistency, we should either
move zone management commands to the DRV_OUT range OR move report_zones
out of this special range and just next to the zone management
operations. I like the latter option better, and I would love to see the
block layer do the same at some point. It feels backwards that
report_zones get special treatment all over the place.
Best regards,
Andreas
Powered by blists - more mailing lists