From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753216AbcHOSQq (ORCPT ); Mon, 15 Aug 2016 14:16:46 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:48011 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752877AbcHOSQn (ORCPT ); Mon, 15 Aug 2016 14:16:43 -0400 Subject: Re: [PATCH] block: Fix secure erase To: Christoph Hellwig , Adrian Hunter References: <20160811140533.GA16543@lst.de> <1471270071-28921-1-git-send-email-adrian.hunter@intel.com> <20160815181328.GA9696@lst.de> CC: Ulf Hansson , , , From: Jens Axboe Message-ID: <0da0904a-9d46-e043-edec-8d0d34cf0714@fb.com> Date: Mon, 15 Aug 2016 12:16:30 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160815181328.GA9696@lst.de> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [216.160.245.98] X-ClientProxiedBy: CY1PR05CA0031.namprd05.prod.outlook.com (10.166.186.169) To BN6PR15MB1186.namprd15.prod.outlook.com (10.172.205.140) X-MS-Office365-Filtering-Correlation-Id: d3ecfade-965b-4816-c126-08d3c5384b10 X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1186;2:fcuGgjZIc71SQdbIa52CK0+YWT6vlEUtYJamIwzsCf0HDJPokac1F6dgo1saaLrq4kn0eEXIVLrZIQB6pGlS+DFbcF/ZM7XHyFIFaTtlh39bVcH/ANFYwReTMu9CMejXW9v+UAF5vPiyHcLPgkRAUhC0n3LNPFTiDcmJ5mTr6ksQKXghzQrGgvOw0L0xdQuk;3:MlQoS5hbIfkxi0C04mKIIUTmfGdiGy4+WRMxVP7ddaPwNV1JYALATjS0CA4/gYuhs9VCCJmMqan3eZoLe4E5ONuLX9NcHOyMyvy6Av46D0mh9Yaaa1oZ3fk/UkdJgc52 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1186; X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1186;25:Y1I5UwVd4bwPZ+5M0DpPOvGszXUBLyBHp82hhHSOTGxD4NGQmzLY1KSbNAFaIYojpVxvnEoo25NHFENu7ciFIkTBCX3aHmXglnLj288FIQMPtRwLZuBRlD8t0IGbdeOu5Bct/ZjpkbGAkfn6DI/5zxx9CZGtRAqUGLSZ0rV+JebjEdKs45hiIk5dsnFIWRla4vVUC8Mw25R8IyTlxCJugxm/r5pcv52lLqFFrXiP9GJ08ROhMpzUA+mxDEf/88FaW0ZE29Af0WGbnquD1TOrqeMp73TII/TGaaj2nbHkW+SmuFxOAxopbOmVq+ifZniKmQKwEy10Z7T4KtMDhyrpryHo2mqCAfT8QaTQAdHQiGaUIQMNUizJ+IiX87HkXCa+sYAnfXCrHbdiVyKbYPL/L8Umn4Xegfp6HWWeF/Ou/XXarFgfPw1wrvQx67ZGjIhIjA5AbqG4TewiM36z2gLm/tExDBwCV5ryTlQNqRtqgdeBax79NDSSyOF2UlJ8ky8AVWsjPfSHffA48NRI3O4ZTXh6H4WZAC7QBiP+uVPVaf534mIpkF2pduWZEOegVrA1zBwv2NFXO0+0Aj7MOVcGRTsc8dhTtlKX20hw8W+gPeos81Q3KsnLXJDKev/v4CofI0yPXD1Ae9u5YlDYwZDmdH29hv4iUUvdeaYzjyl63pvOGD3quhy0s1s/G5kjCb7R1041cI3qeQonl4XauNl6KVkZh9b8RWbWugMgdofU1dGYbSVZ5b+PsJlVcKvEdU3N X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1186;31:XyrHsFTNw0T9W3xcqAcl92zp/5RgUszl2oQLsmhVattnRhCMTT2/NgpL/YBv0qy8kTp3XYbWg4dVTN1vVPV68KMlk6b1SE6g/WGhnS0dWqUbIGPZsdPtbebL6DJiBZpW7Ugl9iV/IZF5YHoEaUCn2QzP+jGteKcaa0AZgDSkatwVUZB4FJ0qi68orJKdfUj+ZRz0uuiwVxVcJgyBnQhxjMFsjEl+0N3DN9HdixFGv/U=;20:imtWcc0Zql0tRNUwk/9ePeHMEg4Z+HyG/3e2IQqiHHK8mhc4/rWEbSAVHGUUJPHu6xxtLwBkB9lt2tLjN5SfzZxUa6Y28YAubznGsvsxHkvxCSSuSRo7oko6fcBU2jvOdJZql+LoM5N+P5MP4dV1DR8SBygNIdeUeTeGzNAZJgg=;4:VEp4w6HksWao0hFEn+I3qTXQ3T0tpi4+o+wwiL8AHxnNlrkdy8EKTMD+qM8FSC/IcGHVJHKPGk1idF5J1zUqomWqEGSTc7Xox0N3bTn8W8FO3yMROlI4sKM7OpM4OONjuUgovIX0UmOS8+mRTz10+SMxdagSNE4WqTX5eAF3IDX06EaavteKXqtqy1H2NhVpHEP1ITQbV3TtQZ7wth5dyH3U9sbQ2DNnQoqxS8XYqy2sMs7+JoCeTVzTiZBZ/Hs6RrW1e4a9t+jyH6FPF4ABDId/EhQyOWUVPjX/FYeZ95Eq2oCAplkwbRQ6uCkrPYPUYvBoPAI7u0St0r0He45YhE+xpXHQotgWIaTMDeszBWtp/NKmz4kUayJq+yvdUaiA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BN6PR15MB1186;BCL:0;PCL:0;RULEID:;SRVR:BN6PR15MB1186; X-Forefront-PRVS: 0035B15214 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(7916002)(189002)(24454002)(377454003)(199003)(101416001)(97736004)(230700001)(31696002)(189998001)(305945005)(68736007)(42186005)(2906002)(5001770100001)(2950100001)(77096005)(31686004)(76176999)(50986999)(3846002)(586003)(4326007)(105586002)(6116002)(54356999)(83506001)(92566002)(65956001)(65806001)(117156001)(86362001)(7846002)(64126003)(4001350100001)(8676002)(47776003)(81156014)(106356001)(36756003)(7736002)(81166006)(66066001)(50466002)(23746002)(33646002)(65826006);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR15MB1186;H:[192.168.1.153];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;BN6PR15MB1186;23:rxYWry5znXmJC25kiQnXZS/ydi2endnAkYDlz?= =?Windows-1252?Q?U1Cj7G4qdptq8shS15cfFNWPFqltTgLSMzJTXRF2SbXxrg29mdJ0+IIk?= =?Windows-1252?Q?L7kl6lgJ4KTLQQYU14wo32jNzFHrTWa9wK5Xg4FwXFheEmATh1q240Pc?= =?Windows-1252?Q?+b+4BduQzlzTdWXBJ9dHZ3ECCHryMB6VQ3h1KzhFtEFxAUsg1U9Tox7E?= =?Windows-1252?Q?bfXUm+YzLgRfZgcTIdafqmy4kAzn/2fUeMHjYbDkbfY8sXF96ZXcvtcF?= =?Windows-1252?Q?Q3J0RLtcVBCWDQ3wbOWmiIwLQVoyPbt1Kzvht4b1IGYHTcNQaIs2DgKP?= =?Windows-1252?Q?uclPfpAmWrRKw5jGfquyEd9EzsDyExZSLobM636y8l1JiZ8SB6liH7Om?= =?Windows-1252?Q?mb4g9Nc/4tCH9HjRF6nI+ykGL8dJBTgox2FLUfB/YUFxKQ9targBXn+b?= =?Windows-1252?Q?EqILYoJy4hksfYJwqdfu5oDYk6+SajJJRYLoH4X5fEgdUwKTwOAkLLxD?= =?Windows-1252?Q?IWCQNEgQj0y03/KZRqq9M+2B9yPzhsIy750OnhYucyQMjoiAV9xPYR7C?= =?Windows-1252?Q?T1IemCmlo8J2IAfWoh4PS/S+9eTV2K8Yawa1is90pQZhid2xIVN2zp2o?= =?Windows-1252?Q?Jnxj7+4FmySJz5k8+4NaPcRxhjFKoGYfPvrIFiqf8RkPKMNvUCdrzNl4?= =?Windows-1252?Q?SBFjqwCU3qdj+dBgv9RThfexOFvhvaQ3vE9qBfhCfO4DqMa7A3zZ4T/Q?= =?Windows-1252?Q?gTl6kTUwztx5l6bN32eCU39c8YFUqvW4AwvDCrEFuDJVc9D2Gwn/4JUU?= =?Windows-1252?Q?UHFHf9wvUlWi53r1TD2hrYZ0TOCYUV92v75DZ/LM99CV4xlIMVEFZgqb?= =?Windows-1252?Q?mIN+9BB8nLzkhMn3rItLX5m02llF870bmU1rqx8k6i/CzTEIhfJJ/9ro?= =?Windows-1252?Q?/ME1zEboaeUL+829dyxYRPyj92ARErRL+vBz3izwwptJ57vVsZc84Fvb?= =?Windows-1252?Q?x7iTEht/fE68PGZ015/eEtTnHr7aVp8RpSd2Ekr3PLe6wYuA70+yqTBb?= =?Windows-1252?Q?a9rTrQdd4Yu0HPy3WQlaTWFiJKWraRWJfuEIzUaN2sgn2AuWVpWW4W2T?= =?Windows-1252?Q?KN1NDYXrdZ3j4ROIhrwHdf1JJmQzuhmtNCVzdqkCHYvx8fl5EvZ4H1Gf?= =?Windows-1252?Q?m36GMiF7awJnLrHaZ2bhGNEspjV4+ILWIDeoKKgxUDhAgV8Sgod32ZEi?= =?Windows-1252?Q?ZGd2yDJi55H46fJ3xT/B/6n0JkCc9adwA1xAJBcJWjtwXZQhjnM1MSm6?= =?Windows-1252?Q?1Xz9aNfKNhiqB7WJJiLimYKjljPMPoI0Xw/SeaaZomkPA0=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1186;6:jgh1MkgUB3zjDQgJMU02IzzGTOnr+zuEv/Zu0V7sM7ZN+SNkUrFRp54VjFAKtg2xMSy3NSfjKB+Jm89N3/hu/Nl3fPZuYckiyVV5zch9tb+QHXUJRyzSOygK+0f9YZimEyMRhMtGHRSADgo31CCqu7RWrnfCbZcRPFviXNXuO8bPXL2mgZ5rWkUTDIgAKcj0ra7I4UdnyhGOK1I8LLcSSQhXGlIL62ZEF/ufVbe7Aspc3UFe3xOyIl6MRAc2lfVcDo1aLGihhG3bGgF2Z80oZMoV0CS6v94zgjuWfnitM+M=;5:eQUQn3Tm7Xw1JeLZUUwzuEMTZsVJ80rG0I8TJcP8nffnzH5CQ7gJXHjQZtaImny9dhCWYQYFVVvheRopJg98WtM/cdpA34K8c9aZ9r1CDo5JilDodyzsnTDG2JCmCpnckztQhjiZIbOhTzZlegI4rQ==;24:OyFpVBcOK0L7WMaXjNogHjzawm0JbgmWuexKOleD6F9l3hGGTdRHQNbLmMH8Xp7TtD7kTVi08lrgBMkUcZz+4XBvlwOgGPV/PkeKEERQc80=;7:TbpQDYCE1tIP5AMx7fEdR46Z0rLdRykYkn34Oo+g8OjVzqd19Ly1emU0k7Z9Ktm+dqiklqHoa6AvSsk9AAnLTsEycLqYZowlsoECazPBiAK0jftyMSA/YnjaqnQ2t6jIwk8fOCuD7b3RcYVo6WqmJTIIjxt/SGwqHRgbokhTUE0V2F+uht/6EahnVOsyNhRw+YxIqYENcQsFT29rZlynxNdQLGzEfIfOHtNKVzeI9WNnC3FAKzTtX012WPTFaGzi SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR15MB1186;20:qnwkDE6p+UmvU2r3dL/n9MPHoq0osoJiKV3OuRehHEwbMFmKmUrOGth4d4JMRK5JSptYDLcOokZjOsi+Dx4mJ1QJAi6Jzkp5qI+Y8o/HA123gPRjo49ZIVCI7aNuI3QYs6SyjFbBn30vI/9fBG3M85TdfNPuDb5In07zZahCSos= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2016 18:16:35.0065 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1186 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-08-15_07:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/15/2016 12:13 PM, Christoph Hellwig wrote: >> --- a/block/elevator.c >> +++ b/block/elevator.c >> @@ -366,7 +366,10 @@ void elv_dispatch_sort(struct request_queue *q, struct request *rq) >> list_for_each_prev(entry, &q->queue_head) { >> struct request *pos = list_entry_rq(entry); >> >> - if ((req_op(rq) == REQ_OP_DISCARD) != (req_op(pos) == REQ_OP_DISCARD)) >> + if ((req_op(rq) == REQ_OP_DISCARD || >> + req_op(rq) == REQ_OP_SECURE_ERASE) != >> + (req_op(pos) == REQ_OP_DISCARD || >> + req_op(pos) == REQ_OP_SECURE_ERASE)) >> break; > > This really should be a: > > if (req_op(rq) != req_op(pos)) > > I'l lleave it up to Jens if he wants that in this patch or not, otherwise > I'll send an incremental patch. Let's get a v2 with that fixed up, it makes a big readability difference. -- Jens Axboe