From patchwork Tue Oct 18 21:52:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bart Van Assche X-Patchwork-Id: 9383149 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 0B58A600CA for ; Tue, 18 Oct 2016 21:53:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EEEED2881F for ; Tue, 18 Oct 2016 21:53:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E3B9C29773; Tue, 18 Oct 2016 21:53:00 +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 2A70C2881F for ; Tue, 18 Oct 2016 21:53:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756082AbcJRVw7 (ORCPT ); Tue, 18 Oct 2016 17:52:59 -0400 Received: from mail-by2nam03on0077.outbound.protection.outlook.com ([104.47.42.77]:4352 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756051AbcJRVw5 (ORCPT ); Tue, 18 Oct 2016 17:52:57 -0400 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=pttXpBiyDY260nN2rNcFE+7pLDXqP3dA4wqLs3uUMSM=; b=TxmEAUZlgByA0v8wrPv/m7eAUm11zshdzDMVeZ1LXAUpVy7C0mVSELIt2AE9oMF1+wY9lhqlFPDrKcr+9zBvPUllmhlpFTMBL0kUkMHGLaS+nTgbn4myGRGme6ksfgra2vzGULiBVuKbIaNI0ZfiLNBwLKAsBfBxH9o/yGBOO3k= Received: from BLUPR02CA057.namprd02.prod.outlook.com (10.160.23.175) by SN1PR02MB1632.namprd02.prod.outlook.com (10.162.128.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Tue, 18 Oct 2016 21:52:55 +0000 Received: from BY2FFO11FD039.protection.gbl (2a01:111:f400:7c0c::165) by BLUPR02CA057.outlook.office365.com (2a01:111:e400:8ad::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11 via Frontend Transport; Tue, 18 Oct 2016 21:52:54 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; lists.infradead.org; dkim=none (message not signed) header.d=none; lists.infradead.org; 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 BY2FFO11FD039.mail.protection.outlook.com (10.1.14.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.7 via Frontend Transport; Tue, 18 Oct 2016 21:52:53 +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 36.DD.26959.43796085; Tue, 18 Oct 2016 14:42:13 -0700 (PDT) Received: from milsmgip11.sandisk.com (10.177.9.6) by MILHUBIP03.sdcorp.global.sandisk.com (10.177.9.96) with Microsoft SMTP Server id 14.3.319.2; Tue, 18 Oct 2016 14:52:52 -0700 X-AuditID: 0ac94369-b97ff7000001694f-72-580697341e4a Received: from exp-402881.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id D8.D9.02564.5B996085; Tue, 18 Oct 2016 14:52:53 -0700 (PDT) Subject: [PATCH v3 09/11] SRP transport, scsi-mq: Wait for .queue_rq() if necessary To: Jens Axboe References: CC: Christoph Hellwig , James Bottomley , "Martin K. Petersen" , Mike Snitzer , Doug Ledford , Keith Busch , Ming Lin , Laurence Oberman , "linux-block@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "linux-rdma@vger.kernel.org" , "linux-nvme@lists.infradead.org" From: Bart Van Assche Message-ID: <23d3615f-6905-0b60-a531-4a4d2cd9cf3f@sandisk.com> Date: Tue, 18 Oct 2016 14:52:53 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrPIsWRmVeSWpSXmKPExsXCddJ5ka7pdLYIgzUzOCz+7znGZvHy/AdW i5WrjzJZrJqYZ3Hv6Bcmi723tC3mL3vKbvHsUC+LRff1HWwW5z+8YrJYfvwfk0V7bwezRdvG r4wOvB4Tm9+xeyze85LJ48GhzSwem5fUe+y+2cDm8fHpLRaP9/uusnm8fbmT1ePzJrkAzigu m5TUnMyy1CJ9uwSujNsrNzAXbBSsmHB0HWsD4zW+LkZODgkBE4np/S9Yuxi5OIQEljJJdDSs Z4RwtjFKfOrbzQpTtW7iVzaoKkaJqTcvsIEkhAVCJU7+O8oMYosIyEp83/0aLC4kYCfxdv1O FpAGZoG9LBIPL98Cm8QmYCTx7f1MFhCbF6ho1ecDQDYHB4uAqsSdM2YgYVGBCIlNX+dAlQhK nJz5BKyEU8Be4uqBcBCTWUBTYv0ufZAKZgF5ie1v5zCDbJIQmMAmMeFyByPECeoSJ5fMZ5rA KDwLyaRZCO2zkLQvYGRexSiWm5lTnJueWmBoqlecmJeSWZytl5yfu4kREo2ZOxjvPvE+xCjA wajEw/vBgi1CiDWxrLgy9xCjBAezkghvTC9QiDclsbIqtSg/vqg0J7X4EKM0B4uSOK/bvS9h QgLpiSWp2ampBalFMFkmDk6pBkbhvPVy6xfxb1md5RLlHH2IK0v4cKVP81GPf/9259wRnfVt 0b+mux/MRVZxTFt25OVmztISnelbWlxyLnJ/5qn5wC5fdtPx2oRd2yZdyfdbKCnRYTDt32Pu 7Clrj4o8Ktv3WvzQK5EbtRylRhvkP7xKWfC0znvW0qRbmn9eXPtbmJ4tlPKskMFZiaU4I9FQ i7moOBEAAvJl4sICAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrGLMWRmVeSWpSXmKPExsXCtZEjRXfrTLYIg1U7+Cz+7znGZvHy/AdW i5WrjzJZrJqYZ3Hv6Bcmi723tC3mL3vKbvHsUC+LRff1HWwW5z+8YrJYfvwfk0V7bwezRdvG r4wOvB4Tm9+xeyze85LJ48GhzSwem5fUe+y+2cDm8fHpLRaP9/uusnm8fbmT1ePzJrkAzigu m5TUnMyy1CJ9uwSujNsrNzAXbBSsmHB0HWsD4zW+LkZODgkBE4l1E7+ydTFycQgJLGaUOHVu ORNIQlggVOLkv6PMILaIgKzE992v2UBsIQE7ibfrd7KANDAL7GWR6Lh9CqyITcBI4tv7mSwg Ni9Q0arPB4BsDg4WAVWJO2fMQMKiAhESm77OgSoRlDg58wlYCaeAvcTVA+EgYWYBdYk/8y4x Q9jyEtvfzmGewMg3C0nHLCRls5CULWBkXsUolpuZU5ybnllgaKhXnJiXklmcrZecn7uJERwT nJE7GJ9OND/EyMTBKdXAuHOjsUV9ZbvkoX3Z3rrT4pid+m/sv/uduejc7mNTFm436g+7WDfx ieUWU6MG9XdZiwQuSNu71PYUbZjw8X/zO2OBqYK9NQUe9XcWy5a6/zoytzNkpv3sXdMZTjhu y0h/oXDPfNqRLTdneHFKHNO8Y6FdkvJ0gdU5C7Xuvl8qehvv9nAWM2T8VmIpzkg01GIuKk4E AO3n7bM5AgAA 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)(2980300002)(438002)(199003)(189002)(6916009)(8676002)(5660300001)(229853001)(87936001)(47776003)(305945005)(64126003)(8936002)(189998001)(110136003)(65956001)(356003)(7846002)(4001350100001)(626004)(65806001)(31696002)(50466002)(86362001)(7416002)(69596002)(76176999)(50986999)(92566002)(54356999)(77096005)(36756003)(65826007)(230700001)(19580405001)(19580395003)(81156014)(81166006)(2270400002)(97736004)(68736007)(31686004)(586003)(83506001)(33646002)(2906002)(106466001)(53416004)(4326007)(2950100002)(23676002)(142923001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR02MB1632; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD039; 1:lYEtatfQi9gLnCyRTPBF0bOxQAgk86tQ1ouPXM/xfnn5oyuub2acrtj/aJgtCevXy469noKpdwrJUpyl8/WS2B9hQf4d/rnlatpnYE439j646TQsA/Sd3laR/OtsUkOyQkkmQgvNzhsjnTFP+sMEAjoPxhlu/lzlkEN/HnIDSaN5xTPscBRY45RTFrIwGtQiatZ0NGSnj/R/Y66V39IhjEaCO0YgVY2ID1bGS3MXlJQ+P51O4fmN7J1K07Iyl2x1Jv0fClQL3DILw9WbJeH3ksbDfm+vcZq8/p+YOtymV1d/tbhYraLD8tnyi7OE5v3BnRoDmt4WZ5Pk/74Br9O8IPDXmXbVcnImk+ERjF1PwnEAJ2rIEmR3e1RaZ9LysFGknJt95ayGWDNfFSZA4lUJHIRN4RsgzT9gJQ/W021hnUXDcAfQfdQlmAu2pGSSxwa5232n67SyynF94vR4jUWTCXs3LVfK0lJEXy3biOxj0wDA/qGT0SsKTdcfd1qZ27vgHvKy1kOEJ4ElmvZu//H1gmntS3PLYZ9rpZJG7nrdqHRxE5scckvELQXNpEMm69dk X-MS-Office365-Filtering-Correlation-Id: c51558fc-3d5b-4c32-45d6-08d3f7a11d31 X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1632; 2:LcJTnzCjVDWSWZIMCk1VUENzCDn0aIs55ykX75ofD0vu3mwl6baXfQp0VsSg4TT7F39Cqfiat21UJRjrSl0DR6jT+Zhxi7vaR1YA/A/OQyEeLlLm7fomtatIlg2o/LdYFdCQq5+CPx78rvZletcMJa5D4Qd5JjKk/vPw0mMzo9/hCarmFq+aVz+VZuYNpH5mnF0/d+GStkgFfABSbgJumg==; 3:OIkXJXxNABGzvWKthh/B9a52CPAr+DT16fDIFyoqDg+cTZXS9zcFxtzrjYs6o1IPqocFFss8UI9U9+vPArAzqbupn6FqiqUAHMinkuxkc9mruRJoe5bSJPfcmTdNw7DJtZkukatVVvezjrTTNtptH3uh4EaGDCW/MRc4JwUuqzBXwGMo1e7/KvkfCw2wSBnVrMOBX1IgADPJEMe+40MZRzXZPELC4yi+akNgbFS6u6iHeNIkC81H1AF3hpQuFD0cBMV+zTDuHSJq4vUK4pRB+GSbAuMz8mrXoKefTcdsim4=; 25:FfRnaeGpGHPXXKEmFXCzMcwHxfBEiEOifwQU+JQPLJBTpOjaFaQKeXZkYC8aYQsLQ041DGoojjcY9h7OcgA4ZcgAWhZ/RhoAM2sXp1LiQ83uFLtYHsBTEa3MO+TvgxJ+6pY2xblBLu3r5zVgPWq2ZqhOi2EgMtmNWKiZM3v6zo37DLMFYbrq3px9zu1AG/KSKUVZsKNi3110ocHyC8gWzIEehCz6lyEAHMa6inAARZ3PzYMp+YoV6U/DXFMWxG4Gs0KlE0lEmLKeX4odVh9/UnuQ2rc0fv2PajvZ7qC5nymly+Grs88+9Cn+uIQ+O90DxxqOuBQxLCr5sSYW5y1Z3ZOwo5e71lkHBC6JsyRIXGUr7digBjhyQcEgaOwfOUOhPcx/RYhi/IepmHAqsM8I2lX1r/uajM3 IOMpi6Ve5mWQNxty41AxNmqKc85OtgOWy X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(8251501002); SRVR:SN1PR02MB1632; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1632; 31:yt6rr0sWX5QLlsPis4ZVW1aNY10pMTdIGe19AvXkA6zroAdd2ctDTUtSqSlOToOyZbF/LpHv3LB2nx64Izq1y31KAwuyn0onGDZwoeWDInrkLVKe67YnF38yxbFuugTKhN9jx4Li/wt+1bWhsIVIyAQtub76a4nq6dFozWuWmYW8c3TxxrfTbJ7G6VDqCPOSCOXnH9tQ+Jq6KsFBIYeGbNE8kqUlITcFtVafdqUZQAVdzUeAOgmT8uq0abAHJFg3pWwZAJ7kaR4+MTyUExVxNw==; 20:wB8VfX2ZdPMFS53rNeN/b6nKMUZXGcMTYx8ZGqCFWQvmHx9IDl9DQTLmb++oQK2TtTgABwsMSBzVsYXNtYf4gr8z3cJqAQCD1Mqv4CVvXCCNMmlnG9kCA+nNObug3csnFbFhNvDjwhxfvhj5mqscrUjSXb4MlF6BWnF9PWOaLkSxVQIq5aBFKPc2Ex7GDc3h7YZVQsRXbhtQ2h2zEWCA7Jud91JVgxEf/Ltj2h5zkuH30dUnj5j4k+WLPo06E2AOsiYYrJe7GF7tYpdLY7Y4j3qqxBKXlc3vyZY2Og/M+JkdGKc/TaxIl2GdjCo8yow0oGntuoARc1BOMCVCrbdn2IQSQoCggQ1nRR38nrP/IYomf+Kn8SykstE6p4yAfB9Rx+qZokl7b4Y5WZXqe+YQJW9r0FkAHqTUJ2wmjY2Pkwnn1OdwmaGl8tgNaQQksDWn5MvForEVm03qxe/3JqY2LxPlFenrXyDjExRD62RTJt8gz070WLvh+7WXEAFYjy2c X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(104084551191319)(146099531331640)(42932892334569)(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13016025)(13018025)(8121501046)(5005006)(3002001)(10201501046)(6055026); SRVR:SN1PR02MB1632; BCL:0; PCL:0; RULEID:; SRVR:SN1PR02MB1632; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1632; 4:qvjTSXRKnOhRS/+xEZh2rK2LnYvqqlMroAcjEeGVlDGPmwVBAO0yNapuDTYmjTU2QAsl7sImvZKQmWhqabnE8jV6n1L2yU+Mtkqe7QoImnmXC3dGS2KUIX1OcaIHNA1Za/sFB/5Pru/H/o2IX5ZgMP8Q5AyPsNI45k5/Oo0WYa3rronO/QoZbHGLsKiw4sZapR3BP1jpL7f+b0Dl5WQCuZCkW4h/0dmhCX3LqIg7PkLDSXzuhezVwzIpMnAVUmxfrqtUqgBDnagRgMz1zbNgZDNrk9h81sIolEHUfRcfWLeIVI7RwKaK+j7ILyTYDsSPVuJOL20T00/3I5jhiMVLe/xHQ+JyQoug3TsbNQRG5caLegaMEtF1fcQDVhChIojQhpEgpZZdd349+GhpNfGH+NzynXL7yBT5nXp7GrkhZ9MS4GoagdcF5UykBw1VuAQTZjSLQ6JzAbkaLEIWcrtTAfPJ/UC+RbRPnPwoNRtfC0HWL0ObNARVE9ph3eNRs38ye3SqrmuDA00BsloHRYSK3E87rCdeYn8UeljwjQt1JaFp+IKK/U3sXTtLrYE4g3IemDUW6rv/s/WqcEPNh4QPx4vfHMgbHzUw0XWENqGRGgc= X-Forefront-PRVS: 00997889E7 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtTTjFQUjAyTUIxNjMyOzIzOjlMekhMRzgyZG10Qm1LOGh5dHRuVW5QbFJm?= =?utf-8?B?dmF1ZE5ETXAxQS9TSjlaZEFlNW1McWYrcG5aMi9tdDFPRUlORlpsWjBQc3Bs?= =?utf-8?B?NndjcEV1bHlQb0JTY3A4TnB4dy8zbXN1c0ROZ3ZMeDJlR2tJMndsRlRocVEx?= =?utf-8?B?cVAxbXFpSnRZWllmdW14VXQxcmtRdit3VldiVkd6RHo1aDUxTFAxYVF2NTZ3?= =?utf-8?B?cnF1S1krdDk0RHBVdGJvNko1U3pnSUpheEprZWNvaGx1TXQzanBGUjFXQ2Yr?= =?utf-8?B?cHlLeURiVCtLVDh4N24zSlRCbzNMQktRV3RZU2F3dk1IQTl5NTRZS2VoRFZE?= =?utf-8?B?UXllc2FRNTVVTTA4S2I4SmxPdWZLbCtkRU8ybWQydVB0VW9EQWFQeGFIZ2Vi?= =?utf-8?B?bmVHUUMwaExMeGhwRUp3cnNWM3dhTTRaenZWOHB6UWJZYVhWclkvYjh5UjhJ?= =?utf-8?B?SEtTTzl0U1BKaG5qYUlsUzZBRk5ScksyWTRKbmZheENkTWpzdnZIbGNpL3hE?= =?utf-8?B?Z2wzSVpjckRmemM0ZE9UdHZ2VUFaZUlaQlcrOUZzeFlZY1JaVk1RN1A2d0Jr?= =?utf-8?B?SEZLTDErMStVNjhUVlRKcktnbnAya05JdFJWUFpYdVQzWjhrZWRFN2E0WVQ1?= =?utf-8?B?V2FuRHNaQjN5Q3BCYVM3cFJiRlNzV0UyL2RWc3pBMFQ1MWFuQ1cxWVZZMSts?= =?utf-8?B?UWRWbTNOYnJGQ2tpTlNEd3ZmMjM1M2ZmNENWcHRFdHZnbDBoYVJ4TXhVWjlx?= =?utf-8?B?dklWVnlsY3BNQUlKK09aZEdGWnUzdlBWWHN3M1JmYjRhZzM0K3VzVCsrSUN5?= =?utf-8?B?MTVVZDhvUE0xWjdTUDVwcFIwWVB5M3I4RHhjVmlsbDdjZ2VsN20ySlBVZ3lV?= =?utf-8?B?bHJmMzZvMkpQWDRTcUJGUExGNlFhWlZGTnlrcS9zREUwK1FLd1RoT1l4V2xt?= =?utf-8?B?NzlHcTFzU2VjWkF4SmdQU1diOVllR0tjdk5CbCtjdGptMmRBdTE2RDNGUWcv?= =?utf-8?B?dG5oU012SUdNVG1CaE55R3VOL29ielpualJKRCtabGRETlNNK0xBb0dJa1Zv?= =?utf-8?B?cTVaZjJmVjlaRnE5b2N6K2s4cWJ6Z2ZGM3JUUDc5K3RYamNsL0w1M2ZkajFs?= =?utf-8?B?ZmdJdnh0T3NGMEhWVjVHTjJDdkdNS2ZMcVVEZUplRFpIaVpDWWsvMnQ1cVVv?= =?utf-8?B?SXloZ09kZkZ6K285MU1HNlR4TkFiQkhyT0pzaEI2a1ZwVnVxQm5yYnlCUXNv?= =?utf-8?B?bG9WcCs5WHc4b2RwK3A3aUhqOHRKOTFKRHg4YnJqTW1yakhDNjhETDAvR3Uw?= =?utf-8?B?RHAxVzk0dVJXREN4aVFXOTJhN0JKWmtBY3V1Tmxwek1jTk1lN0FpU3ROL1FX?= =?utf-8?B?a2ozQytNMlhtYXdnbXRzN1FFazAxWDI3RWxVZzVka0MrckNXWjdUQ1Bmcko5?= =?utf-8?B?a1Y3R2tvRzA2SmFHOHlTbFRUSFFDYmlFZHhqb3hIUk5Ib2tFYkVsdUxPNUtG?= =?utf-8?B?c29RQW9LSHFMbkpTYzdDL0MyQUFEL1F6RU0zOUlPd0dMYnk3L1FSell3Mmty?= =?utf-8?B?TFYwNG9OMEQ5T0g0Q1prUW9zS2VvZzUzVDlnd2JqYnFMUXhxUm5XSUdBeFAv?= =?utf-8?B?MHZIYUJ4N2NKNGIrMEY0clpMaW1Udm1LcnZjSGpOM2NNcVRLaXRiVUlNaEli?= =?utf-8?Q?2hwaEGMkCtACvdNVVXFLxYP0EaLvXowdCfzOaLQ?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1632; 6:qGJcCiRQ6h5ybLV4pZ1negn+XOF4psNgHjqfVNoKPpVf6cvuMDpYL2QaCqGUNiDtaYKs4lCpYq8rBNxvaxGtIxo+893ChCESEoklHunnxy/axJG9MjSwrvGa9sL9CoLA/phaexJoj4r8eyDGNiJ7NCLEpXvF89ArHvZIZ1Tg8sckNvRBJsKbNpThWEG8Xx8Weesk7RUW2V+OmtjQGAajzgQmKCBe77DXuFRj/17GnQq+yY4wjr1wrMtN41dI1HoFH/30mhSrh9/Hnc8aiUFKqke2ZR8samyL6WccbK2N/bIoF+LPjz3u3455SFqqU1ZeXj1wXnJuOGy21dq7W/ek4A==; 5:jWiR/sLcrSXDejU9gGDJkisrp54NBvFYWfowBzOwiDct0WU6GHiTXoDD1Y3aE8yweohNtiDcnv6fNzAtsu8Q0F0Xat8uOYnnVzemvHlTIVxVSdnlRVOv5X/7eNydZhVCTkx424gjCoCfvL6/qpEfdw==; 24:99Vt3aHPscDKzxGW+tRb/bvM2QP4Xm1hPNQTtcNOYWCTQKQtGHFSOf5WvZuK6kaq+l/gKsNuxhoMC8Xv2EAex8yNTNhQkjI21iBHbk34Kt4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1632; 7:NgssKxUuoOgDdmEM62RCbk1ku9ncZE52pLQpQFHsDr7Voiw38FK+PVIFV5Luf42BOp1hIr7oHjpHhXb5cv5mPNgLyz/+FiIqGYQnrfikXgxYKpe2VOxEPjO4aA7MUbYgWd6PsbqaggB/8DmO5+pLl1M05bcrtjk4K0GV9YGYtb/UNuo53uThxjkBlZF6pCphcqTifGxIdCtNenGJ3w+0aARKjXgjxGf1u3vCd1eNl3CFqdfIVn+g085v26IJnUMC4ygIcCPDKCda4USI84yDHcGVwmCfCrm9g+V0MMFWB9ytkUJHOiWyE17BsMYVxnbPnQyDRr+8OpzNOnfGl0fIOQiCp1LWy2+iTRt+wDjn/jc=; 20:+yw/HIZCTzDUD0gMr1dGv5XNw83PV/+ENMh2PVpAHV8ZWlce9kMmK3snOgf6WXdLKqPbh9DYx88boST0gJC+k9H1ieVmFSzQl1805bVxXQo5B97AMuOVAzmMXX5Uxl2o+ZDqtqqjeupw4OGpE4MopD7CDuVWlqxP5U5xEF/G9ASElcBH6Uw9qMV28ebUPahfs31kk80AZ6JkCtSmqtqg2AACzkmIEosi3/vdZlnm9XCAnrnsLPChHMet3V4oXpye X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2016 21:52:53.9999 (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: SN1PR02MB1632 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Rename srp_wait_for_queuecommand() into scsi_wait_for_queuecommand(). Ensure that if scsi-mq is enabled that scsi_wait_for_queuecommand() waits until ongoing shost->hostt->queuecommand() calls have finished. Signed-off-by: Bart Van Assche Cc: James Bottomley Cc: Martin K. Petersen Cc: Doug Ledford Reviewed-by: Christoph Hellwig --- drivers/scsi/scsi_lib.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index a5a1b5d..b7e9662 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -2724,8 +2724,6 @@ EXPORT_SYMBOL_GPL(sdev_evt_send_simple); /** * scsi_request_fn_active() - number of kernel threads inside scsi_request_fn() * @shost: SCSI host for which to count the number of scsi_request_fn() callers. - * - * To do: add support for scsi-mq in this function. */ static int scsi_request_fn_active(struct Scsi_Host *shost) { @@ -2744,11 +2742,19 @@ static int scsi_request_fn_active(struct Scsi_Host *shost) return request_fn_active; } +static void scsi_mq_wait_for_queuecommand(struct Scsi_Host *shost) +{ + struct scsi_device *sdev; + + shost_for_each_device(sdev, shost) + blk_mq_quiesce_queue(sdev->request_queue); +} + /** * scsi_wait_for_queuecommand() - wait for ongoing queuecommand() calls * * Wait until the ongoing shost->hostt->queuecommand() calls that are - * invoked from scsi_request_fn() have finished. + * invoked from either scsi_request_fn() or scsi_queue_rq() have finished. * * To do: avoid that scsi_send_eh_cmnd() calls queuecommand() after * scsi_internal_device_block() has blocked a SCSI device and remove and also @@ -2756,8 +2762,12 @@ static int scsi_request_fn_active(struct Scsi_Host *shost) */ void scsi_wait_for_queuecommand(struct Scsi_Host *shost) { - while (scsi_request_fn_active(shost)) - msleep(20); + if (shost->use_blk_mq) { + scsi_mq_wait_for_queuecommand(shost); + } else { + while (scsi_request_fn_active(shost)) + msleep(20); + } } EXPORT_SYMBOL(scsi_wait_for_queuecommand);