From patchwork Wed Jan 25 23:36:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9538141 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 70DBA604A7 for ; Wed, 25 Jan 2017 23:37:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6637227F17 for ; Wed, 25 Jan 2017 23:37:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5B20427FBB; Wed, 25 Jan 2017 23:37:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9361627FB0 for ; Wed, 25 Jan 2017 23:37:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751933AbdAYXhV (ORCPT ); Wed, 25 Jan 2017 18:37:21 -0500 Received: from mail-by2nam03on0072.outbound.protection.outlook.com ([104.47.42.72]:59168 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751064AbdAYXhF (ORCPT ); Wed, 25 Jan 2017 18:37:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandiskcorp.onmicrosoft.com; s=selector1-sandisk-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=jUpiS8XGEn1M1euH0kZGiUg187FLB20bgaa5s434+LY=; b=ao4D7qTFCqYWFvKJ4d2qCLs6r7sMzOqiWjgxk2hkX0S59CZSMJI3pxgVNQ8sjdxxSavxB4y5HgHFCtXgSOjiVCU0Az2FIN0n6vL28b89E1OK+jzqeNiBGRQh65HmV6LqC1ng40W0mOehZqyk42Yza6DhncChNo/ZR5pddXDBYls= Received: from BY1PR0201CA0005.namprd02.prod.outlook.com (10.160.191.143) by BLUPR02MB036.namprd02.prod.outlook.com (10.242.191.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.12; Wed, 25 Jan 2017 23:36:57 +0000 Received: from BL2FFO11FD009.protection.gbl (2a01:111:f400:7c09::153) by BY1PR0201CA0005.outlook.office365.com (2a01:111:e400:4814::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.12 via Frontend Transport; Wed, 25 Jan 2017 23:36:55 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; lst.de; dkim=none (message not signed) header.d=none;lst.de; dmarc=bestguesspass action=none header.from=sandisk.com; Received-SPF: Pass (protection.outlook.com: domain of sandisk.com designates 63.163.107.21 as permitted sender) receiver=protection.outlook.com; client-ip=63.163.107.21; helo=milsmgep15.sandisk.com; Received: from milsmgep15.sandisk.com (63.163.107.21) by BL2FFO11FD009.mail.protection.outlook.com (10.173.161.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.8 via Frontend Transport; Wed, 25 Jan 2017 23:36:54 +0000 Received: from MILHUBIP03.sdcorp.global.sandisk.com (Unknown_Domain [10.201.67.162]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by (Symantec Messaging Gateway) with SMTP id 08.C8.65426.5C339885; Wed, 25 Jan 2017 15:24:53 -0800 (PST) Received: from milsmgip11.sandisk.com (10.177.8.100) by MILHUBIP03.sdcorp.global.sandisk.com (10.177.9.96) with Microsoft SMTP Server id 14.3.319.2; Wed, 25 Jan 2017 15:36:49 -0800 X-AuditID: 0ac94369-b62949800001ff92-25-588933c54c7d Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.9.6]) by (Symantec Messaging Gateway) with SMTP id 39.35.16817.19639885; Wed, 25 Jan 2017 15:36:49 -0800 (PST) From: Bart Van Assche To: Bart Van Assche CC: , Christoph Hellwig , "Himanshu Madhani" , Giridhar Malavali Subject: [PATCH 09/34] target: Make it possible to specify I_T nexus for SCSI abort Date: Wed, 25 Jan 2017 15:36:21 -0800 Message-ID: <20170125233646.2243-10-bart.vanassche@sandisk.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170125233646.2243-1-bart.vanassche@sandisk.com> References: <20170125233646.2243-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsXCddJ5ke5R484Ig1MfFSz2PDjHZrFy9VEm iwt7uhktWpe+ZXJg8ZjxexGLx+6bDWwenzfJBTBHcdmkpOZklqUW6dslcGW8WneQpeCNasX5 hnksDYxL5bsYOTkkBEwk3m46w9jFyMUhJLCUSeLr/g8sIAkhgR2MEjP+GsEUfTt2jBmiaCOj xMMJa9hAEmwCRhLf3s8EaxARMJD43XsBbBKzwApGif/tj5hBEsICwRK3zjaA2SwCqhJ9h2aD 2bwC9hI3dk5hhtggL7Gr7SIriM0JFG89+xPqCjuJ9QdamUCGSgj8Y5F4MXsvVLOgxMmZT8CK mAUkJA6+eMEM0aAucXLJfKYJjEKzkJTNQlK2gJFpFaNYbmZOcW56aoGhqV5xYl5KZnG2XnJ+ 7iZGSEhn7mC8+8T7EKMAB6MSD6/Alo4IIdbEsuLK3EOMEhzMSiK86+Q6I4R4UxIrq1KL8uOL SnNSiw8xSnOwKInzut37EiYkkJ5YkpqdmlqQWgSTZeLglGpg9Ffnqr6R+7FVmPnF8xmbDmcv /nvqJ4ta1LLvX5zbGt62Nt69sPu4VtaTts/Tj5+b5pDedvZ4wLx5tqFWR4MeKq4Lu3T8pFep xaMXFw41OHQbbnW+EJE9x6ZdSMZTP+JTQeQbwd/zl7x6YdlqajhHeUpn1u0cjtwCl4eh/17H v/RK0L+aeWTRUSWW4oxEQy3mouJEAJYFZCVlAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrEJMWRmVeSWpSXmKPExsXCtZGTTXeiWWeEwasuLYuDP9sYLfY8OMdm sXL1USaLC3u6GS1al75lcmD1mPF7EYvH7psNbB7T1pxn8vi8SS6AJYrLJiU1J7MstUjfLoEr 49W6gywFb1QrzjfMY2lgXCrfxcjJISFgIvHt2DHmLkYuDiGB9YwSi3b/ZQNJsAkYSXx7P5MF xBYRMJD43XuBEaSIWWAFo0TD4f2MIAlhgWCJW2cbmEFsFgFVib5Ds8FsXgF7iXlrzzNCbJCX 2NV2kRXE5gSKt579CTZUSMBOYv2BVqYJjNwLGBlWMYrlZuYU56ZnFhga6hUn5qVkFmfrJefn bmKEhELkDsanE80PMTJxcEo1MFrbZ1xmjOPpNcxvN1wxV7FEbq/UjTUH1y5fWjTd4lpImOn8 WzudlJ8FJMpO+9740n37o4/zc270aoh1n7j178r+1e7biv+f6bDsD8/tYHMQDM5fvCF84Zui 9Y+8dx52URfN3FW38K/uJZGMRGnjbZaC27LsfrgtZ1Zw4GZeZJ4xS3vJZpl1j5VYijMSDbWY i4oTAbtFpOq1AQAA MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(39840400002)(39450400003)(39850400002)(39410400002)(39860400002)(2980300002)(438002)(189002)(199003)(54906002)(33646002)(305945005)(81156014)(189998001)(92566002)(36756003)(2270400002)(1691005)(1076002)(76176999)(4326007)(50466002)(50986999)(81166006)(48376002)(8676002)(8936002)(106466001)(50226002)(2906002)(356003)(626004)(6666003)(7049001)(2950100002)(5003940100001)(68736007)(86362001)(69596002)(6200100001)(47776003)(38730400001)(6862003)(77096006)(5660300001)(110136003)(97736004)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR02MB036; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD009; 1:wuCFRTCGK2FyC2+nBO68hfik7BulgRyAhvTnk6Vh6CqOo7j0MbVC43nwRy7QPdNpgRYvsa8fZqJYCDMDSwT0REPZpnkRHshAuE76h0KKcS4tf7qwnrm5lCoj6FzC5npZbuPdp6l+YFCKImsbZ7Co0Q167erL+IDIWzKpebMuARpgyGsBhs7V5q4xGsFupX3gAYT2ufelOYsA1fI35Vth6lP6a+xVmb4HhQuQWNDM9UIIYXUAG0cOVSZs5Cjs/oGxfczG2LwX4blYwc7PhfzGWP/BUeUOsBs5NYZKUyBl+fd2gX2Ausw94UvB1pXkwOuGsK2NPHAdNhmkMQTzXzfpnmy5XkiQdXpDwxnvWh7TpVa4B9QROTTGwyTaCY1gK3QQxpvDU9oFR8SALAx919rORdLgTbhI2VWPsku1RkHRbtIl1kBCrWZ+KeTQCAqHLp9cLSfnZVGwc0Y+JTRnbdEWoaOLBAMSdl/+p9YI4w4MAzcAiBU9c+aIDJjccGXaNBTw X-MS-Office365-Filtering-Correlation-Id: acef3064-32fd-4894-584d-08d4457b0baf X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:BLUPR02MB036; X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 3:y4Y/8pq358sOPaa2+QnYPPEoEufX1DlJ95ecqjTiDOCkeWlIVlpR8+/qj4zbFvXejwIy93GE3WmA/voKwAgcjmJaigMTdkrV4CSDPHf07eYKKksO1yqMZQIh3I3A+p/dIrXm96WU8ZEBhgNg0AoGs2mkbrmpxjwlT4Ae4CC5O/4p7R1uZURnJIVs7jl4r18Lkp8bbwgYEEmSmvea3M5LjzhJJH2C67/xRdWNARALXsyjYlH5FlVk/4LJJSCZXbF67qbAtGB9q54ixxJT4QmLmYkX7rwJOFsBMnVOunbZWkvSzdSyc1L6Tki1Bn8qmGN23rD/WooladerZbVBZosTHiEt9JzRXuuOfp82pwIKNT6xe3C8qvhR0G8y8C/1vJjw6miaIYh13WFx/ynGwxZaGA==; 25:xHwXvN2tYhKob9aYpUR7nUpjGAJ9rPD+hSvKsM4jed5Avb6194raE/JvH0O/BRPskco16BziqE6o49+Sv0qEYbojBtZcO8l7+xuD76xbqUZ1VD/Tpqw6u9wpVNCzdPFTk5eg5SiriO3Q9fcHxpzNBdxqvdgHeD1wVyVaLEb9eX4APQbzTeq1xlQ34BGvQ6v5wIz69CVIQ5nPC0auhUxoKHPEtwniSuxKEPuQ07ureLJocB9CRdW3uRZJxESFrlRXhSHyRp88M5zrcFIlNBIQlMShWB6Zju4DOEUhHG3M9P7KS0eoYA3vvCO7yPaBZKWGbikHJFlNeKMo7q8KG9d1Y/WogSEIVWUYRDfGkiSktGrE78hQYomO53AKs771UPTKg9USBob8qPbyBSqa6FjRF+4B40NLlu4wN9LkQkCb9ICV2VqOUSNv+P1wo3s523NxOe0s6m7muvBCYZ8PnEWdLQ== X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 31:Hy853cx1EEZquoJ5gfz4LAJzx7XyMOoVkjct73Ct9MzvgiWEKhpGEYYZQ+fwLIY2gJ3u4c/3bDbIV1wgfJgrD58rCUk4F1MYjR3pQMUqUqyK54zdezSu65os0GFkNB1pHBZOrcWj6OHCXWULfYK0pDQz5fhojMmMJAe7fdYYuyq8YBnyp3ZQ4H7nK+inuiugI+5t7NZa39BYy4aHdANKESum/QFpvbEf7+Q4pyN0scGpEPSoEeqP6dz9KyQqkKzU80wZD7Rsw4ZjaBBL2/usdNvaAKQg9N6V50rhG+Mye1s=; 20:0qkL1Q87pplMGtGnRvaoUGbKPbvUptsTpiGtHILeHqMIGpwwKDi6cuXoTUFgJEGpTrTTH2/jOdrC/skCNzOGmdF3R7zqHWRWkCAovfIZj6DqUWKVgoAGHadz4JtPhrLO7yK2/k3xVIt7Ej+sQqE6nBVw1ZsaL5yxFJdHPqZt56Gq7RpaUFNMzBgJ/gDu3AC92U6tZmJWWJXRW1wOmhuS8OaOlmUCvJ8v4bP60c9tuJMpB3jMF77xaWKBXq6DVnLNnzKLJUgPJ98+EkTrClCST5V0OPY1mil70XFQ8s8X5JcKsBDIycQY6aof1/Pf1OiA5BYw4vErnNfN2iZSsRNDzb97G4AqoyUzvy5D8HtdOREi8qJBf0max7Zk7o1RXHZc07r63PLb1VYQWAQGXjdskOTjaWFewjxCfqGbwJa0DKpQD183UJ+OKo1Rlp9cAzaG0wHQmfnlsgCL+YM77F8oDmOBxDHnNyAbJ4K62y0Rs/Jtv3INU9FM2ZfQ/H3Kc/d7 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13018025)(13016025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(6072148); SRVR:BLUPR02MB036; BCL:0; PCL:0; RULEID:; SRVR:BLUPR02MB036; X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 4:rC/E0PkNhA5jQcouAFOpIaTEPAr8ZVM0Wbul50j+lSGtIeWd+JhYkhd0pMKcg5Ewt5Z6KJKbgSYOri/YZdkW6KCHm2KTwf6j3hR2xPiEOsZLuLbFweGeBahDwBmTJW/BbFdzUYmBb5jvXk2XOIRKd61V/GqctxCEDKSp2LasTbKjtPY9rGP3goCbKIhX4yv/beUFYhKnZ4ZiEZsarNb6A4rHCJFcaj18pnad9K9Rm+6KdFXM9QBXPn+q0I9lWilLMkKn53370tlpmK4HwnFVTZkcg/7O/q2pJ4r3KQGUqH5QVG3JiDhGydJIGI75zaJ+sbp+l84kwy//vZdNbKEULRYzCYGdess1rBdK0qcvWvpzvHD1KZrMQCoZgU7QIYLgCNYHOHF5PpShNcu4b0W1xp982upnk5D1CrHkooiZP4CATnUWfI62tMc4EqJr4ZHmQoN8uGMtVeCNRH4iDKNLPQ3ny6/+PfMUql191pjY7icCXQKu5H+ACvtIm5FWpZ8vR3+yGgEo5vR8aYCBzomEz96rjmm1rsy/5aMsw0JwzkkFnn2zdLanW9+eUdVPSSJXNUcMf2gIu9zhmVoMAz3dZ3/IBwEN+DXLxhrxhiWN+whyHwfw61oH/7GB3lAF9p2G5ZRoO95HogdvNn4pAEkA7BTnWfV7bi0ZadCz5+CGx30= X-Forefront-PRVS: 01986AE76B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR02MB036; 23:T+/OJz0AIZ9LFUqFoGWfwL94afkldnmUCJUUKq0bo6?= =?us-ascii?Q?CO1pVqNkzKRLMxIQqEeUxM1iOGKYdUX61Oq4iPGA/fXHDO+pbf+8CLsouQ6l?= =?us-ascii?Q?tttBsgZWexSL0wJ8E6f2KnFJhSaHG0Jv5HQzH4VuR5EUaX7K6adQT4+Tz5gU?= =?us-ascii?Q?nYJVfRgHtPOCvDyHeANkFOhvhPtg0i5yvKk34iqfi6YQCm+cY4DjY/Oq8Tt2?= =?us-ascii?Q?WoVZ26iMQSm9sAH6oOB2RBd7P9ydrNhS+qIxRcre4v9dIVfMaErE1xkJKlA3?= =?us-ascii?Q?iUR5j76Li9kSm9cJchKpBAXcS9JKmkxysQu/IqRo7xvFbibxvk3SMTc8gr8N?= =?us-ascii?Q?gVxNdTBCf7xDU6VYSJRzBh4zELR3Ln4Af9mJ4fN2/0obHYS2fGNeuTHb9rNB?= =?us-ascii?Q?WdkYbkQ6CgG2JX5kPOWaTibw69tUr9uxfrGnv/iYTGzadKUOgpMOwY3/v18H?= =?us-ascii?Q?nENHgukp0FDrkeJQPtqTCl5fgk19858SuI0ODydnUfv5qSp5Gq8Piz8IGOJq?= =?us-ascii?Q?955glJR1UWW5MOKJ0S8Vr8OPd1kMaqgIFUawcX9I5CTAYqph0bDkO8U4oNmQ?= =?us-ascii?Q?8jiMV7UZQhrRc1At/Gt5F4O21k4ZT4sHzG+Sg0TYTzMxAFvF6M1n5XsDrhlk?= =?us-ascii?Q?g+dIx6c0Z0YfxQlR+1W6wvYpb9uFlmCmSAuFlv7geTSC4LiQ2MboxVrO94ji?= =?us-ascii?Q?hnLSlom3tp8OLByXEQCI40e8UHBQqLzdM7VH8/lBdUcBQ7KeazZgGI4AgX5W?= =?us-ascii?Q?F7Rm/tJh6cFLlg4AKjZjbcvCfjhL4wOYIv50vO+Ok/qXYoa9aCS6olomK7Km?= =?us-ascii?Q?ISgBSMLVJgRSYGxPqb1UhJ7b3hmxECimkSCz3Sj07UPsVWalRj1a30w95rjH?= =?us-ascii?Q?9veIWgstxogF09xtgSIUcBWR9wyosOT3aFYQzVhmPV+J6s1XJiAzBT2g8zsi?= =?us-ascii?Q?NEYnqhz3yLW16s0DyR0YmsJKvppUurhahSoZwNtLV80I28m1bx/RT+RRvTPV?= =?us-ascii?Q?BfLz2jV3MowEKfbgeQYAaGiuu8lUkVgTaJh/oR02rrh37et8eNZqoliJUGNK?= =?us-ascii?Q?TAD2VwqHJI1+XMsy8KSp0GpEO+EGe3SW5KigX/I0H81FaDxg5HvCWA812KfL?= =?us-ascii?Q?reaWOD/73C5KPXrH5G5WCLDGsDiITZhfC80c7vyN0Pj9SxAm6shvjhdw3EOp?= =?us-ascii?Q?vYDvi6/XA5yJyVInhY7d4maURT7PZAaheLiju9BEB7XvYJLj2osmcpkQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 6:CuuEXCbIIVnqfVu0VO5OyPQhYw7EZHf9yMSCDkxu4dCW9kzIpq7v2TbRC+Tk+GPTHsJ/1j1ur9pgUZGlqT0Ng4JUnjCNPclri+8XuBKX06ZAXqx1rhTYiN6yAZaMZJfO5PBHogmxOrFb3oE7lpG5f0PrBZRc2Zmavj/+Ij9DEVPRIiYDD03y6N+QvzwPMFZ9yhOn0cxB07ibBYV11BN+85VggVc3Ua32OIc9kdltopDpPE9XI5tp3Xdf28eLW84fuf9AsBle0FfzSODzmRE8XtP0nEyky4MvaEayKrnhw8iQCjFsWtXxr7vCGhgwF7Lon8My6bwaSeWhZBe4zPieiUsXw57ggo6luO9iIV8I5jLbE3FBPSn2QS9Kds6sjYcEHaTK92c6Mdgz5qSzsIzaw/Q2jjssV+nS6D0gxvxghKTHN+pmlCzrAbSh7RyWPvVFHcQixFa6R72S1RJyKaV/Qg==; 5:naXUc6tzmssJYsR4+5Bteh7UqkeW1/5XL+ptY5pyc04/AjFubJw7ChBuCSF4HXpMd/wUx74Rg1TJdIGclbyqhXeECYHF5YYHQQV08UgHqLeryWHiRpSvMN6zoN7uh/3bolhLv4l/5yBKwrjGd81/RQ==; 24:d+FrfYiOhhmXTdhB8utSUPPRART8ArL/1KsbZmiDID5JI6jnVEBDWKKQEZbsQmI+I00acf2MR4cFtX8V3ZoVxenz2CZYlbIUd0VoXQ0WuF0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 7:EErGE2vjLaa7vx4UsSOKoRxDKq2mQ8XEK9GnEZ+zbuDUG/lObATAdMyL06LnRfT9WKKpCccydsV3QI1L+aPHpuUSQoC0Eg49IGDPr8ByOa//s1N2jVMqcKAnC06DC1WxJYve7f74Mro5uYfoDXko0Iq8VgTEi4K1nvG8q6ULyAY495M9lMorJsgPKqdevcUIojDXa4V1lhxLojxds/g3e5dmCK5Ooc6bftLBKET735yAkfr1fXv/QVBwSpQzRAUnVxh9BTf3bSBE8R/tnXdcXN1kosZalLyRtZJr9jUxv3aJK0Yf2p0HNY0IV8UW1bG4NKuik/QxvVKthgk8zv/l+tdO5ms9GutvX9oU0NH1EHBA4Y2jJI1SywAbnZdr4y0B6vrn26ztWXdLoK7sz1fPFAu8QWqHbeOgd5uLgoXP2W9enveRwjjdgKAUpPLxXLHVCO2a7YZic60Y8MOeNMyBSg== X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 23:36:54.1049 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d; Ip=[63.163.107.21]; Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR02MB036 Sender: target-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: target-devel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP target_submit_tmr() only supports the I_T_L nexus for SCSI abort and other task management functions. Make it possible for target drivers to specify I_T nexus for SCSI abort by passing the TARGET_SCF_IGNORE_TMR_LUN flag to target_submit_tmr(). Signed-off-by: Bart Van Assche Cc: Christoph Hellwig Cc: Himanshu Madhani Cc: Giridhar Malavali Reviewed-by: Hannes Reinecke --- drivers/target/target_core_tmr.c | 16 +++++++++++++++- drivers/target/target_core_transport.c | 23 +++++++++++++++++------ include/target/target_core_base.h | 1 + 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c index 311dc3c2f1dc..367799b4dde1 100644 --- a/drivers/target/target_core_tmr.c +++ b/drivers/target/target_core_tmr.c @@ -149,6 +149,13 @@ static bool __target_check_io_state(struct se_cmd *se_cmd, return kref_get_unless_zero(&se_cmd->cmd_kref); } +/** + * core_tmr_abort_task - abort a SCSI command + * @dev: LUN specified in task management function or NULL if no LUN has been + * specified. + * @tmr: Task management function. + * @se_sess: Session a.k.a. I_T nexus. + */ void core_tmr_abort_task( struct se_device *dev, struct se_tmr_req *tmr, @@ -161,7 +168,7 @@ void core_tmr_abort_task( spin_lock_irqsave(&se_sess->sess_cmd_lock, flags); list_for_each_entry(se_cmd, &se_sess->sess_cmd_list, se_cmd_list) { - if (dev != se_cmd->se_dev) + if (dev && dev != se_cmd->se_dev) continue; /* skip task management functions, including tmr->task_cmd */ @@ -178,6 +185,13 @@ void core_tmr_abort_task( if (!__target_check_io_state(se_cmd, se_sess, 0)) continue; + if (!tmr->tmr_dev && + transport_lookup_tmr_lun(tmr->task_cmd, + se_cmd->orig_fe_lun) < 0) { + target_put_sess_cmd(se_cmd); + continue; + } + list_del_init(&se_cmd->se_cmd_list); spin_unlock_irqrestore(&se_sess->sess_cmd_lock, flags); diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 1cadc9eefa21..9b1dced4534a 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -1584,18 +1584,18 @@ static void target_complete_tmr_failure(struct work_struct *work) } /** - * target_submit_tmr - lookup unpacked lun and submit uninitialized se_cmd - * for TMR CDBs + * target_submit_tmr - submit a SCSI task management function to the target core * * @se_cmd: command descriptor to submit * @se_sess: associated se_sess for endpoint * @sense: pointer to SCSI sense buffer - * @unpacked_lun: unpacked LUN to reference for struct se_lun + * @unpacked_lun: LUN the TMR applies to. Ignored if TARGET_SCF_IGNORE_TMR_LUN + * has been set in @flags. * @fabric_context: fabric context for TMR req * @tm_type: Type of TM request * @gfp: gfp type for caller * @tag: referenced task tag for TMR_ABORT_TASK - * @flags: submit cmd flags + * @flags: submit cmd flags (TARGET_SCF_*). * * Callable from all contexts. **/ @@ -1631,7 +1631,14 @@ int target_submit_tmr(struct se_cmd *se_cmd, struct se_session *se_sess, return ret; } - ret = transport_lookup_tmr_lun(se_cmd, unpacked_lun); + if (flags & TARGET_SCF_IGNORE_TMR_LUN) { + WARN_ON_ONCE(tm_type != TMR_ABORT_TASK); + se_cmd->se_lun = NULL; + se_cmd->se_dev = NULL; + se_cmd->se_tmr_req->tmr_dev = NULL; + } else { + ret = transport_lookup_tmr_lun(se_cmd, unpacked_lun); + } if (ret) { /* * For callback during failure handling, push this work off @@ -1641,6 +1648,7 @@ int target_submit_tmr(struct se_cmd *se_cmd, struct se_session *se_sess, schedule_work(&se_cmd->work); return 0; } + WARN_ON_ONCE(tm_type != TMR_ABORT_TASK && !se_cmd->se_dev); transport_generic_handle_tmr(se_cmd); return 0; } @@ -3129,7 +3137,10 @@ int transport_generic_handle_tmr( spin_unlock_irqrestore(&cmd->t_state_lock, flags); INIT_WORK(&cmd->work, target_tmr_work); - queue_work(cmd->se_dev->tmr_wq, &cmd->work); + if (cmd->se_dev) + queue_work(cmd->se_dev->tmr_wq, &cmd->work); + else + schedule_work(&cmd->work); return 0; } EXPORT_SYMBOL(transport_generic_handle_tmr); diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index fc52207e8076..b953ad635929 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h @@ -186,6 +186,7 @@ enum target_sc_flags_table { TARGET_SCF_ACK_KREF = 0x02, TARGET_SCF_UNKNOWN_SIZE = 0x04, TARGET_SCF_USE_CPUID = 0x08, + TARGET_SCF_IGNORE_TMR_LUN = 0x10, }; /* fabric independent task management function values */