Re: Question: Where are scsi commands encapsulated?

2020-01-21 Thread Bobby
Hi Chris,

very good explanation. Can you also please tell where does scsi-mq 
(multi-queue) comes into play in this flow? Where exactly one can see 
multi-queue in the code?

Thanks !

On Thursday, June 2, 2016 at 12:27:32 AM UTC+2, Chris Leech wrote:
>
> On Fri, May 20, 2016 at 06:33:25PM -0500, hao wen wrote: 
> > Hi Chris, 
> > 
> > Thank you for you reply. 
> > Just to be specific, can I get the scsi commands and try to do some 
> process 
> > on it in function like iscsi_data_xmit*(struct* iscsi_conn ***conn*) 
> *before 
> > the scsi commands are finally transmitted to the iscsi target? 
>
> Look at the .queuecommand field in the scsi_host_template used by your 
> driver, it will point to the top level function that takes commands from 
> the SCSI midlayer to send to the target. 
>
> For iscsi_tcp, that's iscsi_queuecommand.  You can follow the calls down 
> from there, but that's the interface where SCSI transports take 
> commands. 
>
> - Chris 
>
> > 2016-05-20 18:18 GMT-05:00 Chris Leech >: 
>
> > 
> > > On Mon, May 09, 2016 at 08:32:54AM -0700, whls...@gmail.com 
>  wrote: 
> > > > Hi, 
> > > > 
> > > > I am recently looking into the process of iSCSI initiator. I wonder 
> where 
> > > > the source codes are that receive the scsi commands and encapsulate 
> them 
> > > > into iscsi format. I have walked through the interaction between 
> iscsiadm 
> > > > and iscsid, but I did find that. I thought it may be written in 
> qtask 
> > > > structure, but it seems the payload_len is never set within the 
> code. 
> > > > 
> > > > Could anyone help answer this question? 
> > > 
> > > The userspace tools only handle iSCSI session management tasks.  The 
> > > SCSI command handling is done in the Linux kernel drivers, which 
> > > interact with the kernel SCSI subsystem. 
> > > 
> > > - Chris 
> > > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "open-iscsi" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to open-...@googlegroups.com . 
> > To post to this group, send email to open-...@googlegroups.com 
> . 
> > Visit this group at https://groups.google.com/group/open-iscsi. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/open-iscsi/a3b2b411-3138-43e4-aeaa-be026c70a95d%40googlegroups.com.


Re: Question: Where are scsi commands encapsulated?

2016-06-01 Thread Chris Leech
On Fri, May 20, 2016 at 06:33:25PM -0500, hao wen wrote:
> Hi Chris,
> 
> Thank you for you reply.
> Just to be specific, can I get the scsi commands and try to do some process
> on it in function like iscsi_data_xmit*(struct* iscsi_conn ***conn*) *before
> the scsi commands are finally transmitted to the iscsi target?

Look at the .queuecommand field in the scsi_host_template used by your
driver, it will point to the top level function that takes commands from
the SCSI midlayer to send to the target.

For iscsi_tcp, that's iscsi_queuecommand.  You can follow the calls down
from there, but that's the interface where SCSI transports take
commands.

- Chris

> 2016-05-20 18:18 GMT-05:00 Chris Leech :
> 
> > On Mon, May 09, 2016 at 08:32:54AM -0700, whls.j...@gmail.com wrote:
> > > Hi,
> > >
> > > I am recently looking into the process of iSCSI initiator. I wonder where
> > > the source codes are that receive the scsi commands and encapsulate them
> > > into iscsi format. I have walked through the interaction between iscsiadm
> > > and iscsid, but I did find that. I thought it may be written in qtask
> > > structure, but it seems the payload_len is never set within the code.
> > >
> > > Could anyone help answer this question?
> >
> > The userspace tools only handle iSCSI session management tasks.  The
> > SCSI command handling is done in the Linux kernel drivers, which
> > interact with the kernel SCSI subsystem.
> >
> > - Chris
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "open-iscsi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to open-iscsi+unsubscr...@googlegroups.com.
> To post to this group, send email to open-iscsi@googlegroups.com.
> Visit this group at https://groups.google.com/group/open-iscsi.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.


Re: Question: Where are scsi commands encapsulated?

2016-05-20 Thread hao wen
Hi Chris,

Thank you for you reply.
Just to be specific, can I get the scsi commands and try to do some process
on it in function like iscsi_data_xmit*(struct* iscsi_conn ***conn*) *before
the scsi commands are finally transmitted to the iscsi target?

Thanks

2016-05-20 18:18 GMT-05:00 Chris Leech :

> On Mon, May 09, 2016 at 08:32:54AM -0700, whls.j...@gmail.com wrote:
> > Hi,
> >
> > I am recently looking into the process of iSCSI initiator. I wonder where
> > the source codes are that receive the scsi commands and encapsulate them
> > into iscsi format. I have walked through the interaction between iscsiadm
> > and iscsid, but I did find that. I thought it may be written in qtask
> > structure, but it seems the payload_len is never set within the code.
> >
> > Could anyone help answer this question?
>
> The userspace tools only handle iSCSI session management tasks.  The
> SCSI command handling is done in the Linux kernel drivers, which
> interact with the kernel SCSI subsystem.
>
> - Chris
>

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.


Re: Question: Where are scsi commands encapsulated?

2016-05-20 Thread Chris Leech
On Mon, May 09, 2016 at 08:32:54AM -0700, whls.j...@gmail.com wrote:
> Hi,
> 
> I am recently looking into the process of iSCSI initiator. I wonder where 
> the source codes are that receive the scsi commands and encapsulate them 
> into iscsi format. I have walked through the interaction between iscsiadm 
> and iscsid, but I did find that. I thought it may be written in qtask 
> structure, but it seems the payload_len is never set within the code.
> 
> Could anyone help answer this question?

The userspace tools only handle iSCSI session management tasks.  The
SCSI command handling is done in the Linux kernel drivers, which
interact with the kernel SCSI subsystem.

- Chris

-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to open-iscsi+unsubscr...@googlegroups.com.
To post to this group, send email to open-iscsi@googlegroups.com.
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.