From patchwork Thu Feb 2 00:58:40 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: 9550899 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 D856560236 for ; Thu, 2 Feb 2017 00:59:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BE24F2845B for ; Thu, 2 Feb 2017 00:59:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B2D9D2845F; Thu, 2 Feb 2017 00:59:18 +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 6B9912844A for ; Thu, 2 Feb 2017 00:59:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751370AbdBBA7Q (ORCPT ); Wed, 1 Feb 2017 19:59:16 -0500 Received: from mail-bn3nam01on0059.outbound.protection.outlook.com ([104.47.33.59]:41792 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751369AbdBBA7G (ORCPT ); Wed, 1 Feb 2017 19:59:06 -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=FKPWWZLa3xNjc8wC2hBNOkeDuRgOqqx+fETGy9rzuPE=; b=p8RZfM6xd7KtWwVT39Qz6Su1Fsfv8rOHrP1JM7WI1QQsIeJTgr+ig51qjy5UhyJosUUGXBizJQtXIcU1a8v77dcDltIpUi74vwxtyNVOClBQJaAbpP8fIsNWZYwvReMzBUwa45OAt+C2aWZRFlDybpszNdF/dMUUL4Mqpm5GrQ0= Received: from BY1PR0201CA0028.namprd02.prod.outlook.com (10.160.191.166) 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; Thu, 2 Feb 2017 00:59:02 +0000 Received: from BY2FFO11FD011.protection.gbl (2a01:111:f400:7c0c::186) by BY1PR0201CA0028.outlook.office365.com (2a01:111:e400:4814::38) 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; Thu, 2 Feb 2017 00:59:03 +0000 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; 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 BY2FFO11FD011.mail.protection.outlook.com (10.1.14.129) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.2 via Frontend Transport; Thu, 2 Feb 2017 00:59:02 +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 3C.7C.65426.37182985; Wed, 1 Feb 2017 16:46:43 -0800 (PST) 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; Wed, 1 Feb 2017 16:58:57 -0800 X-AuditID: 0ac94369-b62949800001ff92-38-58928173dd3f Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.8.100]) by (Symantec Messaging Gateway) with SMTP id A1.73.16817.15482985; Wed, 1 Feb 2017 16:58:57 -0800 (PST) From: Bart Van Assche To: Bart Van Assche CC: , Himanshu Madhani , Quinn Tran , "Saurav Kashyap" , "Michael S . Tsirkin" , Juergen Gross Subject: [PATCH v2 23/36] target: Remove the write_pending_status() callback function Date: Wed, 1 Feb 2017 16:58:40 -0800 Message-ID: <20170202005853.23456-24-bart.vanassche@sandisk.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170202005853.23456-1-bart.vanassche@sandisk.com> References: <20170202005853.23456-1-bart.vanassche@sandisk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrALMWRmVeSWpSXmKPExsXCddJ5kW5x46QIg9PzpC1e/HjCajHnppHF /1+vWC2u3XjLbDF/5l9Wi9alb5kc2DzWfTnB7vF+31U2j/VbrrJ4fN4kF8ASxWWTkpqTWZZa pG+XwJVx+3g/W8HWdsaK1ZN3sDYwfizqYuTkkBAwkdg4/wITiC0ksJRJoudqcBcjF5C9lVGi 5XwbO0xR67bFLBCJzYwSpx4vYgZJsAkYSXx7P5MFxBYRMJD43XuBEaSIWeAjo8T7VwvAxgoL hErs2vIfKMHBwSKgIvGhqRAkzCvgIPF67QSoBfISu9ousoLYnEDxxcchZgoJ2Et8+3MUbLGE wDRWiZZvEA28AoISJ2c+AStiFpCQOPjiBTNEg7rEySXzmSYwCs1CUjYLSdkCRqZVjGK5mTnF uempBYamesWJeSmZxdl6yfm5mxgh4Z65g/HuE+9DjAIcjEo8vAIikyKEWBPLiitzDzFKcDAr ifD6AqNFiDclsbIqtSg/vqg0J7X4EKM0B4uSOO+rV/0RQgLpiSWp2ampBalFMFkmDk6pBsb6 NcULNXuu73BwOGNVL+BZJeNzdq0kd56lcdy0n1VezM9YChaHBb4PnPa97t/Ci4fqBefFf/gk 97WgqHLdZL6/zlNSdfab7hK6K+zloJ7Ncm3BCYWeON3lztmbFRbPS2oMClV9HnzNoKvskXSt tonYDgVz43eaRpe+rE1bZGse4n9rGvuRnUosxRmJhlrMRcWJAKpfgRJzAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIJMWRmVeSWpSXmKPExsXCtZEjRTewZVKEweQvUhYHf7YxWrz48YTV Ys5NI4v/v16xWly78ZbZYv7Mv6wWrUvfMjmwe6z7coLd4/2+q2we09acZ/JYv+Uqi8fnTXIB rFFcNimpOZllqUX6dglcGbeP97MVbG1nrFg9eQdrA+PHoi5GTg4JAROJ1m2LWboYuTiEBDYy SsydfY0ZJMEmYCTx7f1MFhBbRMBA4nfvBUaQImaBz4wSnxf9BSsSFgiV2LXlPyOIzSKgKnHs xF82EJtXwEFiek8DC8QGeYldbRdZQWxOoPji4xBDhQTsJb79OcoygZF7ASPDKkax3Myc4tz0 zAJDQ73ixLyUzOJsveT83E2M4EDhjNzB+HSi+SFGJg5OqQbGvKrYSVOj47fvn+44d2qB35rs ZUrVonkp75+yiLid3sMesWZ1gdWJzcaauh8N7sfV/7gw0/9Cvvj0a9P/75ic9bDDcpu28rHv r8Me3nnoc+5H0/L7k57lCsr43i1cINWktkH/QUcki/6fQ793cv5a0fnV5EFDudVrfb/9h7Wv Ney93DjXVSdeT4mlOCPRUIu5qDgRAIPrxw7EAQAA 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)(39850400002)(39860400002)(39410400002)(39840400002)(39450400003)(2980300002)(438002)(189002)(199003)(110136003)(1076002)(50986999)(76176999)(106466001)(5003940100001)(81166006)(81156014)(2950100002)(305945005)(53936002)(8676002)(189998001)(6666003)(356003)(47776003)(2270400002)(1691005)(48376002)(50466002)(69596002)(33646002)(7049001)(92566002)(6862003)(36756003)(6200100001)(77096006)(97736004)(575784001)(86362001)(8936002)(5660300001)(38730400001)(2906002)(68736007)(4326007)(50226002)(626004)(54906002)(21314002); 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; BY2FFO11FD011; 1:t2gMAlvZMqm/MSOnXV4PIcWyRXgoKkRwzkzU0jsHyntNZrLI95DrXcrkfYSe5Ao93XfCl4sopV0+TunUQ6LK7b6cE94h23m1jMp3XwKMmQzNXPwkQ7hdlx0WcvqNgmNrbqmgI4SNPYTRiTcV5wtrXrA9Knd7xsYQIqnHKLA+94/sJ47WBgQShb31OenZpaUioLes33+NDoucdPVYp6y3RlDcIAlSNVHe3Aq9HI0SFupfg6vZVse+sXV+6xXw3l7us6cZOXA3XqisAMYIFBeIOBInbezwY1C/XUhwvrZ/qJ/VRrjot/tMDlGRECF+YE3U7ISTg/SnQA9oUdnWRxZTjT9FAjm3oudvHcrhxp1huVAAi+4L+YpipRYwRbYucmVHWYfrDpkRS4q3+Fc36rZQv5mKevW3S/TsVr7YbGa0+lkwAKGDf4R/FRNM2i0ZUbrZfyLNHOUL+iyWycXtlLLKtJ9hXe6c4azEYd5rQWgkV+w9dIg1n2aQmx6IgFfTiWl1 X-MS-Office365-Filtering-Correlation-Id: f843a56c-631e-4ecd-978e-08d44b06ae1c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:BLUPR02MB036; X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 3:8LFXEj27to94F1t9mCbohZe1bFyXe4AePhoCNu7hGkdeRaVIWrVQGUy5SNw0T3/PWCusGVguLeZbbFhQjUZNu1U+TaRw4axRrrnwZ6XSR3njJ1qpOUb7m/nbBCP0EZHmDl8Fv2FrlACjz2aQG/YYSgATHce7QDz0YBLqr6Fvx8HHy22LMyxWNbxshLUOge579QMXpFwuaTmS6s7qgFs0nvrbJEbG4eUI+vtTSx5Eg5N8e5x0FbCrZNlrjWitLNN2yDwCwTmhTFrZHRKKBcoxQjw1QL/mTWhgtEllQnNjMDJSFi6rrCWByexkWYxF81giedW6sIaK1EIx1rosehiRjE5SmcSIyvgeaSOUb/zBrVvMOcx369+u0OAjlsfwv+iohkBo/TClzGAjeP1ag4d4Fw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 25:33JZVOxC7cwAhvJQ375Zr7/ouG0uHPLxcUGDXqfyggWoTwybUfFNHb4kKSBSIPjHMW8XFln+XevjEDktJSp/4Ly+MlGuUL8CIhZcDWqTrxu45dqUKbA10y6BDWC2rDe1sKHmBFKKA2rZq8hhFo1NaFHABNlrT8tWfiuHUojkA8OudadBqoUDK+p87e4ohIiDWrYw9L7FOcoqP3Avg+tvzUvr2gG/NLM4I2nY29v86rJ7AawUGb9qfUaUZz8VHTamFtf4jBiIvdqT5EmTIdEHjhJMzkW9P6HDvNF8grJjjR7VpIm8VDZI9hjAqQ1jFIHy4FEKlW2y34zeCrStdgecgEL6skbOAG+HU8RPjYLOuxVqKPOaR0FuKH82ud6tVfQBrHyvUW+i4GRe8Vw51TEM44osGuiVzPuSLaESeIAVLmheWId5J2cL8hYGHVRenH9x+7PXZP/FGEgSi1lCfLMWvaoG5/5VrsdnTRyBZ73vFx8tqEUDVyqehKxTQ/yqAYT1nJnNeJ8DOmk0v4elaPGxDeQp41drK8nXchqrTAgeIbkFxj+iOaKGtvYR0CImBHKcA3Ewe9YFt20Cn1/Fc1aYSj5V1OgAE5Esm+897CJKYp08RLDQnlvTVfhLVAyr13e6qarTzBD4gwE1B3+C+uSJ3xKalXqtOOdPAAZFhAguL2ynVYh4biujQ/zgtVnVl74VFVYjGx9ZzDpVPnDJfG5RXHS0pjC7ht5BDUW4LWk7hPsRoy5zt3dJUhIVLUa/JQRoyubHbxh5SprNcjQ0Hb2m5g== X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 31:7Y1Yjx6tihRaBNehvxiv9ee/CyTCrmqftQWnvoE+3Sz23QxmKGNYFbUjoAxql9sZCrznPW4775VbaIuunZ+8E4hlx4CyuA5cDFIwdSfq+AlQ3Ri8Pnrek7BXTZO79DPHwa8RcbWnzXJCX8guZXa9/lL6reBe7Ksfgf6vL1gX8YQMQ02N7YaOwEb/orRGmf/TRtRU/jv02tNTv+V25Ofltn7J7DsMHgxy5OX4jXkh0JOZjF7/+5Mmk0b41k8PmjrE7bLPWP2k9TcZIqysgwHCGbxrJjYNaBVOBlbZrR9mpCs=; 20:JehYWM6FOD0YmnTDUh70RxA2NT5CKK2UyMgwku8cn4gOSxkBCoC8wKceL1IIt7s2LXLWt4uRlachPvYjxqNwb5+apEivoGFCjK05QW0AHwR0RDqV6aBSRkWPfRU629J7+0xBCYVLpgd10Tg0NMH5svRewLyqaTkkmv52cW08EjWHon7kVcK4EX7oxRHIeY17HIZ/58ahrHNaMaM1B3MQbpmtFs3lmZqA9jHeG9iA9YdPBf2wDyN2Ym+zHfpCfp95GHWZH0VeAq/xFJATHzGvP4/M3h55NnSUH0+eBKP6AXjKQaPWUHCNJt/khxTgvZ+kk2mgr1P2+2R3ofyOg6IlIwmzxX7Vypov9uBySQ4LTns+I7fmI2SB/A5RacJdtS44QY376iBgEPwMYKOKBqME8dN2x2RGFNcmItKNk09X7c81OQrpvf5dRSW91JefhnfjpHW0yfvxgw5tA4YeiMC85CPW+6A+lcUVx8kW6tjL1yV/++P/2vYTZTgN2cdGm1mD X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(31051911155226)(104084551191319)(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(10201501046)(3002001)(6055026)(6041248)(20161123558025)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(6072148); SRVR:BLUPR02MB036; BCL:0; PCL:0; RULEID:; SRVR:BLUPR02MB036; X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 4:DN7gNUEMHqiDqpLmoud68DWSvmfeUE/vo7LOuQqYSZCB+gsAerrDI/zaxaXxqflQb91gH0eX14GV3W/L/b5TAQqIbyh+HzOhkhHiS9We281UF9z+5pv6O2f61Bx+4437xf0xuubH+Xlr21Dw9PuhO7OM/xAObut7PdQU2loKy88yhlae3cOV8GDTTLS8XhRh101ZB4AY0fEx8w+v+TJzenykbcx6r/cCk/NadfoumQTUhhSDRaapCgarJ1WM3MQrlehg9NB5fMHio1YzvLrOb+NaV/iC8Yic1Y6+tUvPjIJ2Czcyi50yNT+DgFDWpHfyI2G/Mp1jPz+oyRNWw965xkeQTTfdQTgOD9Q+4evaz6nqgpYirZlx9+q0J9SheVy40OP2buRIkLJ362Hr4c3hx/WKrMZLvTB9H+1m8+nGsOuC15fWHVw7U99ge9Gg/8I+IKzJsV9Y5oipApx4mjMlg9T0BbzUS3d8aW54gIQga01WVMJ5wi12abH7bX6sqb/GCPOStcFBxswlFBm+1w5YH0LRBqDZDgS1oZsV3ekVf24pyagILkb+sG+wzKOhOo/OoHbYCK2TgAlrjnBRvy+9z/78ldCIOTgLah3wRduHczUAvxAl33T19iSmzaCdCelI9rjweuvDoffgUMdXHkqsZJkQvjlJyq5CPBesThkR6RuwI9K71ZqAYP6T07gdSWdYGLfwAeFFNAQ5pYSY/zpFcSbfbAPNSPU8p4gH6TpHsqofznXIcPpsEhGk/8ubXrC2KEepVhoyhVZqpB5OiKdOAw== X-Forefront-PRVS: 02065A9E77 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR02MB036; 23:1M+ohUAZ+87BdxyadEG+/zlrPYIr/qORS/8NG8v7XH?= =?us-ascii?Q?pFTAV3QlOiNCRqKsEQhVOnX1olZGcqXwe8g5F19FX2iFAnxSGkmkGVyfv4NM?= =?us-ascii?Q?rU0XdkArGDfPnfHXGiQcYdNEwdx8iG4VdsFmLySoIAcpRN76tb6bqf7Yt/CT?= =?us-ascii?Q?PIaqm2ndK51l9V8Lb+n0gvPWC6LlYS2F7X2NG8SGadan8Y7lfsLC6MG51Bk/?= =?us-ascii?Q?lma3035Po9kXMA6T1KmM2Bp5poUr0CTyRoSpyBd1EgZg8zj5pp4aexztwjfE?= =?us-ascii?Q?Y9T8oA5P55AIE7BpNSNtNYC/5vzrWiIW/uIgp26Nzk8Bgszb58avwWvtvb99?= =?us-ascii?Q?S2BKbK6RcntfSsW0YtY6+d5y0DjLucL9xM/Ge35toz9ZiBjQnUb+m9NYFtC+?= =?us-ascii?Q?MLDVEsvVJCuCygJjS9DkadOtqF2+g81XffdSCcflvLWBpfNhntB/Wbc1pJO8?= =?us-ascii?Q?M0Qa4NlWF0BqbAANXDF8tZTsEzAKwPz0PY6UvKlmq5WnYSA3xYVG4pydLnmr?= =?us-ascii?Q?kHcBDEIe9wcT7xkgAGGnpuAWId1OZZws/9W9DSD3kqEZzqxdAcJI7sXK1rCf?= =?us-ascii?Q?vLRFBAsDdgxqV+ZIN2mk03z8tPBHKYEKpmKof+8St/aRW9T1ITq5OiOMHlhZ?= =?us-ascii?Q?KWoQTCi3csqClaoETqTI8eShAG/udWdsDEzDZZTYAh5DLu4sN7HRM7X13O26?= =?us-ascii?Q?ljd9X0xhyAJhejAgrzmjOcQ0oKm28jDGu5zX8a5lvE0Qo1vuJic/yPopaiXm?= =?us-ascii?Q?7jtcvpKssCkXkoBJ24uxg4PttvMURkZI4xL1faql+zHGAYKG7PdjC9PrC6ix?= =?us-ascii?Q?e9VsZ4IP/6M/D3zFTMFULSlOmo8oNJjkZ1Eub09ovqIRBkqW3bEhpgJCv6HS?= =?us-ascii?Q?PQMgNI9MYKZFlahAZn166t1sVEMrkMp8YXvnjuNl+czp0F/rC6tqa3oSp8B2?= =?us-ascii?Q?TzJOkglJB56rQyjMj8APmsGeSm3J8/05Lp7lQVGWWAREL+zBTqOjfgVlHng2?= =?us-ascii?Q?hE+/fR4lph7TNdV0ZzfZAzIpj6ub8fTGKDbhOUhKq8aIeA4bXCVX37x13JSH?= =?us-ascii?Q?MqLLzr8affQyTyaagfRphY/ba8ifDkgK8BvIaSlwHYjvJkRpZBtgqcJyEq9f?= =?us-ascii?Q?CfzSE3MS+EM751T3OICEHC82u8ZFORHt1LNmSLw53hb+JEgK2JJZegtho1XB?= =?us-ascii?Q?gZwrwvnnNbR3SaGK2+y3WtXAcjGuCxIvT1BfQu5o2CwaaYZqEb0CaRhV51+O?= =?us-ascii?Q?TaDYk5MWaLfXM/PackM8dzMOqpHRrnf09QcF/e?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 6:+Lfeor8XQHK601huHo/4YOE9/syWpxdCxLcCFIn+27Kuufi/i5T9WcWNTWYWF2GGLAVFjQCMUhl/LZyc/3omIVrs5fVFgOC202Dq3Rg2bP3ZHvwjpxJAGXnu/KUbc9s4jhaBs3jmxKwo1IybOWdbQpGi08soWCNfLWlWAAzpdwTizK0NJuIwWiuNBQLWdsZxMhQXAygFsp2Fjnfb486+7MExMPeEFR/XHm/JDY39KdZrh4iEwJhU0RkVlB25fU+r0m3eMshKZaA3Ro5LlSmccwMkC2o2vQpa6vm/pH8jujmffpu5QQPwlBtVRma1h0J4t3/KcMws4jVu7ymlfx/Ko1oyH7+5ztUsTD/gft5K4evFb83nZVCiiHAH2dZwlbvJMNLZ/DY0MzC5fpYwap6h4/Q5N9cSscbdmxuYExcqwHuYQdIcqs1BuB1qR51Rr5bx; 5:TLiiy5eCGSoIiM4apHIqeAXteAV6nqJXAN96NoL2HuJKS1Cu2NVMKnRYAQbessqUll89Ipb2GOZVqPcLahLOTNtPjmCAzEf0L7CVxS1uAmTU42LA0eZSc+5ZWJt+uSu0qbORV1xAG8w3PA18rf0aVeGoFsFVlmumn5LW8fQeRLc=; 24:A5E8kWvkK74tfqMcDQ6U9qAJ9U+avl1IFcA4hC5OTtxWPrKEckhZltiyayTGEl6XDJNmT85gfjryx7wKs20Lw/8DnLhRc5Os7mZrxyqsV/8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR02MB036; 7:crFpVf/iCLaT3wPPF8umEkVJSpgK3AeideACdIJd9IOOY7RStKWhdttp3yv/tJ1YWg+GXyDIhigj7K8dJUIEDI2p8ejg4sq0JOR24zhHshMfWVUT10KSKQsSJ06Hd91WMTgsfhd13C10U6YtLRy5xl53KKf5l7iNwUmyhSQjZUhxanJ9gr8lOIGyZiR9a9a8qVkUZIAqOU7SZ2qTmEyofhS0h8NEI7JgH/8C+7dS2M+FlRH0wa/FpPJrYBRKHAweJUuIiY0VQBjW3J7u4GdntJAFHPLc3JYjQGlwc8dMR0ezJx1TIvek6uMt35tQ/smpV5dEecnFoLRs2p7TZc18dcEF3HmFCWdlHV7d39IY8pczARcaqrjoDde9Eed214Nvh0v1jwuPoEh50PBxowGcxLUeaBs0Kergs/3g6bIhJKczwWKGvfEqF+ztZuMpUIi5Y/P5x10t6tBb7iIx+tcOXKZ14ECYDQpUJqomMcgthhyFMqAYZUpw7oqdeAuWZt7VL7kJWY1LiOsPZS2r5KcawPebKMW15pQSqRv5PiwAQNYqj7EP0G2i/P2xMy4fNbDI X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Feb 2017 00:59:02.8610 (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 Due to the previous patch the write_pending_status() callback function is no longer called. Hence remove it. Signed-off-by: Bart Van Assche Acked-by: Felipe Balbi Reviewed-by: Sagi Grimberg Reviewed-by: Andy Grover Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Reviewed-by: Bryant G. Ly Cc: Himanshu Madhani Cc: Quinn Tran Cc: Saurav Kashyap Cc: Michael S. Tsirkin Cc: Juergen Gross --- Documentation/target/tcm_mod_builder.py | 8 -------- drivers/infiniband/ulp/srpt/ib_srpt.c | 9 --------- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 6 ------ drivers/scsi/qla2xxx/tcm_qla2xxx.c | 30 +--------------------------- drivers/target/iscsi/iscsi_target_configfs.c | 13 ------------ drivers/target/loopback/tcm_loop.c | 6 ------ drivers/target/sbp/sbp_target.c | 6 ------ drivers/target/target_core_configfs.c | 4 ---- drivers/target/target_core_xcopy.c | 6 ------ drivers/target/tcm_fc/tcm_fc.h | 1 - drivers/target/tcm_fc/tfc_cmd.c | 7 ------- drivers/target/tcm_fc/tfc_conf.c | 1 - drivers/usb/gadget/function/f_tcm.c | 9 --------- drivers/vhost/scsi.c | 6 ------ drivers/xen/xen-scsiback.c | 6 ------ include/target/target_core_fabric.h | 1 - 16 files changed, 1 insertion(+), 118 deletions(-) diff --git a/Documentation/target/tcm_mod_builder.py b/Documentation/target/tcm_mod_builder.py index 94bf6944bb1e..95d6e31f1e3a 100755 --- a/Documentation/target/tcm_mod_builder.py +++ b/Documentation/target/tcm_mod_builder.py @@ -297,7 +297,6 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name): buf += " .sess_get_index = " + fabric_mod_name + "_sess_get_index,\n" buf += " .sess_get_initiator_sid = NULL,\n" buf += " .write_pending = " + fabric_mod_name + "_write_pending,\n" - buf += " .write_pending_status = " + fabric_mod_name + "_write_pending_status,\n" buf += " .set_default_node_attributes = " + fabric_mod_name + "_set_default_node_attrs,\n" buf += " .get_cmd_state = " + fabric_mod_name + "_get_cmd_state,\n" buf += " .queue_data_in = " + fabric_mod_name + "_queue_data_in,\n" @@ -479,13 +478,6 @@ def tcm_mod_dump_fabric_ops(proto_ident, fabric_mod_dir_var, fabric_mod_name): buf += "}\n\n" bufi += "int " + fabric_mod_name + "_write_pending(struct se_cmd *);\n" - if re.search('write_pending_status\)\(', fo): - buf += "int " + fabric_mod_name + "_write_pending_status(struct se_cmd *se_cmd)\n" - buf += "{\n" - buf += " return 0;\n" - buf += "}\n\n" - bufi += "int " + fabric_mod_name + "_write_pending_status(struct se_cmd *);\n" - if re.search('set_default_node_attributes\)\(', fo): buf += "void " + fabric_mod_name + "_set_default_node_attrs(struct se_node_acl *nacl)\n" buf += "{\n" diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c index 9241553f796d..d955c521a6e9 100644 --- a/drivers/infiniband/ulp/srpt/ib_srpt.c +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -2187,14 +2187,6 @@ static int srpt_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event) return ret; } -static int srpt_write_pending_status(struct se_cmd *se_cmd) -{ - struct srpt_send_ioctx *ioctx; - - ioctx = container_of(se_cmd, struct srpt_send_ioctx, cmd); - return srpt_get_cmd_state(ioctx) == SRPT_STATE_NEED_DATA; -} - /* * srpt_write_pending() - Start data transfer from initiator to target (write). */ @@ -3055,7 +3047,6 @@ static const struct target_core_fabric_ops srpt_template = { .sess_get_index = srpt_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = srpt_write_pending, - .write_pending_status = srpt_write_pending_status, .set_default_node_attributes = srpt_set_default_node_attrs, .get_cmd_state = srpt_get_tcm_cmd_state, .queue_data_in = srpt_queue_data_in, diff --git a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c index 99b747cedbeb..ceb5f8a0fdbc 100644 --- a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c +++ b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c @@ -3596,11 +3596,6 @@ static int ibmvscsis_write_pending(struct se_cmd *se_cmd) return 0; } -static int ibmvscsis_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static void ibmvscsis_set_default_node_attrs(struct se_node_acl *nacl) { } @@ -3829,7 +3824,6 @@ static const struct target_core_fabric_ops ibmvscsis_ops = { .release_cmd = ibmvscsis_release_cmd, .sess_get_index = ibmvscsis_sess_get_index, .write_pending = ibmvscsis_write_pending, - .write_pending_status = ibmvscsis_write_pending_status, .set_default_node_attributes = ibmvscsis_set_default_node_attrs, .get_cmd_state = ibmvscsis_get_cmd_state, .queue_data_in = ibmvscsis_queue_data_in, diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c index 4d9180efb9aa..9a188b508973 100644 --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c @@ -413,26 +413,6 @@ static int tcm_qla2xxx_write_pending(struct se_cmd *se_cmd) return qlt_rdy_to_xfer(cmd); } -static int tcm_qla2xxx_write_pending_status(struct se_cmd *se_cmd) -{ - unsigned long flags; - /* - * Check for WRITE_PENDING status to determine if we need to wait for - * CTIO aborts to be posted via hardware in tcm_qla2xxx_handle_data(). - */ - spin_lock_irqsave(&se_cmd->t_state_lock, flags); - if (se_cmd->t_state == TRANSPORT_WRITE_PENDING || - se_cmd->t_state == TRANSPORT_COMPLETE_QF_WP) { - spin_unlock_irqrestore(&se_cmd->t_state_lock, flags); - wait_for_completion_timeout(&se_cmd->t_transport_stop_comp, - 50); - return 0; - } - spin_unlock_irqrestore(&se_cmd->t_state_lock, flags); - - return 0; -} - static void tcm_qla2xxx_set_default_node_attrs(struct se_node_acl *nacl) { return; @@ -522,14 +502,8 @@ static void tcm_qla2xxx_handle_data_work(struct work_struct *work) cmd->vha->tgt_counters.qla_core_ret_ctio++; if (!cmd->write_data_transferred) { - /* - * Check if se_cmd has already been aborted via LUN_RESET, and - * waiting upon completion in tcm_qla2xxx_write_pending_status() - */ - if (cmd->se_cmd.transport_state & CMD_T_ABORTED) { - complete(&cmd->se_cmd.t_transport_stop_comp); + if (cmd->se_cmd.transport_state & CMD_T_ABORTED) return; - } if (cmd->se_cmd.pi_err) transport_generic_request_failure(&cmd->se_cmd, @@ -1896,7 +1870,6 @@ static const struct target_core_fabric_ops tcm_qla2xxx_ops = { .sess_get_index = tcm_qla2xxx_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = tcm_qla2xxx_write_pending, - .write_pending_status = tcm_qla2xxx_write_pending_status, .set_default_node_attributes = tcm_qla2xxx_set_default_node_attrs, .get_cmd_state = tcm_qla2xxx_get_cmd_state, .queue_data_in = tcm_qla2xxx_queue_data_in, @@ -1938,7 +1911,6 @@ static const struct target_core_fabric_ops tcm_qla2xxx_npiv_ops = { .sess_get_index = tcm_qla2xxx_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = tcm_qla2xxx_write_pending, - .write_pending_status = tcm_qla2xxx_write_pending_status, .set_default_node_attributes = tcm_qla2xxx_set_default_node_attrs, .get_cmd_state = tcm_qla2xxx_get_cmd_state, .queue_data_in = tcm_qla2xxx_queue_data_in, diff --git a/drivers/target/iscsi/iscsi_target_configfs.c b/drivers/target/iscsi/iscsi_target_configfs.c index bf40f03755dd..7e112380d6d4 100644 --- a/drivers/target/iscsi/iscsi_target_configfs.c +++ b/drivers/target/iscsi/iscsi_target_configfs.c @@ -1416,18 +1416,6 @@ static int lio_write_pending(struct se_cmd *se_cmd) return 0; } -static int lio_write_pending_status(struct se_cmd *se_cmd) -{ - struct iscsi_cmd *cmd = container_of(se_cmd, struct iscsi_cmd, se_cmd); - int ret; - - spin_lock_bh(&cmd->istate_lock); - ret = !(cmd->cmd_flags & ICF_GOT_LAST_DATAOUT); - spin_unlock_bh(&cmd->istate_lock); - - return ret; -} - static int lio_queue_status(struct se_cmd *se_cmd) { struct iscsi_cmd *cmd = container_of(se_cmd, struct iscsi_cmd, se_cmd); @@ -1592,7 +1580,6 @@ const struct target_core_fabric_ops iscsi_ops = { .sess_get_index = lio_sess_get_index, .sess_get_initiator_sid = lio_sess_get_initiator_sid, .write_pending = lio_write_pending, - .write_pending_status = lio_write_pending_status, .set_default_node_attributes = lio_set_default_node_attributes, .get_cmd_state = iscsi_get_cmd_state, .queue_data_in = lio_queue_data_in, diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c index 5091b31b3e56..378c8d41768c 100644 --- a/drivers/target/loopback/tcm_loop.c +++ b/drivers/target/loopback/tcm_loop.c @@ -616,11 +616,6 @@ static int tcm_loop_write_pending(struct se_cmd *se_cmd) return 0; } -static int tcm_loop_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static int tcm_loop_queue_data_in(struct se_cmd *se_cmd) { struct tcm_loop_cmd *tl_cmd = container_of(se_cmd, @@ -1235,7 +1230,6 @@ static const struct target_core_fabric_ops loop_ops = { .release_cmd = tcm_loop_release_cmd, .sess_get_index = tcm_loop_sess_get_index, .write_pending = tcm_loop_write_pending, - .write_pending_status = tcm_loop_write_pending_status, .set_default_node_attributes = tcm_loop_set_default_node_attributes, .get_cmd_state = tcm_loop_get_cmd_state, .queue_data_in = tcm_loop_queue_data_in, diff --git a/drivers/target/sbp/sbp_target.c b/drivers/target/sbp/sbp_target.c index e5c3e5f827d0..0341313e2aa5 100644 --- a/drivers/target/sbp/sbp_target.c +++ b/drivers/target/sbp/sbp_target.c @@ -1755,11 +1755,6 @@ static int sbp_write_pending(struct se_cmd *se_cmd) return 0; } -static int sbp_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static void sbp_set_default_node_attrs(struct se_node_acl *nacl) { return; @@ -2342,7 +2337,6 @@ static const struct target_core_fabric_ops sbp_ops = { .release_cmd = sbp_release_cmd, .sess_get_index = sbp_sess_get_index, .write_pending = sbp_write_pending, - .write_pending_status = sbp_write_pending_status, .set_default_node_attributes = sbp_set_default_node_attrs, .get_cmd_state = sbp_get_cmd_state, .queue_data_in = sbp_queue_data_in, diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c index 54b36c9835be..f87f7196ad8f 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c @@ -393,10 +393,6 @@ static int target_fabric_tf_ops_check(const struct target_core_fabric_ops *tfo) pr_err("Missing tfo->write_pending()\n"); return -EINVAL; } - if (!tfo->write_pending_status) { - pr_err("Missing tfo->write_pending_status()\n"); - return -EINVAL; - } if (!tfo->set_default_node_attributes) { pr_err("Missing tfo->set_default_node_attributes()\n"); return -EINVAL; diff --git a/drivers/target/target_core_xcopy.c b/drivers/target/target_core_xcopy.c index d828b3b5000b..180d8d718db5 100644 --- a/drivers/target/target_core_xcopy.c +++ b/drivers/target/target_core_xcopy.c @@ -436,11 +436,6 @@ static int xcopy_pt_write_pending(struct se_cmd *se_cmd) return 0; } -static int xcopy_pt_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static int xcopy_pt_queue_data_in(struct se_cmd *se_cmd) { return 0; @@ -457,7 +452,6 @@ static const struct target_core_fabric_ops xcopy_pt_tfo = { .release_cmd = xcopy_pt_release_cmd, .check_stop_free = xcopy_pt_check_stop_free, .write_pending = xcopy_pt_write_pending, - .write_pending_status = xcopy_pt_write_pending_status, .queue_data_in = xcopy_pt_queue_data_in, .queue_status = xcopy_pt_queue_status, }; diff --git a/drivers/target/tcm_fc/tcm_fc.h b/drivers/target/tcm_fc/tcm_fc.h index 11d27b93b413..b8ced4458118 100644 --- a/drivers/target/tcm_fc/tcm_fc.h +++ b/drivers/target/tcm_fc/tcm_fc.h @@ -158,7 +158,6 @@ void ft_release_cmd(struct se_cmd *); int ft_queue_status(struct se_cmd *); int ft_queue_data_in(struct se_cmd *); int ft_write_pending(struct se_cmd *); -int ft_write_pending_status(struct se_cmd *); int ft_get_cmd_state(struct se_cmd *); void ft_queue_tm_resp(struct se_cmd *); void ft_aborted_task(struct se_cmd *); diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c index ec372860106f..e748b414a614 100644 --- a/drivers/target/tcm_fc/tfc_cmd.c +++ b/drivers/target/tcm_fc/tfc_cmd.c @@ -185,13 +185,6 @@ int ft_queue_status(struct se_cmd *se_cmd) return 0; } -int ft_write_pending_status(struct se_cmd *se_cmd) -{ - struct ft_cmd *cmd = container_of(se_cmd, struct ft_cmd, se_cmd); - - return cmd->write_data_len != se_cmd->data_length; -} - /* * Send TX_RDY (transfer ready). */ diff --git a/drivers/target/tcm_fc/tfc_conf.c b/drivers/target/tcm_fc/tfc_conf.c index 42ee91123dca..c88e44bdcbe1 100644 --- a/drivers/target/tcm_fc/tfc_conf.c +++ b/drivers/target/tcm_fc/tfc_conf.c @@ -446,7 +446,6 @@ static const struct target_core_fabric_ops ft_fabric_ops = { .sess_get_index = ft_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = ft_write_pending, - .write_pending_status = ft_write_pending_status, .set_default_node_attributes = ft_set_default_node_attr, .get_cmd_state = ft_get_cmd_state, .queue_data_in = ft_queue_data_in, diff --git a/drivers/usb/gadget/function/f_tcm.c b/drivers/usb/gadget/function/f_tcm.c index d2351139342f..008a411d5185 100644 --- a/drivers/usb/gadget/function/f_tcm.c +++ b/drivers/usb/gadget/function/f_tcm.c @@ -1295,14 +1295,6 @@ static u32 usbg_sess_get_index(struct se_session *se_sess) return 0; } -/* - * XXX Error recovery: return != 0 if we expect writes. Dunno when that could be - */ -static int usbg_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static void usbg_set_default_node_attrs(struct se_node_acl *nacl) { } @@ -1731,7 +1723,6 @@ static const struct target_core_fabric_ops usbg_ops = { .sess_get_index = usbg_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = usbg_send_write_request, - .write_pending_status = usbg_write_pending_status, .set_default_node_attributes = usbg_set_default_node_attrs, .get_cmd_state = usbg_get_cmd_state, .queue_data_in = usbg_send_read_response, diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index fd6c8b66f06f..c706221b295e 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c @@ -345,11 +345,6 @@ static int vhost_scsi_write_pending(struct se_cmd *se_cmd) return 0; } -static int vhost_scsi_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static void vhost_scsi_set_default_node_attrs(struct se_node_acl *nacl) { return; @@ -2104,7 +2099,6 @@ static const struct target_core_fabric_ops vhost_scsi_ops = { .sess_get_index = vhost_scsi_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = vhost_scsi_write_pending, - .write_pending_status = vhost_scsi_write_pending_status, .set_default_node_attributes = vhost_scsi_set_default_node_attrs, .get_cmd_state = vhost_scsi_get_cmd_state, .queue_data_in = vhost_scsi_queue_data_in, diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c index d6950e0802b7..8d77dbd70276 100644 --- a/drivers/xen/xen-scsiback.c +++ b/drivers/xen/xen-scsiback.c @@ -1412,11 +1412,6 @@ static int scsiback_write_pending(struct se_cmd *se_cmd) return 0; } -static int scsiback_write_pending_status(struct se_cmd *se_cmd) -{ - return 0; -} - static void scsiback_set_default_node_attrs(struct se_node_acl *nacl) { } @@ -1835,7 +1830,6 @@ static const struct target_core_fabric_ops scsiback_ops = { .sess_get_index = scsiback_sess_get_index, .sess_get_initiator_sid = NULL, .write_pending = scsiback_write_pending, - .write_pending_status = scsiback_write_pending_status, .set_default_node_attributes = scsiback_set_default_node_attrs, .get_cmd_state = scsiback_get_cmd_state, .queue_data_in = scsiback_queue_data_in, diff --git a/include/target/target_core_fabric.h b/include/target/target_core_fabric.h index 4c2d6fbf5f95..25bfdd0d24b0 100644 --- a/include/target/target_core_fabric.h +++ b/include/target/target_core_fabric.h @@ -63,7 +63,6 @@ struct target_core_fabric_ops { u32 (*sess_get_initiator_sid)(struct se_session *, unsigned char *, u32); int (*write_pending)(struct se_cmd *); - int (*write_pending_status)(struct se_cmd *); void (*set_default_node_attributes)(struct se_node_acl *); int (*get_cmd_state)(struct se_cmd *); int (*queue_data_in)(struct se_cmd *);