FUJITA Tomonori wrote:
My patch was actually supposed to fix #3 and fixing #1 was a side
affect. Will bsg_release still be called when the device is closed. If
so then it may not fix #3 because the bsg_release function still needs
to grab the mutex. Maybe bsg_complete_all_commands just needs to drop
the mutex while it waits for IO to complete.
I don't hit #3 problem. A process holds the mutex and waiting for I/O
completion. But fail_all_commands() makes all the commands fail, the
process releases the mutex and then bsg_unregister_queue is called.
I think what Pete saw was due to the transport class (really block
layer) holding onto the command until recovery is completed. So until
the iscsi recovery timer fires or the session comes back we will wait
for the device to be unblocked and the command to complete. For FC we
would have to wait for fail fast tmo or dev loss tmo depending on the
IO. So #3 does not look like a bsg problem.
--
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