From patchwork Wed Jan 25 23:36:33 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: 9538147 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 F24066042C for ; Wed, 25 Jan 2017 23:37:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E726927F17 for ; Wed, 25 Jan 2017 23:37:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DBE2827FC0; Wed, 25 Jan 2017 23:37:26 +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 66B1F27F17 for ; Wed, 25 Jan 2017 23:37:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751344AbdAYXhY (ORCPT ); Wed, 25 Jan 2017 18:37:24 -0500 Received: from mail-co1nam03on0072.outbound.protection.outlook.com ([104.47.40.72]:31232 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752096AbdAYXhK (ORCPT ); Wed, 25 Jan 2017 18:37:10 -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=bTv7o9vBrzzyrJwcIx8DDbDOjS7fDr0D78We3rgyeBA=; b=ROLMYLergGjdE2YqmbkWVm9cUnanlfbyV40rbqrWNcdI84nekChypCbTlei1jSv9ZnYb9GX5pAHdlTrs6jxnAZYiRFLvnH55ajR+ckpGpe9mhQqP5L06mwYiL7l2r4ExqVNq2tq5Qv155YrGqsckOSE/D/wOZVZQ+vzIlrVn5w0= Received: from BY2PR02CA0096.namprd02.prod.outlook.com (10.163.44.150) by BY2PR02MB1412.namprd02.prod.outlook.com (10.162.80.152) 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:55 +0000 Received: from BY2FFO11FD001.protection.gbl (2a01:111:f400:7c0c::179) by BY2PR02CA0096.outlook.office365.com (2a01:111:e400:5261::22) 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; qlogic.com; dkim=none (message not signed) header.d=none;qlogic.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 BY2FFO11FD001.mail.protection.outlook.com (10.1.14.123) 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 6B.C8.65426.6C339885; Wed, 25 Jan 2017 15:24:54 -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, 25 Jan 2017 15:36:50 -0800 X-AuditID: 0ac94369-b62949800001ff92-30-588933c657c5 Received: from exp-402881.sdcorp.global.sandisk.com ( [10.177.9.6]) by (Symantec Messaging Gateway) with SMTP id 9D.35.16817.19639885; Wed, 25 Jan 2017 15:36:49 -0800 (PST) From: Bart Van Assche To: Bart Van Assche CC: , Himanshu Madhani , Quinn Tran , "Saurav Kashyap" , "Michael S . Tsirkin" , Juergen Gross Subject: [PATCH 21/34] target: Remove the write_pending_status() callback function Date: Wed, 25 Jan 2017 15:36:33 -0800 Message-ID: <20170125233646.2243-22-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+NgFnrILMWRmVeSWpSXmKPExsXCddJ5ke4x484Ig9Ot2hYvfjxhtZhz08ji /69XrBbXbrxltpg/8y+rRevSt0wObB7rvpxg93i/7yqbx/otV1k8Pm+SC2CJ4rJJSc3JLEst 0rdL4MrY++A/c8G5NsaKd8ffMTcwTi3qYuTkkBAwkXhyuJe9i5GLQ0hgKZPEkuYzbBDONkaJ 7h9TWWGqzs/tAbOFBDYySmw+Uw1iswkYSXx7P5MFxBYRMJD43XuBEaSZWeAjo8T7VwuYQBLC AkESWx8sYQOxWQRUJW7Nn88MYvMK2Ev83/OKHWKBvMSutotgCziB4q1nf7JALLOTWH+glQlk qITANFaJZf1TGCGaBSVOznwCVsQsICFx8MULZogGdYmTS+YzTWAUmoWkbBaSsgWMTKsYxXIz c4pz01MLDE31ihPzUjKLs/WS83M3MUICPnMH490n3ocYBTgYlXh4BbZ0RAixJpYVV+YeYpTg YFYS4V0n1xkhxJuSWFmVWpQfX1Sak1p8iFGag0VJnNft3pcwIYH0xJLU7NTUgtQimCwTB6dU A2P24pfBvpz58sYtqSscjiX+bmA5ur5qLaP5K8O9ma6ZwZl2RY4Ptx6NyEiRZ1ioLDuprXyl ZNm5az4HpTiNNl9MT+NssW/br7H/rLcN5+/GV28WTnvfLdvSYrt2UvjuEN3dvkZLXggsPCum Mqure1NIwqyXblxZMXsSUx+7xi3a+OaWxLezm5VYijMSDbWYi4oTARVe46t0AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIJMWRmVeSWpSXmKPExsXCtZGTTXeiWWeEwbPpNhYHf7YxWrz48YTV Ys5NI4v/v16xWly78ZbZYv7Mv6wWrUvfMjmwe6z7coLd4/2+q2we09acZ/JYv+Uqi8fnTXIB rFFcNimpOZllqUX6dglcGXsf/GcuONfGWPHu+DvmBsapRV2MnBwSAiYS5+f2sHYxcnEICaxn lNiyrIUFJMEmYCTx7f1MMFtEwEDid+8FRpAiZoHPjBKfF/1lBkkICwRJbH2whA3EZhFQlbg1 fz5YnFfAXmLR+klMEBvkJXa1XWQFsTmB4q1nf4INFRKwk1h/oJVpAiP3AkaGVYxiuZk5xbnp mQWGhnrFiXkpmcXZesn5uZsYIYESuYPx6UTzQ4xMHJxSDYzzn596JBH/Qbokxvty7wbdSfs3 M2kyH5WQ/3/FIrjqTY7qHiH17/+jee6JJBtK9/lcYTQ0OubnIsy458ve5KdSao+bpi39YP/z 6ZL9qebqN0PdjQ99/7N+wZ63awO9bodzbJCdsf5uhYfdehd1+1WyTWvzp/2ZF7ui1O6eyEVN Yz7Lh8422auVWIozEg21mIuKEwEOdS5rxAEAAA== 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)(39860400002)(39450400003)(39850400002)(39410400002)(2980300002)(438002)(199003)(189002)(2906002)(68736007)(50466002)(48376002)(5003940100001)(8676002)(189998001)(92566002)(2270400002)(4326007)(8936002)(50226002)(1076002)(5660300001)(106466001)(81156014)(81166006)(6862003)(110136003)(626004)(6666003)(86362001)(47776003)(6200100001)(305945005)(53936002)(575784001)(7049001)(33646002)(97736004)(2950100002)(69596002)(54906002)(356003)(1691005)(50986999)(77096006)(38730400001)(76176999)(36756003)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR02MB1412; H:milsmgep15.sandisk.com; FPR:; SPF:Pass; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD001; 1:paMFTmumz1968ZYaOHTmhsuJNZ2Ur3oArNob8WZrsuxOVrraCsZVstGWgMt6eJWY50C/7LjXkpHh5BvEmxoj69XBo+ThkUrUX7J3nR2ANqdOcHwSnABgVSVtUKVkYrTCBu9ysgxkxmCvFmZ9CttGHD7SmgSJc6iB5gwTvfpaQH6k2jv83KS8C4k+BsQdEPKGV9+3EGSahB6D5SI5k7VXWWrPVxuMWJhwGuQJ5fkLt+2HFzxbhBndzcFiu0T39nYa/2/IGblW1mWk6CYUoXRlMuSkyVf5X5e1y6t/0fxCTvrq6pDi2NvoxCIO0Ha0nTBy05m0iXD7kZK14snxiErdWXyejbBBSumsvn89PwtuhiMKkA2x39IegXJ5p4IrDm/c6/vrPBQkz3JzsbAur6TPMxxa+t+zry9QPaubzwnxEzh++GpoVewLZuingk92KgJDjL+aVyf47dD+WFSaRamykmK0w+GfcERUgozybX/TOoW97jzDGwyywaf6q+POAzMH X-MS-Office365-Filtering-Correlation-Id: d99c82d2-7e56-4b26-1fd2-08d4457b0bf6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(8251501002); SRVR:BY2PR02MB1412; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1412; 3:XlSXrdkOdid1P/GBydC2hhOzWXEdGSKXL8Z0hSJyTkKVbbTuVhDJRXCPN9x05Utn4xLZfCdSuREkJLpWpg9TSzGkujmSOD6ADmb/u+Et344NFc4N/J2kncpYf8IZk60y3aWXs9Cp42Q75bdDN0l+jbcssxkJ/rmbH60qwUw2XUlA7jnvAj/ahtMclFfXMByzlSwtrEPrj/AJym8MClmLETJK4lHIDUn+rOQWdH97Wt1BEKwSWok5GLTHXCDJvcRp95hHEZ2WBuSKuxMwe/zJd2JcvO5OH2s9RajtNvxBel8oH6x1c7nxwJAV4tfvVhX0SJ73rId2TmlJBvATDk5SxOYMn17MZK5B377JVZyc5NBOx4fhlHZxk7hcrjbm4P5s3wx9+wClT3qtx/THK4p9Vg== X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1412; 25:tMOWNeybQyNg9VnGIXlAcatVWMoW4rOX1RRCzUJiEg20YtvVZel4/tvtBtMb0KDoOxLQMmtC/VPEL4+u+D2QSaeZuPhqNy4Up9IKctCXQo07+NHNpP4VkBLC0X7AdkozloRSVepKg6Cc64jmXcwPdrhWDjbzszcyCE7pf/ulOgkkTiPyPx1FJGsmh8Zvh/ZlYPN7UR18myS8HDUnA1F+FaKLKvFuxCEwFbesgi3TLgJFapx5vgQQhuy3Ziek2AJMRM83regw5ftrs9E8kc0YPso+FTHPJ80zaWF2GGaWZoNG1M7fy4Rx44rBtLrcrZishrlKyWvgBIbjbJJj+yP42kPee4DpmjLU7S+xjaHsSL2UjvEHS8531X2Sk2UoXFrZBr8QjtCUTClQDQ8Sg3owFwlUBdyfE0fda3O0BG9u+8ZrZA5HDH2SRkxUCtPTOTqGE6yPuD7NPC/dxIqsmvvBX5x1u0KGDgWJJB9aQkeIYbndE+5OqMOK0HO56ViqucRKFgqYXQ/zvbZS1bXbPw1JIGd5eoTZgeC5SAREQ6eVdFgdr3nz6Wzo7cgqdI9J5OfrMml/qpJGFYqKVnKEa9FrT0PKv39kYqF4pb87P+xlQuHFBrjdiklpFzVzmAFGIJLUimRjP1UkJu5wRngp+krs5V+FEOvWsoRSr2kG50ve3NGvGp2vJjEzvLS56RmgXSoap5yfIdCnJrzKZzD2CTXeAZjD7VJGYs1xhXbGaIkfU6FIhvkouQsoVpbnuTiW+M0rqD9P9Xw6gxd5rHDoi54ufQ== X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1412; 31:832G5vI72XCkecAfD8Ya+gN2Dy2kYTIPykQX9YuOovvSWLe5iSs/e0efC0ZCL3mcylWybBnZU7AvnA4Y/3YHf9pfAd+weaDE2E6VUsNo8Le5RKbVJeqqN5grAdRYNQ9HxVXMEEEEFjxkco9qYcAgljolo9swafWM+EH9mrfneDcWTV5LCzxKt5vLOF2gdsiQ8UkFcN9eS6I63nM3Ka6bvSMcGPHRx3mVxg5IB/tANRCRnbjvRFYgMAwRn3DYts+E6xFR1sXuLa+z+PqYpaVpaw==; 20:/td/QnxxEYfqen4mQFkUy20gmtk2qc+LcovbNG/G9tRUMRTnST9M+9RS1B8Fdp7GtRxr0CE1DUpWQW3OyaOYKbGjn4RMMIfTj/+T0WpMvVZKqtBKbUEZM2pAJg7ZQLhdfy7JTdCm8ygH2ZUrMKeLXCY/7P1UR/KVTmCegiLU5BobazEF0LmFaO6ql8SKSuExI+lZhgY/iYLwR6yoTEKUVhgYGVjEM1QBD1mHr7SmHkNgsW1m4d+x/BX/PvCpLciaw1/r5xApV+W1bqhDp4EvNKeiIvzbvAQFuF51rOW6xVSWC9Ojf4kBM3Mtoa6hVTdK4xDvoLLFsD3JgbF3dxiIDueIMLrrmKiM4be2yjuViJcg9lW8Q0QIJdl6se1jqJu7fzJQ8BhQl1wZ96xykPAViF1xEbR2b3+cZApuc+gUyOZWnbopEXIDL24EXxkBsT26Tozq4BFauGPnfm1XTWF95KJsGu9P82cgKUxvpVTahOFsmzpsjvM4p7K+VjHKZ8DV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(31051911155226)(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:BY2PR02MB1412; BCL:0; PCL:0; RULEID:; SRVR:BY2PR02MB1412; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1412; 4:xhL3hfTCjhfW6mfr8YB2G7QwaVwhMJpn4qXrqR5gFsQ+dnV7vZcSfdLf/Z8dfaSSBB3OnLNIPHln07g5XTvMihbGu4FSvNPMdarCModB2msqFj2h6dnmA9eeKNz4kNY+bm8LTk8GkRgXz/96ODNdNlQrphJCIh9WYJn4ggJQSVxsTLMTqj7Y3CthTlt3RqGs9oYOfnyE4L+92Ref2LHonKTwTD/DlneoXQD7qarfI0MectzQ11+o3qM7cjcjHLFhKr1tDVe3ip0cao0xaJ/NBm9Xy7qOxqyk9jo7Qv6SJrVHThWwnXoLd5jQf8lHwXDSAqIu7HN+pbE9S5MEzUzwfVPo6+/VK8Lgqm66784aa6tdhQQA+GBi08CO+cofdbJsuS5dVQcJ9QDeuOWNQ+cR2b4bTYKVDEa/17m31ZHnncIkTQhsV36nfinKekSBJthTsdJMnz6FODwDOOgt75BFKRfSI9E4WB8vXW4ye6Sb6253cMe026+IS6U1JQM+gOSYcRLMSuamGuBU/ccG1JIFRVPMFi1kQuplROOg8PFsD519o6kmSrtLn/G2U9seJGVFhE+Lsms8Y9GpWO8g0Dvhy7WLYOcSAQPInbXjWsjCu0MWR59oZoPNcxW18YOI4q4OHt5RPwl86bEE3j5RqdJiNpWMZuWmO5Jv9VUEYvBo+d/bosRC0krBDj/fqO3Im/e1h3Zu4/ogM8utzZyy/s4MJw== X-Forefront-PRVS: 01986AE76B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR02MB1412; 23:/NaqZPs7xSyRwqqtD4MgmJcEgFs5W+3rGa1QVqilR?= =?us-ascii?Q?nmfrPEchfCGK8Fv8CskZQxzpYBqTdhUZWNWRX6dBWciBcu3L0s1pmxzUqgyf?= =?us-ascii?Q?TO5zXAo5zXdTLYZiYHl/fqyCd/TPbk0L0o1Cf0vghZmIJQP8gnYWjTE/fsUm?= =?us-ascii?Q?v5ivyxz8jlxOuZ6bYfBzjspUyrr7GyGBJrEAYwtRcb3XE3GYYYfZhrnFQM+t?= =?us-ascii?Q?rRDVQOJiw0qDUarXPIYdN+ByZXz90spNGvgFWL+u2OE09LWS2rvPV6spv6y6?= =?us-ascii?Q?j5YJZf5Mbwoz+3gBltq7VjK9iolkOvAoyvsAWVPrfdL3n8CeK7gSayleBvIV?= =?us-ascii?Q?GzptRCdFk1yjw8ZEnr+PFQuETIyL67s73XrZtzSXhJ50BBc9UA7FJ6mMWYQA?= =?us-ascii?Q?lqHalspjCKY1Uq9284+C3XKpZ5z16oXhJgOKJqAeLvo1sDBePa8kKRJ2qOWC?= =?us-ascii?Q?0EnPm+icqg8ZcddRjTl1zjTlYALlKrW7OmVun7l5485gWM/7wVxkx82Exxo6?= =?us-ascii?Q?NGDko4oOAk8C0VV+po7+eLu6+XjlJFAaNyxo1EoqErcWFD0LwaaF1/6TCmgp?= =?us-ascii?Q?xjjZ8F9kZ60CBBJnnZ78q+DpD8M1dty3p2GvMQIBLR3P7U1xGTE8eMY+bzU4?= =?us-ascii?Q?0t6j3uraxi14oY5b0t0Ci3wstsBPAMs67oyulj4LPvkB8ml9r+FZZTlzOK4L?= =?us-ascii?Q?/wBglHk0u77OrgVDKmKBc9NYuZ4pH++aTfwZrW/EwasUApvki/rLep8WwEgr?= =?us-ascii?Q?S1uBl1J6nOhQ5k5eQXKyMh4aoQZJWN55PRoyVKX25cldjrIJSa8Os5XpxDBL?= =?us-ascii?Q?9fkV8wAbA0CiZE50nYvZ/b3476OlfqDQW4lXsjN3WYcFrvrRc2znjyxqG+Os?= =?us-ascii?Q?cnrIUrPXaZKXhltSgPNhuLvHKhnMhKrtUgPmAuxetuIZ0clTVQ7MDnOqOosG?= =?us-ascii?Q?+pRlV5Heh8hhlaMSLpbY9h7mmF48eXPn6MuCNHMKblQwDcvjuYjIFPng4IrA?= =?us-ascii?Q?sumz8UC64RyTW4w2/jVAxKza74HgGlLTMjaqStr7btmokKvyXyEMVPnXa4Vz?= =?us-ascii?Q?S/ArLeaKyX15BJxz/R79T5ji4oZcgmDMDsFfiL5XLE0SSNBwYIPV9StUVfyk?= =?us-ascii?Q?hGN4zr7jcl4+j428zcx8eLzPQHwYak/kTj6Tvh/78qn/sB/5iWf5HCdqFZq9?= =?us-ascii?Q?aDFnhneTKazbrzucmMArbj79SWov8EKmGl/rJpUDM8nNQsNWDBi208vqtMJQ?= =?us-ascii?Q?tT0R0AMaESu/582xr90Ct9mqX0kZeCNzsIDXGHc?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1412; 6:cHqcYMwA2iALvB2cp+fAT2qoGG6Htm+/j3FkUHpXiiCmOhUD38NEXhNc9+oI4BaZLRpmGZD7fjnN/SaraSJXPG5pV+O2WrHR3NYIeyuOPEA/lbUFwUTryX0KMiq/MrSeNm3MBSlPbk74QazQekXc5Uehd5i+Jp9B3mQzUW+1tFDn9g4lnfmhsNv717BrcW02MlkymTokV0TyiJjjsaWy9DZmV2O9TnnFbjtDwpmM9AR7Zm/fWIvcUddhDqhFkVPYSzXnKHP1glHpizl9WPQ/jhqz4llpeO9i8YPUHeAnykNqFJFnSYwlo2ntP+ZCbkhYg/Lkp/NS1eJD8wohddU3zOCXVCNqq7LgjCbn4G+IPsWHRJpwKceK7c/AYsoxaapAWYWhiuHQG3nqvPnV+YLcquV94YF2YN3zG+ZP1scOg2CvlOUEuJpk4jvdbJjknB74znJXimHoxFBmoopbjVPD0A==; 5:jzr1wRf4up7urBHw7Zjm5gdCj2oLTXQYRUgFHIrmW/i49AtmoL+Ye7ZUZTmhf0TQuvWM5DPubw7BES74YX5Hg/GHkG9fU/phf9sdVO85VejyD6/My4fXNv/1m5SyUUVXkjl+CeERPOilvYNus1M5iA==; 24:gm6JqtXB1OyQ9m0WA047r5pvLXGGit6ryTeOzU01K96+pUdDIhWS97dpXuTCMhnMyN+XAqv3ejW/T6YzFD4xrlo/4gEt9RQPrd8quqF7I8Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1412; 7:A6/vLGQ6/joFbSyGIw40ac/0ZYMSnEYMhyWuMy520IYC/nTsYkchtTtqeeM/4ZLyLCEUscSO2AkDIwuxrYrLrQbAU/HZuQ1y9ZtIq6cKbR0e2sqv6Yv2Ue3lLdton8c4vlG/zwgj/bKCsjcaQEtokklOzR0IRAQZTeMPy9iA8a6rhhsYsvzickAieED5j5urwAqDgCAm5LDdpWsaWR7ffMiUr05JgLSEwu0vGPe4ykBO8xdEfKkDASWjf3OXQbskDLGUvPbe/0vIGpj0O0JHBT/9cs1be4O0TawcRm6lFvQ2bxBGw6WehPRo/x0opEw0Iq0Hb3FSE/sxeIMAp5uUyiMuX1awf0KSMDnOobTKqiHnAXfIsnnSmEsuAgPgGUIOvCtVRXVCYFJAiKtbEgkaiSePT0BMjLaRgPsr5a6xVLr3dS4Pm3QDjtgAGB1/lKXEUEPCfwHkcJX+hF3ziem/gw== X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jan 2017 23:36:54.9587 (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: BY2PR02MB1412 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 Cc: Himanshu Madhani Cc: Quinn Tran Cc: Saurav Kashyap Cc: Michael S. Tsirkin Cc: Juergen Gross Reviewed-by: Hannes Reinecke --- 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 *);