Thread (7 messages) 7 messages, 5 authors, 2021-05-19

Re: [PATCH] nvme-fc: clear q_live at beginning of association teardown

From: Sagi Grimberg <sagi@grimberg.me>
Date: 2021-05-13 19:59:44
Also in: linux-nvme

quoted
quoted
The __nvmf_check_ready() routine used to bounce all filesystem io if
the controller state isn't LIVE. However, a later patch changed the
logic so that it rejection ends up being based on the Q live check.
The fc transport has a slightly different sequence from rdma and tcp
for shutting down queues/marking them non-live. FC marks its queue
non-live after aborting all ios and waiting for their termination,
leaving a rather large window for filesystem io to continue to hit the
transport. Unfortunately this resulted in filesystem io or applications
seeing I/O errors.

Change the fc transport to mark the queues non-live at the first
sign of teardown for the association (when i/o is initially terminated).
Sounds like the correct behavior to me, what is the motivation for doing
that only after all I/O was aborted?

And,
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
source evolution over time (rdma/tcp changed how they worked) and the 
need didn't show up earlier based on the earlier checks.
Makes sense...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help