linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: vaughan <vaughan.cao@oracle.com>
To: Mike Christie <michaelc@cs.wisc.edu>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>,
	open-iscsi <open-iscsi@googlegroups.com>,
	SCSI development list <linux-scsi@vger.kernel.org>,
	vaughan <vaughan.cao@oracle.com>
Subject: Re: iSCSI request keep rejected by microsoft iSCSI target because of write_same check
Date: Fri, 10 Jan 2014 16:09:03 +0800	[thread overview]
Message-ID: <52CFAA9F.5010706@oracle.com> (raw)
In-Reply-To: <52CFA440.7030104@cs.wisc.edu>

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;


  reply	other threads:[~2014-01-10  8:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-09 10:20 iSCSI request keep rejected by microsoft iSCSI target because of write_same check vaughan
     [not found] ` <52CE77FB.8020100-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-01-09 18:38   ` Mike Christie
     [not found]     ` <52CEEC97.8050108-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2014-01-09 22:55       ` The Lee-Man
2014-01-10  1:43     ` Martin K. Petersen
2014-01-10  6:11     ` vaughan
     [not found]       ` <52CF8F0C.3040304-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-01-10  7:41         ` Mike Christie
2014-01-10  8:09           ` vaughan [this message]
     [not found]             ` <52CFAA9F.5010706-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-01-10 20:24               ` Mike Christie
2014-01-11  1:22                 ` Vaughan Cao
     [not found]                   ` <52D09CE6.80200-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-12-01  7:25                     ` jazz-jYkeLfz6glqHXe+LvDLADg
     [not found]                       ` <a90377a8-3ef9-4fc2-a3e9-bfff23560674-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2014-12-01  9:01                         ` vaughan
     [not found]                           ` <547C2E4D.1030802-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2014-12-01 18:37                             ` Michael Christie
2014-12-03  3:09                               ` Martin K. Petersen
     [not found]                                 ` <yq17fy9mnsx.fsf-+q57XtR/GgMb6DWv4sQWN6xOck334EZe@public.gmane.org>
2014-12-03 17:08                                   ` Mike Christie
     [not found]                                     ` <547F4387.5010207-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2014-12-03 23:00                                       ` Martin K. Petersen
     [not found]                                         ` <yq1fvcwl4oy.fsf-+q57XtR/GgMb6DWv4sQWN6xOck334EZe@public.gmane.org>
2014-12-03 23:49                                           ` Mike Christie
     [not found]                                             ` <547FA18D.7030706-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2014-12-04  2:20                                               ` Martin K. Petersen
     [not found]           ` <52CFA440.7030104-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2014-01-10  8:29             ` vaughan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52CFAA9F.5010706@oracle.com \
    --to=vaughan.cao@oracle.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=michaelc@cs.wisc.edu \
    --cc=open-iscsi@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).