I guess the problem is that you cannot get much information after "read 0 
bytes" (leading to "Got wrong page")...

>>> vaughan <[email protected]> schrieb am 10.01.2014 um 09:09 in Nachricht
<[email protected]>:
> On 01/10/2014 03:41 PM, Mike Christie wrote:
>> On 1/10/14 12:11 AM, vaughan wrote:
>>> I haven't figure out why it's rejected with "bookmark invalid"(9)
>>> reason, rather than "command not supported". IMO "bookmark invalid" is
>>> used when minor protocol conflict such as final flag not set with
>>> non-write command. However, I haven't find error of this kind in
>>> report_opcode, so I guess it's not supported on the target.
>>>
>>
>> Is it possible to get a wireshark/tcpdump trace? It does not have to
>> be during boot. We just need to see what commands are sent and the
>> response the target is returning.
>>
>> I forgot we know some microsoft iscsi target people. We can just email
>> them with the trace to confirm what is going on with the target. The
>> trace seems to be easier for them than them interpreting linux kernel
>> logs.
> I enabled debug_iscsi_tcp, here is a more detailed log in normal connection.
> Does "conn error (1020)" mean it's target peer who disconnect the
> connection at the same time of reject report_opcode?
> If it is, I think iSCSI boot failure can't be avoided without disable
> write_same check on OEL.
> 
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_recv in 52
> bytes
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_recv read
> 0 bytes status 1
> Dec 17 00:20:17 ol6u4gx64 kernel: sd 7:0:0:0: [sdc] Write Protect is off
> Dec 17 00:20:17 ol6u4gx64 kernel: sd 7:0:0:0: [sdc] Mode Sense: 03 00 00 00
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0:
> iscsi_sw_tcp_send_hdr_prep digest disabled
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0:
> iscsi_sw_tcp_send_hdr_done Header done. Next segment size 0 total_size 0
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_xmit xmit
> 48 bytes
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_recv in 52
> bytes
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_recv read
> 0 bytes status 1
> Dec 17 00:20:17 ol6u4gx64 kernel: sd 7:0:0:0: [sdc] Got wrong page
> Dec 17 00:20:17 ol6u4gx64 kernel: sd 7:0:0:0: [sdc] Assuming drive
> cache: write through
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0:
> iscsi_sw_tcp_send_hdr_prep digest disabled
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0:
> iscsi_sw_tcp_send_hdr_done Header done. Next segment size 0 total_size 0
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_xmit xmit
> 48 bytes
> Dec 17 00:20:17 ol6u4gx64 iscsid: Connection4:0 to [target:
> iqn.1991-05.com.microsoft:test1, portal: 10.182.92.118,3260] through
> [iface: default] is operational now
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_recv in 96
> bytes
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: pdu (op 0x1 itt 0xa)
> rejected. Reason code 0x9
> Dec 17 00:20:17 ol6u4gx64 kernel: rejected iscsi cmd hdr:op 0x1, flags
> 0xc1, itt 0xa, data_length 512 CDB: a3 c 1 12 0 0 0 0 2 0 0 0 0 0 0 0
> Dec 17 00:20:17 ol6u4gx64 kernel: iscsi_handle_reject: return 0
> Dec 17 00:20:17 ol6u4gx64 kernel: __iscsi_complete_pdu:1165:
> iscsi_handle_reject return 0
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_tcp_recv read
> 0 bytes status 1
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: iscsi_sw_sk_state_check
> TCP_CLOSE|TCP_CLOSE_WAIT
> Dec 17 00:20:17 ol6u4gx64 kernel: connection4:0: detected conn error (1020)
> Dec 17 00:20:18 ol6u4gx64 iscsid: Kernel reported iSCSI connection 4:0
> error (1020 - ISCSI_ERR_TCP_CONN_CLOSE: TCP connection closed) state (3)
> 
> "rejected iscsi cmd hdr" line is added for debug as below.
> 
> diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
> 
> index d4b4b36..831786a 100644
> --- a/drivers/scsi/libiscsi.c
> +++ b/drivers/scsi/libiscsi.c
> @@ -993,7 +993,9 @@ static int iscsi_handle_reject(struct iscsi_conn *conn, 
> struct iscsi_hdr *hdr,
>  {
>         struct iscsi_reject *reject = (struct iscsi_reject *)hdr;
>         struct iscsi_hdr rejected_pdu;
> +       struct iscsi_scsi_req rejected_scsi_req;
>         int opcode, rc = 0;
> +       int i;
>  
>         conn->exp_statsn = be32_to_cpu(reject->statsn) + 1;
>  
> @@ -1061,6 +1063,22 @@ static int iscsi_handle_reject(struct iscsi_conn 
> *conn, struct iscsi_hdr *hdr,
>                                   "pdu (op 0x%x itt 0x%x) rejected. Reason "
>                                   "code 0x%x\n", rejected_pdu.opcode,
>                                   rejected_pdu.itt, reject->reason);
> +               if (reject->reason == ISCSI_REASON_BOOKMARK_INVALID &&
> +                   rejected_pdu.opcode == ISCSI_OP_SCSI_CMD) {
> +                       memcpy(&rejected_scsi_req, data, sizeof(struct 
> iscsi_hdr));
> +                       printk("rejected iscsi cmd hdr:"
> +                           "op 0x%x, flags 0x%x, itt 0x%x, data_length %u 
> ",
> +                       rejected_scsi_req.opcode,
> +                       rejected_scsi_req.flags,
> +                       rejected_scsi_req.itt,
> +                       be32_to_cpu(rejected_scsi_req.data_length));
> +                       printk("CDB:");
> +                       for (i = 0; i < ISCSI_CDB_SIZE; i++) {
> +                               printk(" %x", rejected_scsi_req.cdb[i]);
> +                       }
> +                       printk("\n");
> +                       printk("%s: return %d\n", __FUNCTION__, rc);
> +               }
>                 break;
>         }
>         return rc;
> 
> -- 
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/open-iscsi.
> For more options, visit https://groups.google.com/groups/opt_out.


-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to