Date: Thu, 3 Jan 2013 13:16:13 GMT From: Asiris <asiris@disc-soft.com> To: freebsd-gnats-submit@FreeBSD.org Subject: standards/174938: Problem statement: iSCSI target failure Message-ID: <201301031316.r03DGDRv054348@red.freebsd.org> Resent-Message-ID: <201301031320.r03DK0c8047921@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 174938 >Category: standards >Synopsis: Problem statement: iSCSI target failure >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-standards >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jan 03 13:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Asiris >Release: NAS4Free 9.1.0.1 (revision 531) >Organization: Disc Soft Ltd >Environment: FreeBSD nas4free.local 9.1-RC3 FreeBSD 9.1-RC3 #0 r243187M: Sat Nov 17 21:59:26 JST 2012 root@nas4free.local:/usr/obj/nas4free/usr/src/sys/NAS4FREE-amd64 amd64 >Description: Problem statement: iSCSI target failure Conditions: - FreeNAS 0.7.2 (or/and NAS4Free 9.1.0.1 (revision 531) behaves the same way) - iSCSI target: istgt - the DVD-ROM target created with istgt - the iSCSI initiator creates the session with istgt target - the iSCSI initiator claims the MaxRecvDataSegmentLength=8192 while the session parameter negotiation stage - the iSCSI initiator issues the SET MODE(10) SCSI command with allocation length 0xFFF0 bytes - the istgt immideately aborts the TCP connection (sends FIN) - the istgt logfile contains the messages: freenas istgt[1365]: istgt_lu_dvd.c:3339:istgt_lu_dvd_execute: ***ERROR*** data_alloc_len(8192) too small freenas istgt[1365]: istgt_lu.c:2283:istgt_lu_execute: ***ERROR*** LU2: lu_dvd_execute() failed freenas istgt[1365]: istgt_iscsi.c:3118:istgt_iscsi_op_scsi: ***ERROR*** lu_execute() failed freenas istgt[1365]: istgt_iscsi.c:4400:istgt_iscsi_execute: ***ERROR*** iscsi_op_scsi() failed If the iSCSI initiator claims the MaxRecvDataSegmentLength=65536, the problem disappears. But the small iSCSI segments is not acceptable at all for some iSCSI initiators (e.g. embedded systems with limited amount of memory). >How-To-Repeat: Use embedded systems with limited amount of memory, or simulate MaxRecvDataSegmentLength=8192 >Fix: It is necessary to define at whom the buffer less, and to use with a smaller size >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301031316.r03DGDRv054348>