From patchwork Mon Apr 20 18:39:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kelsey Skunberg X-Patchwork-Id: 1273650 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495b8j0l4Qz9sSG; Tue, 21 Apr 2020 04:39:49 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1jQbKa-0002fd-Jb; Mon, 20 Apr 2020 18:39:44 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jQbKX-0002ep-QO for kernel-team@lists.ubuntu.com; Mon, 20 Apr 2020 18:39:41 +0000 Received: from mail-il1-f197.google.com ([209.85.166.197]) by youngberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jQbKX-0007uf-Dt for kernel-team@lists.ubuntu.com; Mon, 20 Apr 2020 18:39:41 +0000 Received: by mail-il1-f197.google.com with SMTP id z24so12961358ilk.23 for ; Mon, 20 Apr 2020 11:39:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rNu+gCQiVjg5beoXBBpylxQvOIl5apdUPJjF+bvYdRs=; b=cZlLXj1tNLH2pzRmlBPjMI8dyhs7P6aDfcrl1kDofyH5JLRT9Dqt0PmrDj+1IK0EdT 8ddekOL/8IPxHOnnpzUnPLSeDEoXZTP5FCLJdIqBNav8ZlDXiLy5/nE7iWTg0Cq0BkGS DdlSVEz7n2MgSH+XjJpp8/CtcX9ktMozl1mfiFLWqzbVDfYcNWI6+jEOJQ8mHtDtoqG5 CCV+h8Qj9d9lXtBuVPuWb069+PU5VD0rFBfJEu50Gog93IWhUaGUv/EmnTZiFWdVGvH0 1BHRjyoShPOv7KJpFQVhaC1VKO+cwbXNMKx+6JPp43196BVlk0r6krxSs4Mc7fTXfZiQ 8ZIQ== X-Gm-Message-State: AGi0Pubg/yOauAw5oU8LAIwu94pUo7gFl6LrCApaZJvY0ax/dBkr6Rcx Z4S+s6oDC1Kd2C6SpcigGf/PE9+VUkKRtqtgJtfs+7UHuXXGUBrOm4xb6olyWtqHKERKl3SPcBc PkJnGcmGQxCb4px0/maYqigNHCQCE66PK4CF7Hy73sA== X-Received: by 2002:a05:6e02:c8f:: with SMTP id b15mr15812074ile.35.1587407980282; Mon, 20 Apr 2020 11:39:40 -0700 (PDT) X-Google-Smtp-Source: APiQypKbXpP3XOE64oosO27OBpF//FohYUkKWoIXzaEHxDl4Jd68HonoIbqucXbsUfs4wBKDyxYvFg== X-Received: by 2002:a05:6e02:c8f:: with SMTP id b15mr15812065ile.35.1587407980001; Mon, 20 Apr 2020 11:39:40 -0700 (PDT) Received: from localhost.localdomain (c-73-243-191-173.hsd1.co.comcast.net. [73.243.191.173]) by smtp.gmail.com with ESMTPSA id x7sm5819ioj.39.2020.04.20.11.39.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Apr 2020 11:39:39 -0700 (PDT) From: Kelsey Skunberg To: kernel-team@lists.ubuntu.com Subject: [SRU][B][F][PATCH 1/3] scsi: target: remove boilerplate code Date: Mon, 20 Apr 2020 12:39:34 -0600 Message-Id: <20200420183936.40908-2-kelsey.skunberg@canonical.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200420183936.40908-1-kelsey.skunberg@canonical.com> References: <20200420183936.40908-1-kelsey.skunberg@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mcoleman@datto.com Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Maurizio Lombardi BugLink: https://bugs.launchpad.net/bugs/1871688 iscsit_free_session() is equivalent to iscsit_stop_session() followed by a call to iscsit_close_session(). Link: https://lore.kernel.org/r/20200313170656.9716-2-mlombard@redhat.com Tested-by: Rahul Kundu Signed-off-by: Maurizio Lombardi Signed-off-by: Martin K. Petersen (cherry picked from commit e49a7d994379278d3353d7ffc7994672752fb0ad) Signed-off-by: Kelsey Skunberg --- drivers/target/iscsi/iscsi_target.c | 46 ++--------------------------- drivers/target/iscsi/iscsi_target.h | 1 - 2 files changed, 2 insertions(+), 45 deletions(-) diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c index d19e051f2bc2..dda735cfb156 100644 --- a/drivers/target/iscsi/iscsi_target.c +++ b/drivers/target/iscsi/iscsi_target.c @@ -4569,49 +4569,6 @@ void iscsit_fail_session(struct iscsi_session *sess) sess->session_state = TARG_SESS_STATE_FAILED; } -int iscsit_free_session(struct iscsi_session *sess) -{ - u16 conn_count = atomic_read(&sess->nconn); - struct iscsi_conn *conn, *conn_tmp = NULL; - int is_last; - - spin_lock_bh(&sess->conn_lock); - atomic_set(&sess->sleep_on_sess_wait_comp, 1); - - list_for_each_entry_safe(conn, conn_tmp, &sess->sess_conn_list, - conn_list) { - if (conn_count == 0) - break; - - if (list_is_last(&conn->conn_list, &sess->sess_conn_list)) { - is_last = 1; - } else { - iscsit_inc_conn_usage_count(conn_tmp); - is_last = 0; - } - iscsit_inc_conn_usage_count(conn); - - spin_unlock_bh(&sess->conn_lock); - iscsit_cause_connection_reinstatement(conn, 1); - spin_lock_bh(&sess->conn_lock); - - iscsit_dec_conn_usage_count(conn); - if (is_last == 0) - iscsit_dec_conn_usage_count(conn_tmp); - - conn_count--; - } - - if (atomic_read(&sess->nconn)) { - spin_unlock_bh(&sess->conn_lock); - wait_for_completion(&sess->session_wait_comp); - } else - spin_unlock_bh(&sess->conn_lock); - - iscsit_close_session(sess); - return 0; -} - void iscsit_stop_session( struct iscsi_session *sess, int session_sleep, @@ -4696,7 +4653,8 @@ int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *tpg, int force) list_for_each_entry_safe(se_sess, se_sess_tmp, &free_list, sess_list) { sess = (struct iscsi_session *)se_sess->fabric_sess_ptr; - iscsit_free_session(sess); + iscsit_stop_session(sess, 1, 1); + iscsit_close_session(sess); session_count++; } diff --git a/drivers/target/iscsi/iscsi_target.h b/drivers/target/iscsi/iscsi_target.h index c95f56a3ce31..7409ce2a6607 100644 --- a/drivers/target/iscsi/iscsi_target.h +++ b/drivers/target/iscsi/iscsi_target.h @@ -43,7 +43,6 @@ extern int iscsi_target_rx_thread(void *); extern int iscsit_close_connection(struct iscsi_conn *); extern int iscsit_close_session(struct iscsi_session *); extern void iscsit_fail_session(struct iscsi_session *); -extern int iscsit_free_session(struct iscsi_session *); extern void iscsit_stop_session(struct iscsi_session *, int, int); extern int iscsit_release_sessions_for_tpg(struct iscsi_portal_group *, int);