The NetBSD Project

CVS log for src/sys/dev/iscsi/iscsi_send.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / iscsi

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.39.4.1 / (download) - annotate - [select for diffs], Mon Dec 18 14:15:58 2023 UTC (3 months, 4 weeks ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2
Changes since 1.39: +46 -8 lines
Diff to previous 1.39 (colored) next main 1.40 (colored)

Pull up following revision(s) (requested by mlelstv in ticket #505):

	sys/dev/iscsi/iscsi_utils.c: revision 1.29
	sys/dev/iscsi/iscsi.h: revision 1.5
	sys/dev/iscsi/iscsi_ioctl.c: revision 1.34
	sys/dev/iscsi/iscsi_globals.h: revision 1.28
	sys/dev/iscsi/iscsi_text.c: revision 1.14
	sys/dev/iscsi/iscsi_send.c: revision 1.40

Adapt to bignum representation of target.

Fix negotiation for mutual authentication.

Prepare for more CHAP types.

Fix crashes for invalid socket descriptors passed to kernel.

Protect usecount with connection mutex, avoids race on connection close.

Minor cosmetics.

Revision 1.40 / (download) - annotate - [select for diffs], Sat Nov 25 10:08:27 2023 UTC (4 months, 3 weeks ago) by mlelstv
Branch: MAIN
CVS Tags: HEAD
Changes since 1.39: +46 -8 lines
Diff to previous 1.39 (colored)

Adapt to bignum representation of target.
Fix negotiation for mutual authentication.
Prepare for more CHAP types.
Fix crashes for invalid socket descriptors passed to kernel.
Protect usecount with connection mutex, avoids race on connection close.
Minor cosmetics.

Revision 1.39 / (download) - annotate - [select for diffs], Tue Sep 13 13:09:16 2022 UTC (19 months ago) by mlelstv
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC1, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.38: +52 -19 lines
Diff to previous 1.38 (colored)

kill_session now uses the session id to avoid stale session pointers.
protect network socket with rwlock to handle recconnects.
always take over socket from iscsid to prevent leaks.
keep a good connection alive.
don't forget child device when config_detach fails.
fix locking when reassigning CCBs.
pducount is protected by lock, no need for atomic.
some code rework, refined debug messages.

Revision 1.37.22.1 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:28 2021 UTC (2 years, 10 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.37: +3 -2 lines
Diff to previous 1.37 (colored) next main 1.38 (colored)

Sync w/ HEAD.

Revision 1.37.26.1 / (download) - annotate - [select for diffs], Sun Jun 6 20:30:52 2021 UTC (2 years, 10 months ago) by cjep
Branch: cjep_sun2x
Changes since 1.37: +3 -2 lines
Diff to previous 1.37 (colored) next main 1.38 (colored)

sync with head

Revision 1.38 / (download) - annotate - [select for diffs], Sun Jun 6 10:39:10 2021 UTC (2 years, 10 months ago) by mlelstv
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, cjep_sun2x-base1
Changes since 1.37: +3 -2 lines
Diff to previous 1.37 (colored)

Schedule command timeout without connection lock being held to prevent
a deadlock.

Revision 1.34.6.2 / (download) - annotate - [select for diffs], Mon Apr 9 15:58:52 2018 UTC (6 years ago) by bouyer
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1
Changes since 1.34.6.1: +5 -2 lines
Diff to previous 1.34.6.1 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored)

Pull up following revision(s) (requested by mlelstv in ticket #709):
	sys/dev/iscsi/iscsi_send.c: revision 1.37 via patch
	sys/dev/iscsi/iscsi_rcv.c: revision 1.25 via patch
Return temporary errors when the session is trying to recover the last
connection. The scsipi layer will retry.
Add sanity check.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Mar 4 07:39:45 2018 UTC (6 years, 1 month ago) by mlelstv
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, jdolecek-ncqfixes-base, jdolecek-ncqfixes, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, cjep_sun2x-base, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: thorpej-i2c-spi-conf, cjep_sun2x
Changes since 1.36: +5 -2 lines
Diff to previous 1.36 (colored)

Return temporary errors when the session is trying to recover the last
connection. The scsipi layer will retry.

Revision 1.34.6.1 / (download) - annotate - [select for diffs], Thu Dec 21 19:17:43 2017 UTC (6 years, 3 months ago) by snj
Branch: netbsd-8
Changes since 1.34: +9 -3 lines
Diff to previous 1.34 (colored)

Pull up following revision(s) (requested by mlelstv in ticket #437):
	sys/dev/iscsi/iscsi_ioctl.c: 1.26-1.27
	sys/dev/iscsi/iscsi_main.c: 1.26
	sys/dev/iscsi/iscsi_send.c: 1.35
Fix session cleanup.
--
add debug messages
-
use same lock for ref/deref.
--
unreference session only for responses to SCSI commands.

Revision 1.36 / (download) - annotate - [select for diffs], Sun Dec 3 19:07:10 2017 UTC (6 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.35: +418 -418 lines
Diff to previous 1.35 (colored)

- add a prefix to struct members (but not the ioctl ones because they affect
  the API)
- use consistent variable names.

Revision 1.7.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:05 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.7.2.1: +199 -190 lines
Diff to previous 1.7.2.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

update from HEAD

Revision 1.35 / (download) - annotate - [select for diffs], Sun Dec 3 07:23:12 2017 UTC (6 years, 4 months ago) by mlelstv
Branch: MAIN
Changes since 1.34: +9 -3 lines
Diff to previous 1.34 (colored)

add debug messages

Revision 1.10.2.5 / (download) - annotate - [select for diffs], Mon Aug 28 17:52:04 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.10.2.4: +4 -7 lines
Diff to previous 1.10.2.4 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored)

Sync with HEAD

Revision 1.32.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:46 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.32: +4 -7 lines
Diff to previous 1.32 (colored) next main 1.33 (colored)

Sync with HEAD

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:28 2017 UTC (7 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.31.2.1: +4 -7 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Sync with HEAD

Revision 1.34 / (download) - annotate - [select for diffs], Sat Feb 25 12:03:57 2017 UTC (7 years, 1 month ago) by mlelstv
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: netbsd-8
Changes since 1.33: +1 -7 lines
Diff to previous 1.33 (colored)

Use correct lock for session wakeup.

Revision 1.10.2.4 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:28 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.10.2.3: +17 -11 lines
Diff to previous 1.10.2.3 (colored) to branchpoint 1.10 (colored)

Sync with HEAD

Revision 1.33 / (download) - annotate - [select for diffs], Sun Feb 5 12:05:46 2017 UTC (7 years, 2 months ago) by mlelstv
Branch: MAIN
Changes since 1.32: +4 -1 lines
Diff to previous 1.32 (colored)

Destroy callouts when cleaning up.

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:32 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.31: +17 -11 lines
Diff to previous 1.31 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.32 / (download) - annotate - [select for diffs], Sun Dec 25 06:55:28 2016 UTC (7 years, 3 months ago) by mlelstv
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.31: +17 -11 lines
Diff to previous 1.31 (colored)

Lock correctly around CV calls.
Fix handling of session termination.
Enable MPSAFE processing for scsipi.

Revision 1.10.2.3 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:03 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.10.2.2: +172 -131 lines
Diff to previous 1.10.2.2 (colored) to branchpoint 1.10 (colored)

Sync with HEAD

Revision 1.31 / (download) - annotate - [select for diffs], Wed Jun 15 04:30:30 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, localcount-20160914
Branch point for: pgoyette-localcount
Changes since 1.30: +49 -42 lines
Diff to previous 1.30 (colored)

Remove throttling code, instead signal scsipi layer to reduce the openings
and retry the command. Start with a small openings number and let scsipi
request to grow it up to the current send window.

Adjust ccb and pdu counts to avoid ressource shortages. These are still
very ad-hoc numbers, but seem to be sufficient for a Gigabit link.

Use separate condvar for PDU pool and add counter to help debugging.

Revert setting PDU disposition to UNUSED before freeing. free_pdu
uses this as a flag to detect already returned PDUs.

Add reference counter for open commands to defer unmapping a session
that would lead to crashes in scsipi.

Move session cleanup to cleanup thread.

Use get_sernum to retrieve current serial number where possible and
make it check for immediate commands itself.

Adjust debug output.

Revision 1.30 / (download) - annotate - [select for diffs], Sun Jun 5 13:54:28 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.29: +8 -4 lines
Diff to previous 1.29 (colored)

Handle freeing of PDU when referencing CCB is freed.

Revision 1.29 / (download) - annotate - [select for diffs], Sun Jun 5 09:12:48 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.28: +1 -3 lines
Diff to previous 1.28 (colored)

wrong assertion.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Jun 5 09:09:57 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.27: +5 -1 lines
Diff to previous 1.27 (colored)

Need session mutex to read serial number.

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jun 5 06:19:59 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.26: +2 -1 lines
Diff to previous 1.26 (colored)

Add missing mutex_exit().

Revision 1.26 / (download) - annotate - [select for diffs], Sun Jun 5 05:40:29 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.25: +1 -3 lines
Diff to previous 1.25 (colored)

Whitespace, braces.

Revision 1.25 / (download) - annotate - [select for diffs], Sun Jun 5 05:36:57 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.24: +18 -4 lines
Diff to previous 1.24 (colored)

Replace the simple tag counter with the command tag coming down from scsipi.
Also set attributes according to tag types.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Jun 5 05:31:43 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.23: +2 -4 lines
Diff to previous 1.23 (colored)

No need to acquire KERNEL_LOCK when entering network code.
Also use the socket callbacks.

Revision 1.23 / (download) - annotate - [select for diffs], Sun Jun 5 05:25:59 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.22: +18 -12 lines
Diff to previous 1.22 (colored)

Make PDU init routines record serial number in CCB too.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Jun 5 05:18:58 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.21: +11 -5 lines
Diff to previous 1.21 (colored)

Fix locking for pdu flags here, in particular PDUF_INQUEUE.

Revision 1.21 / (download) - annotate - [select for diffs], Sun Jun 5 04:36:05 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.20: +8 -7 lines
Diff to previous 1.20 (colored)

More debugging output, changed debug levels for some.

Revision 1.20 / (download) - annotate - [select for diffs], Fri Jun 3 06:53:40 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored)

fix debug message

Revision 1.19 / (download) - annotate - [select for diffs], Wed Jun 1 05:31:59 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

don't sleep in run_xfer path.

Revision 1.18 / (download) - annotate - [select for diffs], Wed Jun 1 05:13:07 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.17: +9 -9 lines
Diff to previous 1.17 (colored)

refactor callouts
remove timed out ccbs and connections from cleanup queue when stopping timeout.

Revision 1.17 / (download) - annotate - [select for diffs], Wed Jun 1 04:19:08 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.16: +6 -9 lines
Diff to previous 1.16 (colored)

factor out sernum handling.
make incrementing sernum atomic.
declare variables for atomic operations as volatile.

Revision 1.16 / (download) - annotate - [select for diffs], Sun May 29 13:51:16 2016 UTC (7 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.15: +78 -71 lines
Diff to previous 1.15 (colored)

Several improvements to the ISCSI driver.

- Enable debug messages but set log level to be quiet. Provide a
  system (hw.iscsi.debug) to set the log level at run time.
- Replace old tsleep/wakeup synchronization with mutexes and condvars.
- Defer actions from callouts (basically timeouts) to the cleanup thread.
- Protect lists and unique ids with mutexes. protect connection usecount
  by using atomic operations.
- Assert kernel lock when calling into scsipi and network code.
- Use this to make send/receive/cleanup threads MPSAFE.

- Fix handling of out-of-CCB/out-of-PDU conditions against the scsipi layer.
- Bump number of PDUs to 128 to avoid virtually all out-of-PDU conditions

- Make use of softc structure for attach/detach operations.
- Track open file handles to prevent detach when busy.

- Move some global variables to make them static.

- Fix 'Overlapping Commands Attempted' error by marking commands as
  simply ordered (ATTR_SIMPLE) like FreeBSD.

Revision 1.10.2.2 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:50 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.10.2.1: +4 -2 lines
Diff to previous 1.10.2.1 (colored) to branchpoint 1.10 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.15 / (download) - annotate - [select for diffs], Thu Dec 24 03:41:03 2015 UTC (8 years, 3 months ago) by knakahara
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.14: +4 -2 lines
Diff to previous 1.14 (colored)

fix amd64/conf/ALL build failure

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:08 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.10: +13 -50 lines
Diff to previous 1.10 (colored)

Sync with HEAD

Revision 1.14 / (download) - annotate - [select for diffs], Sat May 30 18:09:31 2015 UTC (8 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606
Changes since 1.13: +6 -6 lines
Diff to previous 1.13 (colored)

Inline SET_CCB_TIMEOUT and SET_CONN_TIMEOUT

Revision 1.13 / (download) - annotate - [select for diffs], Sat May 30 18:00:09 2015 UTC (8 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.12: +1 -22 lines
Diff to previous 1.12 (colored)

Remove ISCSI_PERFTEST.

Revision 1.12 / (download) - annotate - [select for diffs], Sat May 30 16:12:34 2015 UTC (8 years, 10 months ago) by joerg
Branch: MAIN
Changes since 1.11: +8 -20 lines
Diff to previous 1.11 (colored)

Remove ISCSI_TEST_MODE and corresponding dev/iscsi_test.h header.

Revision 1.11 / (download) - annotate - [select for diffs], Fri May 15 16:24:30 2015 UTC (8 years, 11 months ago) by joerg
Branch: MAIN
Changes since 1.10: +1 -5 lines
Diff to previous 1.10 (colored)

Remove conditionals for NetBSD before 4.0.

Revision 1.8.12.1 / (download) - annotate - [select for diffs], Mon Sep 29 15:45:36 2014 UTC (9 years, 6 months ago) by msaitoh
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Pull up following revision(s) (requested by tls in ticket #119):
	sys/dev/iscsi/iscsi_send.c: revision 1.10
The "throttling" code in the in-kernel iSCSI initiator is very questionable;
it sleeps on a ccb that appears highly unlikely to wake up, since it seems
to be waiting to _submit_ that very ccb!  This is doubtless why someone tried
to disable it in the default case via several #defines.
Unfortunately one of those #defines is later tested backwards.  Fix that.
The in-kernel initiator now seems to survive a system build without hanging.

Revision 1.10 / (download) - annotate - [select for diffs], Thu Sep 25 00:30:45 2014 UTC (9 years, 6 months ago) by tls
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406, nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored)

The "throttling" code in the in-kernel iSCSI initiator is very questionable;
it sleeps on a ccb that appears highly unlikely to wake up, since it seems
to be waiting to _submit_ that very ccb!  This is doubtless why someone tried
to disable it in the default case via several #defines.

Unfortunately one of those #defines is later tested backwards.  Fix that.
The in-kernel initiator now seems to survive a system build without hanging.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Sep 5 09:27:34 2014 UTC (9 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.8: +5 -5 lines
Diff to previous 1.8 (colored)

Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get
a correctly typed pointer.

Revision 1.7.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:16 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.7: +100 -83 lines
Diff to previous 1.7 (colored)

resync with head

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:07 2013 UTC (11 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.1.2.1: +100 -83 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.8 / (download) - annotate - [select for diffs], Sat Dec 29 11:05:30 2012 UTC (11 years, 3 months ago) by mlelstv
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-7-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: netbsd-7
Changes since 1.7: +100 -83 lines
Diff to previous 1.7 (colored)

- defer session cleanup to not force detachments
- use more and explicit locking
- improve connection recovery
- use larger timeouts
- handle ccb buffer underflow correctly
- simplify throttling code

Sessions can now temporarily exist without a valid
connection, you also need to update iscsid(8).

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Tue Oct 30 17:21:17 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.1: +52 -44 lines
Diff to previous 1.1 (colored)

sync with head

Revision 1.7 / (download) - annotate - [select for diffs], Sun Sep 9 06:06:29 2012 UTC (11 years, 7 months ago) by mhitch
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6
Branch point for: tls-maxphys
Changes since 1.6: +1 -2 lines
Diff to previous 1.6 (colored)

Remove an erroneous change that crept in.  It was part of an earlier,
incorrect fix I had done for writing > 64K bytes.  It was still in the
set of changes mlelstv had committed.  I noticed it at the time, but did
not think it was problematic - until now.  This fixes the ccb corruption
I was seeing and fixes PR kern/46896.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Aug 12 13:26:18 2012 UTC (11 years, 8 months ago) by mlelstv
Branch: MAIN
Changes since 1.5: +6 -6 lines
Diff to previous 1.5 (colored)

Don't use common variables, also prefix global variables to avoid
namespace pollution.

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Tue Jul 3 20:48:40 2012 UTC (11 years, 9 months ago) by jdc
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.1.8.1: +46 -39 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Pull up revisions:
  src/sys/dev/iscsi/iscsi_globals.h revisions 1.3,1.4
  src/sys/dev/iscsi/iscsi_main.c revisions 1.4,1.5
  src/sys/dev/iscsi/iscsi_text.c revisions 1.4,1.5
  src/sys/dev/iscsi/iscsi_ioctl.c revisions 1.3,1.4
  src/sys/dev/iscsi/iscsi_send.c revisions 1.3,1.4,1.5
  src/sys/dev/iscsi/iscsi_utils.c revisions 1.2,1.3,1.4
  src/sbin/iscsid/iscsid_discover.c revision 1.4
  src/sys/dev/iscsi/iscsi_rcv.c revision 1.3
  src/sbin/iscsictl/iscsic_driverif.c revisions 1.5,1.6
(requested by martin in ticket #357, with updates from mhitch and mlelstv).

avoid namespace pollution when debugging
don't panic when printing data for a dead (NULL) connection

Close file descriptor passed into the kernel on success.
Fix locking of file handle. More cleanup on error paths.
Keep track of CCBs, so they cannot be used after a session ends.
Handle CCB timeouts even when the connection is terminated.
Compute firstdata, firstimmed correctly.

assemble_login_parameters() has a strange error reporting convention:
errors are positive numbers, so <= 0 is good, not >= ...
This makes CHAP authenticated iscsi logins work.

use first successful connection to a ISNS server

Add more debugging, fix filehandle usage, login negotiation and session
shutdown.
Add #ifdef'd code to send negotiation parameters in hex instead of base64,
so it works against older Linux targets.

report luns returns a 32bit list length.

Make digests work also on big endian machines.

it's really 32bit

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 24 17:01:35 2012 UTC (11 years, 9 months ago) by mlelstv
Branch: MAIN
Changes since 1.4: +4 -3 lines
Diff to previous 1.4 (colored)

Add more debugging, fix filehandle usage, login negotiation and session
shutdown.
Add #ifdef'd code to send negotiation parameters in hex instead of base64,
so it works against older Linux targets.

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jun 19 14:19:46 2012 UTC (11 years, 10 months ago) by martin
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

assemble_login_parameters() has a strange error reporting convention:
errors are positive numbers, so <= 0 is good, not >= ...
This makes CHAP authenticated iscsi logins work.

Revision 1.1.8.1 / (download) - annotate - [select for diffs], Tue Jun 12 19:41:25 2012 UTC (11 years, 10 months ago) by riz
Branch: netbsd-6
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

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.

Revision 1.3 / (download) - annotate - [select for diffs], Sat Jun 9 06:19:58 2012 UTC (11 years, 10 months ago) by mlelstv
Branch: MAIN
Changes since 1.2: +42 -36 lines
Diff to previous 1.2 (colored)

Close file descriptor passed into the kernel on success.
Fix locking of file handle. More cleanup on error paths.
Keep track of CCBs, so they cannot be used after a session ends.
Handle CCB timeouts even when the connection is terminated.
Compute firstdata, firstimmed correctly.

Revision 1.2 / (download) - annotate - [select for diffs], Tue Jun 5 16:36:07 2012 UTC (11 years, 10 months ago) by mhitch
Branch: MAIN
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

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.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Oct 23 21:15:02 2011 UTC (12 years, 5 months ago) by agc
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6

Start to move the in-kernel iSCSI initiator, kindly contributed to the
NetBSD Foundation by Wasabi Systems, from

        othersrc/external/bsd/iscsi/sys/dev/iscsi

to

        src/sys/dev/iscsi

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>