Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp4571972pxb; Wed, 20 Apr 2022 06:07:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzNJrQnV5bCcCuF9YjRWb2RjjXJ5hxh47RpnTxByYP8k8S0x108ZvyI2IfsIptw2rIMjAtl X-Received: by 2002:a17:907:1691:b0:6ef:fae3:ea75 with SMTP id hc17-20020a170907169100b006effae3ea75mr3236006ejc.410.1650460063608; Wed, 20 Apr 2022 06:07:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650460063; cv=none; d=google.com; s=arc-20160816; b=wLPZpaFcn9bV5PXmiYJFJivQWfty6+/uSQw3oKTN05CPxX1xn6Oqv4fGNAmQ4LUyBC WfFUIZmgWs5dRMrBMOVD21GibBoGIX3pgmP++U27MydXpKUzt7s32JRJ5oXZVuaR6Rrj fXr+5zOqICYlMIrHZCIK5biXTkm8R/yosCpzr6mP46dDJ4aESUJ3vRdSiH9/PPbGRocQ pb4HjfXhyps+DmCXdJqQ081jfe12q2/bXqmHwVw+BjN4gx+usI/YG40eoSLCYnNtX1CB baeeV2wFk/Xvkgzj2tTavAOUT1hgfRfVqYDECgrF0eqihDDoX+36n+keQXIVb0bYvelh MvtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature:dkim-signature; bh=WHPjzzOO54qwc4Uzs2IsZR10ev/XyXj4PFhP8vWexWQ=; b=RL8qPsKZggNKhWTuk38lnf6u4x5gB+sNryTQF6/kreTAI//AmzDIm3o6kVWajCDbVy iJxHM1+G4Mus2ulWBMnSRK587Rbr340MPu4yhwo7YA2BAfNfxBN0iEnH6qga3WdnkE3z HVcJ2MLoaTJ16ZJsBFavXNx2b+qeDBcHghmFs6JoKzIMPY2pf4lEeO4UsyVR6PDVgUXX gTAt3apAYp/5Pu/1ltPmgAQoS8DhRKVfRCat1K15osdqhWlsOTUbJHZQaCpAs1kdQOxc /MJ0vzFuZ8fV2onidlq3JebHl1Go/xfrlnvcn37yi/oe7sNX0Q+FhtAJM0WEKeOPLJUn 3aIw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=ix3HWDGR; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id kl24-20020a170907995800b006e888cbdec6si1744860ejc.282.2022.04.20.06.07.16; Wed, 20 Apr 2022 06:07:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=ix3HWDGR; dkim=neutral (no key) header.i=@suse.de; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378488AbiDTMZa (ORCPT + 99 others); Wed, 20 Apr 2022 08:25:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1357045AbiDTMZ2 (ORCPT ); Wed, 20 Apr 2022 08:25:28 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B895338BF0; Wed, 20 Apr 2022 05:22:42 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 6D0F621115; Wed, 20 Apr 2022 12:22:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1650457361; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WHPjzzOO54qwc4Uzs2IsZR10ev/XyXj4PFhP8vWexWQ=; b=ix3HWDGRLUOZCCZEPEmw5KeLE9w2iGFPkNfbRnlZ/ynXJd2JBk4o/Ro3aSZYBTiIWP/HMY OsMRXg0TiQlwMtaBRT0+G4TQ10v4vtt5JReMNfrlX0L1i25GDCJzW7MDQnQ3MoVSA4Xqd6 YogH05//3Muk7cAw620RHcnEubR8Rps= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1650457361; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WHPjzzOO54qwc4Uzs2IsZR10ev/XyXj4PFhP8vWexWQ=; b=UT9LthruI0/sp/QuHtb2Os6u3DxwOVMJS5GwR/HBUk9nV1VwATTyiN1Mdvi+0vvxBIeJDy 8ebYaFLXmUVLsZDg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3EA5D13A30; Wed, 20 Apr 2022 12:22:41 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 7eNODRH7X2LQYQAAMHmgww (envelope-from ); Wed, 20 Apr 2022 12:22:41 +0000 Message-ID: <3e9c9954-8b0d-6bf5-3321-4deeb4ca77bf@suse.de> Date: Wed, 20 Apr 2022 14:22:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: [PATCH 2/4] scsi: libsas: Add sas_execute_internal_abort_dev() Content-Language: en-US To: John Garry , jejb@linux.ibm.com, martin.petersen@oracle.com, jinpu.wang@cloud.ionos.com, damien.lemoal@opensource.wdc.com Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, Ajish.Koshy@microchip.com, linuxarm@huawei.com, Viswas.G@microchip.com, hch@lst.de, liuqi115@huawei.com, chenxiang66@hisilicon.com References: <1646309930-138960-1-git-send-email-john.garry@huawei.com> <1646309930-138960-3-git-send-email-john.garry@huawei.com> From: Hannes Reinecke In-Reply-To: <1646309930-138960-3-git-send-email-john.garry@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-8.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/3/22 13:18, John Garry wrote: > Add support for a "device" variant of internal abort, which will abort all > pending IOs for a specific device. > > Signed-off-by: John Garry > --- > drivers/scsi/libsas/sas_scsi_host.c | 8 ++++++++ > include/scsi/libsas.h | 8 ++++++++ > 2 files changed, 16 insertions(+) > > diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c > index 0d05826e6e8c..8d6c83d15148 100644 > --- a/drivers/scsi/libsas/sas_scsi_host.c > +++ b/drivers/scsi/libsas/sas_scsi_host.c > @@ -995,6 +995,14 @@ int sas_execute_internal_abort_single(struct domain_device *device, u16 tag, > } > EXPORT_SYMBOL_GPL(sas_execute_internal_abort_single); > > +int sas_execute_internal_abort_dev(struct domain_device *device, > + unsigned int qid, void *data) > +{ > + return sas_execute_internal_abort(device, SAS_INTERNAL_ABORT_DEV, > + SCSI_NO_TAG, qid, data); > +} > +EXPORT_SYMBOL_GPL(sas_execute_internal_abort_dev); > + > int sas_execute_tmf(struct domain_device *device, void *parameter, > int para_len, int force_phy_id, > struct sas_tmf_task *tmf) > diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h > index 2d30d57916e5..71f632b2d2bd 100644 > --- a/include/scsi/libsas.h > +++ b/include/scsi/libsas.h > @@ -560,6 +560,7 @@ struct sas_ata_task { > /* LLDDs rely on these values */ > enum sas_internal_abort { > SAS_INTERNAL_ABORT_SINGLE = 0, > + SAS_INTERNAL_ABORT_DEV = 1, > }; > > struct sas_internal_abort_task { > @@ -641,6 +642,11 @@ extern struct sas_task *sas_alloc_task(gfp_t flags); > extern struct sas_task *sas_alloc_slow_task(gfp_t flags); > extern void sas_free_task(struct sas_task *task); > > +static inline bool sas_is_internal_abort(struct sas_task *task) > +{ > + return task->task_proto == SAS_PROTOCOL_INTERNAL_ABORT; > +} > + > struct sas_domain_function_template { > /* The class calls these to notify the LLDD of an event. */ > void (*lldd_port_formed)(struct asd_sas_phy *); > @@ -697,6 +703,8 @@ extern int sas_bios_param(struct scsi_device *, struct block_device *, > int sas_execute_internal_abort_single(struct domain_device *device, > u16 tag, unsigned int qid, > void *data); > +int sas_execute_internal_abort_dev(struct domain_device *device, > + unsigned int qid, void *data); > extern struct scsi_transport_template * > sas_domain_attach_transport(struct sas_domain_function_template *); > extern struct device_attribute dev_attr_phy_event_threshold; Same comment as in the previous patch: Please use the existing TMF_XXX values. Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 36809 (AG Nürnberg), GF: Felix Imendörffer