On Thu, Nov 3, 2011 at 8:52 PM, Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> wrote: > This patch adds the initial pieces of generic active I/O shutdown logic. > This is intended to be a 'opt-in' feature for fabric modules that > includes the following functions to provide a mechinism for fabric > modules to track se_cmd via se_session->sess_cmd_list: > > *) target_get_sess_cmd() - Add se_cmd to sess->sess_cmd_list, called > from fabric module incoming I/O path. > *) target_put_sess_cmd() - Check for completion or drop se_cmd from > ->sess_cmd_list > *) target_splice_sess_cmd_list() - Splice active I/O list from > ->sess_cmd_list to ->sess_wait_list, can called with HW fabric > lock held. > *) target_wait_for_sess_cmds() - Walk ->sess_wait_list waiting on > individual ->cmd_wait_comp. Optional transport_wait_for_tasks() > call. Why modify each driver ? Why not invoke target_get_sess_cmd() from transport_handle_cdb, target_put_sess_cmd() from transport_generic_free and target_wait_for_sess_cmds() from transport_deregister_session ? Fubo. -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html