Re: [PATCH] target: Fix missing complete during ABORT_TASK + CMD_T_FABRIC_STOP

2016-05-25 Thread Christoph Hellwig
I think the function could be further cut down, given that a) there is no need to take a lock to read a single field b) CMD_T_FABRIC_STOP is never cleared and we can check it later See the incremental patch below: diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_co

[PATCH] target: Fix missing complete during ABORT_TASK + CMD_T_FABRIC_STOP

2016-05-25 Thread Nicholas A. Bellinger
From: Nicholas Bellinger During transport_generic_free_cmd() with a concurrent TMR ABORT_TASK and shutdown CMD_T_FABRIC_STOP bit set, the caller will be blocked on se_cmd->cmd_wait_stop completion until the final kref_put() -> target_release_cmd_kref() has been invoked to call complete(). Howeve