Module Name: src Committed By: riz Date: Tue Jun 12 19:41:26 UTC 2012
Modified Files: src/sys/dev/iscsi [netbsd-6]: iscsi_rcv.c iscsi_send.c Log Message: Pull up following revision(s) (requested by mhitch in ticket #323): sys/dev/iscsi/iscsi_send.c: revision 1.2 sys/dev/iscsi/iscsi_rcv.c: revision 1.2 Fix system freeze when trying to write to a raw iSCSI device with MAXPHYS bytes. Newfs does large writes when initializing the filesystem. First, don't copy the head of a TAILQ to make a copy - the first entry will still point back to the original head. This caused the ccb list to link to itself, resulting in a continous loop processing the same ccb and blocked interrupts. Use TAILQ_CONCAT() to copy the list. Next, the ccb disposition was not set in the ccb when the ccb was throttled, losing the CCBDISP_SCSIPI, so when a throttled ccb was resent, it failed to call scscipi_done(), and left that I/O hanging. I am now able to newfs an iSCSI device, was well as issued large writes using dd. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.1.8.1 src/sys/dev/iscsi/iscsi_rcv.c \ src/sys/dev/iscsi/iscsi_send.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.