On Mon, 2006-02-06 at 12:22 -0600, Mike Christie wrote: > I understand. To make this worse, for the target code since we are > mapping data like SG_IO block layer code (we used their functions) we > need process context for the unmap. To handle this we added a work > struct on the scsi_cmnd and the work struct is pretty large and only > used for targets. We can move all the target specific to a: > > scsi_tgt_cmnd { > work; > host; > }; > > And store out scsi_tgt_cmnd in the scsi_cmnd->host_scribble or somewhere > on the SCp. Is that too hacky? Could you take a look at the execute_in_user_context() function I'm hatching to add to the workqueue here: http://marc.theaimsgroup.com/?l=linux-scsi&m=113916262109180&w=2 And see if that would suit your purpose without any additions to scsi_command (probably the data carried would have to be the actual command). James - : 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