From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751963AbcFJCza (ORCPT ); Thu, 9 Jun 2016 22:55:30 -0400 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:55218 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750756AbcFJCz1 (ORCPT ); Thu, 9 Jun 2016 22:55:27 -0400 Date: Thu, 9 Jun 2016 19:54:36 -0700 From: Shaohua Li To: "Martin K. Petersen" CC: , , , , , , Subject: Re: [PATCH V2] block: correctly fallback for zeroout Message-ID: <20160610025435.GA48899@shli-mbp.local> References: <20160606223357.GA52883@shli-mbp.local> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [2620:10d:c090:180::392d] X-ClientProxiedBy: BY1PR16CA0018.namprd16.prod.outlook.com (10.162.29.28) To BY1PR15MB0056.namprd15.prod.outlook.com (10.161.97.15) X-MS-Office365-Filtering-Correlation-Id: 50690461-50cc-43fc-37a5-08d390da963c X-Microsoft-Exchange-Diagnostics: 1;BY1PR15MB0056;2:mvs/psphviWJLlx5rJwxX6td02yfcGNdKxdBcjykoNMTY/pdnWpQdTeZ1eERJBaC1I5fxDHlUPkEZBfeaJZHuWVRA7ZUZPBIJrv+rN/5Jij0qeN/a12NsYCJQlVZG9IvqtDQlZfc3fATw44CaAVoS84/WAnskfw0DA7t54HF2yyt9KOTkT/S0w1x+2Ope5F/;3:5sgljZt1egLZTGqQbnDb6V8x0gdpUP3XCz0siFsC6cspfpejBEFnrMp3Ke47YOd1pyIH4fmDJPaBkEjc9G4GRBMQOIzvyD8YMTMcnJ6q6VQ0vDCyIGqRX79Zl4CqvXUO;25:jFodieAbFe9FWeIwE6Ga+kXdzprci8JaRo2bZCac48wampLpJD7hjB2IVl5pD/tKgBHjq0U/8p1xWoHKxjQ/XJjPQoFqwJ1bR5q3mY3Bh7lolcRkUaC0ImZsHbrKyK4nmNR9ZVCdmEei6qr+idWuJO5LaHhxZ/FTJ8HQj3hNnQTlE1gHltiV54G2JyCAC8Vev6CDKB+kj9u2m+9KMk8uziv4A+JkQ/Izj8eyXjWMRSAUqjnKZp/x5+Q8LaHc+DADuX4TBQ99f6Yq6PVpV/ZBFdz+OIcRtdB5t/JxXo4P6ZfsAc3SNWfgqGnXe/+hecZ8MTD1xrMp4KzxY3aZEDMnLRFYFEjpTN3AwQoMHV27cdNxHMvpTGdoUqsbnzEU/qAbhyHU/DBIPzmoNa/cf2h/rc53IrrSRuHaZs4vzWFR0dw=;20:oY769p3Jp77f38H8ixOBVrmJILMiL2MwwsxV0nn/QMP4OrWrGmbA5fc4p1NZ2xdnZm8G208zypMciVZ4HPnH+Ze40LGImSQujgTp9QHErcSvbqg8CiN1/3P5IL5ZbtCJEfau6alfvyMHY/aCXXT26mzSIZbxjVl319eL2LWUyG0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR15MB0056; X-LD-Processed: 8ae927fe-1255-47a7-a2af-5f3a069daaa2,ExtAddr X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:BY1PR15MB0056;BCL:0;PCL:0;RULEID:;SRVR:BY1PR15MB0056; X-Microsoft-Exchange-Diagnostics: 1;BY1PR15MB0056;4:FEWxLMYkUyBK8h8gd6I6/adRdm8hX9evFiB5zBs7KmzQPM8jZdxT8jZ5Cn3Gs+mJVPGaKzo0XNlbn8mv1PuIz/FqU7whE3JRVvT/RCJvdrGlXz6znqW+N5rx7Ji5VKNEs+oOja5v0yUD2gC72JrXtM1XlujyvjAWDi0RL0z/rbV/nzi27IpRnyvkeskh2wyWuxSJdykmlGdq4zYgvyRuscpdfpAFgp0RTfJJNnXZ09FEgcRnfdpuqUV5D+F/tPle7Av3tg3afrB9HpfhU4hMyBSe6M4HuZysZAljpHEnaqdDY73Ezhw2uQv41ngME31V5yDXwd5LTheIXal/hNvTL/fgP/8pKzIoILGet/n+Lu0vcm/lQHgH6rRSX9GZ0854GvzWRyVi0FH9gvP9FQhfullfjcZVqGq/yiKy9r8F+Es= X-Forefront-PRVS: 096943F07A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(199003)(189002)(24454002)(105586002)(106356001)(586003)(101416001)(83506001)(42186005)(92566002)(33656002)(76176999)(4326007)(2906002)(54356999)(50986999)(86362001)(575784001)(5008740100001)(98436002)(1076002)(5004730100002)(81166006)(97756001)(81156014)(46406003)(110136002)(8676002)(189998001)(68736007)(19580395003)(6116002)(47776003)(77096005)(19580405001)(97736004)(2950100001)(4001350100001)(9686002)(50466002)(23726003)(3826002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR15MB0056;H:shli-mbp.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY1PR15MB0056;23:waCymCr7WU84TDcERZDSek30/N0SEpehAMnc/kMM8?= =?us-ascii?Q?ytQGT4uND4yJfGyvsgCciCR6AntZzsgi0+Ja39B+FXgTM/n8B8/73oNwY3Rp?= =?us-ascii?Q?uFXM7eDuQ7oSEvnE/vjkqhrsCz7JAY32N0RNTTbbqv6PC/jlY1nFmyWstTwF?= =?us-ascii?Q?8fkIaMllrhZnK7uPUhLSL1c2i3ztYLIsTGwbzCXnlhOqDQIchTcSLyrQMVnZ?= =?us-ascii?Q?WCLmXPy+isIcM7h8quQVgD+mlFwdk9j0dbZX4bxSfZihaKlG87NkyBqvrvic?= =?us-ascii?Q?PywrDQvwpCurLHsiiQxm5qV1/WU+yqN6dtfH0BV+u9e71hSK+JYTN14gQytC?= =?us-ascii?Q?pT6vTfnE9EFwoyXp3duXLgpLB2hJ8CRax97wIlHixirsfID94bl/aqvFclg2?= =?us-ascii?Q?3rDRYD7mn4xT0gLopbX2z2yziKuWmtycNIb3lno+dxoM9pBDZZN+TpKDRTEf?= =?us-ascii?Q?XC62c0w+z8jF06l6DP0PIglIKxdSLh/4WwJkhX4NjdAuwuAR3cPz4FbJEDHO?= =?us-ascii?Q?xmgzT+8YeuRLReQjUn/JYUWJRvlaZ28crgq4SOo+FRv2hUGOncZwsBlR5yZR?= =?us-ascii?Q?AD2SAL6TPkcDOvIW7f1xAJNty6o1JrmVb3mq7oxfn4niWMuAOjwXcaMTs68b?= =?us-ascii?Q?5xdpCkDY+UyvUW/aOXaTltvzb1fqn5rgFHvPTrStomQGnAqGO6dmiAfmlSjz?= =?us-ascii?Q?u2cNmj6PpXzOfCgVBJxchj8LNg/VNI58SyQT0vcmyL+Lst1ZkneHfg5hNdT8?= =?us-ascii?Q?iMgt+W8maXAriYQvllCky/fTcShpzPY4YEwFKI6Kgjna4PvHorC04tiXKVW2?= =?us-ascii?Q?1IEDleWl04qIZEY0PVbmDiEU+FqGG6A1CMl2QgWv5Y6VVA9A20APXeIdF05A?= =?us-ascii?Q?Ao2A2yc+Pkaf/3FcWriEK+xMOuh4RVypNVwr2YWcGKHVa4s4v/QKSdJ/qlNY?= =?us-ascii?Q?dxs/8Z/cyTlm6xq/kIpih7uZuPDUK0k86cIlbK054gvmqqsB3cBpFgmXhG+T?= =?us-ascii?Q?p92eqmWL1pWYmwmVRiKVttbu0IFM4MW1QnL0LyTHVqFcJb3TyhLYv78hbQz/?= =?us-ascii?Q?0LATZW3Jjli/nCAIA0VEAIx6fav8DJEXMZU5byz/N435iOdMqUd885fXYc+O?= =?us-ascii?Q?59YMvBelZQcrXfoYdPO0JTDFiye7ASO?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR15MB0056;5:i2CFaZt/U3IWrBJIFU6eQCk9jp+eso9Tb8DGku6DHNPyupTanJJZL45P6I9tSwy1lf96ipd9ul1vvw5DpesC9D6eyvbvKWSbj73CFERJ5vOtJ3AYcsIo0g/0r5VGXZ29N085WwwxWB1q+xa5I/jDVQ==;24:8cvAOMLD8GE6PdXQYryAszNDHdhPUtoCkgoGs7NsMWEB8WHj810KwhiaIA98+JEmaKvIk73w+T4kp4d5S5sFc8NfZGv2+zBLYm60K6aBjsU=;7:5onDFpjsE8MPvc6lhmD+zzsdGEat9PV3p/6CeGIjVcW0oolWwiKC0dmu1n0242FpHJDs+JBS4o4dgfCGUmmxefQjqtcZeQV/I15hNY3hj32w7bCAy5YU3OtoElnLMwyg3J35BEtx87z5WJpvX2xS3ErP2VaPCobTIP6AFJy9uJqTHX1JLiX1PhTevdNc/Y7qoqtnqbxZq9sYQp3mF3UicnDiL8AmOOspGFu0FiTZsTg=;20:1WdHyNkaYHOrDh9htOhNT1yAyyCum0wmYrZDZ3WaN5P0eeRkWim93xTryTrX0AKr3FM03wydruoiJnSQQkycvOWK0gQvZWP2lYo1TavjUDq+upxLim8PVwE3RrmBQfvzaQfMV1V6ktUrmW2gOX+qbI+oJK1WUTimmOPU1OA/xAs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2016 02:54:48.0764 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR15MB0056 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-06-10_03:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 09, 2016 at 10:04:08PM -0400, Martin K. Petersen wrote: > >>>>> "Shaohua" == Shaohua Li writes: > > Shaohua, > > diff --git a/block/blk-lib.c b/block/blk-lib.c > index 23d7f30..a3a26c8 100644 > --- a/block/blk-lib.c > +++ b/block/blk-lib.c > @@ -84,6 +84,28 @@ int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, > } > EXPORT_SYMBOL(__blkdev_issue_discard); > > +static int do_blkdev_issue_discard(struct block_device *bdev, sector_t sector, > + sector_t nr_sects, gfp_t gfp_mask, unsigned long flags, > + int *io_err) > +{ > + int type = REQ_WRITE | REQ_DISCARD; > + struct bio *bio = NULL; > + struct blk_plug plug; > + int ret; > + > + if (flags & BLKDEV_DISCARD_SECURE) > + type |= REQ_SECURE; > + > + blk_start_plug(&plug); > + ret = __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, type, > + &bio); > + if (!ret && bio) > + *io_err = submit_bio_wait(type, bio); > + blk_finish_plug(&plug); > + > + return ret; > +} > + > > What does the extra io_err buy us? Just have this function return an > error. And then in blkdev_issue_discard if you get -EOPNOTSUPP you > special case it there. The __blkdev_issue_discard returns -EOPNOTSUPP if disk doesn't support discard. in that case, blkdev_issue_discard doesn't return 0. blkdev_issue_discard only returns 0 if IO error is -EOPNOTSUPP. Please see bbd848e0fade51ae51da. Thanks, Shaohua