On 2025-04-17 01:21:08 +0300, Sagi Grimberg wrote:One thing to keep in mind: We cannot hold requests during controller reset. Requests are an index into a statically allocated array from
On 16/04/2025 16:53, Mohamed Khalfella wrote:
On 2025-04-16 10:30:11 +0200, Daniel Wagner wrote:
On Tue, Apr 15, 2025 at 05:40:16PM -0700, Mohamed Khalfella wrote:nvme multipath does not retry passthru commands. That is said, there is
On 2025-04-15 14:17:48 +0200, Daniel Wagner wrote:Good question, but nothing new as far I can tell. If the kernel doesn't
Pasthrough commands should fail immediately. Userland is in charge here,I see your point. Unless I am missing something these requests should be
not the kernel. At least this what should happen here.
held equally to bio requests from multipath layer. Let us say app
submitted write a request that got canceled immediately, how does the app
know when it is safe to retry the write request?
start to retry passthru IO commands, we have to figure out how to pass
additional information to the userland.
nothing prevents userspace from retrying canceled command immediately
resulting in the unwanted behavior these very patches try to address.
userspace can read the controller cqt and implement the retry logic on
its own.
If it doesn't/can't, it should use normal fs io. the driver does not
handle passthru retries.
passthru requests are not very different from normal IO. If the driver
holds normal IO requests to prevent corruption, it should hold passthru
requests too, for the same reason, no?
IMO, keeping the request holding logic in the driver makes more sense
than implementing it in userspace. One reason is that CCR can help
release requests held requests faster.