James Bottomley wrote:
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).
Yeah it looks that will work for the work struct and scsi_host pointer
we were adding. Thanks. Will convert our code.
-
: 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