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;
next prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.