Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/iscsi The "throttling" code in the in-kernel iSCSI i...



details:   https://anonhg.NetBSD.org/src/rev/bae6707456c5
branches:  trunk
changeset: 332501:bae6707456c5
user:      tls <tls%NetBSD.org@localhost>
date:      Thu Sep 25 00:30:45 2014 +0000

description:
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.

diffstat:

 sys/dev/iscsi/iscsi_send.c |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (18 lines):

diff -r 2504f8eda6fb -r bae6707456c5 sys/dev/iscsi/iscsi_send.c
--- a/sys/dev/iscsi/iscsi_send.c        Wed Sep 24 22:21:33 2014 +0000
+++ b/sys/dev/iscsi/iscsi_send.c        Thu Sep 25 00:30:45 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: iscsi_send.c,v 1.9 2014/09/05 09:27:34 matt Exp $      */
+/*     $NetBSD: iscsi_send.c,v 1.10 2014/09/25 00:30:45 tls Exp $      */
 
 /*-
  * Copyright (c) 2004,2005,2006,2011 The NetBSD Foundation, Inc.
@@ -1378,7 +1378,7 @@
 
        s = splbio();
        while (/*CONSTCOND*/ISCSI_THROTTLING_ENABLED &&
-           /*CONSTCOND*/ISCSI_SERVER_TRUSTED &&
+           /*CONSTCOND*/!ISCSI_SERVER_TRUSTED &&
            !sn_a_le_b(sess->CmdSN, sess->MaxCmdSN)) {
 
                ccb->disp = disp;



Home | Main Index | Thread Index | Old Index