From nobody Mon Nov 17 17:47:49 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1606982244; cv=none; d=zohomail.com; s=zohoarc; b=NQavrdChAS1ndTv1OaltMIsDOLz8fibzLpEr+eKHVt84MPivCTTmhJSfNTHJUdQFYkwx3pkmID79en2zucp3k0mEXoA924bSCT+xfxoCO7PEWDNQY6Ciazsp1J/mOC2hiL6EaUzcfnML1JX07+dUM/Wu0mnonPwYD/i50txMnGo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606982244; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DZ+W6vC0NFdQIEoKIHcq46EHnqUVS2x6X+jBSbtewZI=; b=bwT3sCDWdcuelg/rHgJYxy5Dwzi9wae9CDd9jI4VM8bnmzsfwd9c+VRI8NV6viDDa1c5W29fpKdq7PjX/3ao1EDnhj6W3px9IiJTGYUvCsbaf9aniQRVRoVHTayLYRaO1hypO+cYfHTR0XbgIZjeL10A0B1T1ObiWVyHAf9BVb0= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1606982244580390.3150793339163; Wed, 2 Dec 2020 23:57:24 -0800 (PST) Received: from localhost ([::1]:57212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kkjUR-0007C0-JX for importer@patchew.org; Thu, 03 Dec 2020 02:57:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33020) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kkjPn-0002Sl-79; Thu, 03 Dec 2020 02:52:35 -0500 Received: from szxga06-in.huawei.com ([45.249.212.32]:2544) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kkjPl-0004C5-07; Thu, 03 Dec 2020 02:52:34 -0500 Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4Cmp2d2Jbvzhldb; Thu, 3 Dec 2020 15:52:09 +0800 (CST) Received: from huawei.com (10.175.104.175) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.487.0; Thu, 3 Dec 2020 15:52:21 +0800 From: Gan Qixin To: , Subject: [PATCH v2 4/4] block/iscsi: Use lock guard macros Date: Thu, 3 Dec 2020 15:50:55 +0800 Message-ID: <20201203075055.127773-5-ganqixin@huawei.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201203075055.127773-1-ganqixin@huawei.com> References: <20201203075055.127773-1-ganqixin@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.175.104.175] X-CFilter-Loop: Reflected Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=45.249.212.32; envelope-from=ganqixin@huawei.com; helo=szxga06-in.huawei.com X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, zhang.zhanghailiang@huawei.com, armbru@redhat.com, Gan Qixin , kuhn.chenqun@huawei.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Replace manual lock()/unlock() calls with lock guard macros (QEMU_LOCK_GUARD/WITH_QEMU_LOCK_GUARD) in block/iscsi. Signed-off-by: Gan Qixin --- Cc: Kevin Wolf Cc: Paolo Bonzini Cc: Markus Armbruster --- block/iscsi.c | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/block/iscsi.c b/block/iscsi.c index e30a7e3606..7d4b3b56d5 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -322,25 +322,23 @@ iscsi_aio_cancel(BlockAIOCB *blockacb) IscsiAIOCB *acb =3D (IscsiAIOCB *)blockacb; IscsiLun *iscsilun =3D acb->iscsilun; =20 - qemu_mutex_lock(&iscsilun->mutex); + WITH_QEMU_LOCK_GUARD(&iscsilun->mutex) { =20 - /* If it was cancelled or completed already, our work is done here */ - if (acb->cancelled || acb->status !=3D -EINPROGRESS) { - qemu_mutex_unlock(&iscsilun->mutex); - return; - } + /* If it was cancelled or completed already, our work is done here= */ + if (acb->cancelled || acb->status !=3D -EINPROGRESS) { + return; + } =20 - acb->cancelled =3D true; + acb->cancelled =3D true; =20 - qemu_aio_ref(acb); /* released in iscsi_abort_task_cb() */ + qemu_aio_ref(acb); /* released in iscsi_abort_task_cb() */ =20 - /* send a task mgmt call to the target to cancel the task on the targe= t */ - if (iscsi_task_mgmt_abort_task_async(iscsilun->iscsi, acb->task, - iscsi_abort_task_cb, acb) < 0) { - qemu_aio_unref(acb); /* since iscsi_abort_task_cb() won't be calle= d */ + /* send a task mgmt call to the target to cancel the task on the t= arget */ + if (iscsi_task_mgmt_abort_task_async(iscsilun->iscsi, acb->task, + iscsi_abort_task_cb, acb) < 0= ) { + qemu_aio_unref(acb); /* since iscsi_abort_task_cb() won't be c= alled */ + } } - - qemu_mutex_unlock(&iscsilun->mutex); } =20 static const AIOCBInfo iscsi_aiocb_info =3D { @@ -375,22 +373,22 @@ static void iscsi_timed_check_events(void *opaque) { IscsiLun *iscsilun =3D opaque; =20 - qemu_mutex_lock(&iscsilun->mutex); + WITH_QEMU_LOCK_GUARD(&iscsilun->mutex) { + /* check for timed out requests */ + iscsi_service(iscsilun->iscsi, 0); =20 - /* check for timed out requests */ - iscsi_service(iscsilun->iscsi, 0); + if (iscsilun->request_timed_out) { + iscsilun->request_timed_out =3D false; + iscsi_reconnect(iscsilun->iscsi); + } =20 - if (iscsilun->request_timed_out) { - iscsilun->request_timed_out =3D false; - iscsi_reconnect(iscsilun->iscsi); + /* + * newer versions of libiscsi may return zero events. Ensure we are + * able to return to service once this situation changes. + */ + iscsi_set_events(iscsilun); } =20 - /* newer versions of libiscsi may return zero events. Ensure we are ab= le - * to return to service once this situation changes. */ - iscsi_set_events(iscsilun); - - qemu_mutex_unlock(&iscsilun->mutex); - timer_mod(iscsilun->event_timer, qemu_clock_get_ms(QEMU_CLOCK_REALTIME) + EVENT_INTERVAL); } --=20 2.27.0