From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from g1t5424.austin.hp.com ([15.216.225.54]:47473 "EHLO g1t5424.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752735AbcEJVp3 (ORCPT ); Tue, 10 May 2016 17:45:29 -0400 Message-ID: <1462916186.27137.133.camel@hpe.com> Subject: Re: [PATCH v4 6/6] block: Update blkdev_dax_capable() for consistency From: Toshi Kani To: Dan Williams Cc: Jan Kara , david , Al Viro , Jens Axboe , Christoph Hellwig , Boaz Harrosh , Theodore Ts'o , Andreas Dilger , Ross Zwisler , micah.parrish@hpe.com, "linux-nvdimm@lists.01.org" , linux-fsdevel , linux-block@vger.kernel.org, "linux-kernel@vger.kernel.org" , Vishal L Verma Date: Tue, 10 May 2016 15:36:26 -0600 In-Reply-To: References: <1462897437-16626-1-git-send-email-toshi.kani@hpe.com> <1462897437-16626-7-git-send-email-toshi.kani@hpe.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-block-owner@vger.kernel.org List-Id: linux-block@vger.kernel.org On Tue, 2016-05-10 at 12:49 -0700, Dan Williams wrote: > On Tue, May 10, 2016 at 9:23 AM, Toshi Kani wrote: > > > > blkdev_dax_capable() is similar to bdev_dax_supported(), but needs > > to remain as a separate interface for checking dax capability of > > a raw block device. > > > > Rename and relocate blkdev_dax_capable() to keep them maintained > > consistently, and call bdev_direct_access() for the dax capability > > check. > > > > There is no change in the behavior.  : > > diff --git a/block/ioctl.c b/block/ioctl.c > > index 4ff1f92..7eeda07 100644 > > --- a/block/ioctl.c > > +++ b/block/ioctl.c > > @@ -4,7 +4,6 @@ > >  #include > >  #include > >  #include > > -#include > >  #include > >  #include > >  #include > > @@ -407,35 +406,6 @@ static inline int is_unrecognized_ioctl(int ret) > >                 ret == -ENOIOCTLCMD; > >  } > > > > -#ifdef CONFIG_FS_DAX > > -bool blkdev_dax_capable(struct block_device *bdev) > > -{ > > -       struct gendisk *disk = bdev->bd_disk; > > - > > -       if (!disk->fops->direct_access) > > -               return false; > > - > > -       /* > > -        * If the partition is not aligned on a page boundary, we can't > > -        * do dax I/O to it. > > -        */ > > -       if ((bdev->bd_part->start_sect % (PAGE_SIZE / 512)) > > -                       || (bdev->bd_part->nr_sects % (PAGE_SIZE / > > 512))) > > -               return false; > > - > > -       /* > > -        * If the device has known bad blocks, force all I/O through > > the > > -        * driver / page cache. > > -        * > > -        * TODO: support finer grained dax error handling > > -        */ > > -       if (disk->bb && disk->bb->count) > > -               return false; > > - > > -       return true; > > -} > > -#endif > > This will collide with my pending change to revert raw block device > dax support, and also with Vishal's DAX error handling changes.  For > coordination purposes I'm thining this should all go on top of the > branch that Vishal is putting together with the dax zeroing changes > from Jan and Christoph as well. This patch does not depend on the rest of the series, so it can be handled separately.  There is a minor conflict -- bdev_dax_capable() is put under bdev_dax_supported() in the same file.  This should be easy to resolve, but let me know if you need me to merge it up. Thanks, -Toshi From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from g1t5424.austin.hp.com (g1t5424.austin.hp.com [15.216.225.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 574E21A1E92 for ; Tue, 10 May 2016 14:45:28 -0700 (PDT) Message-ID: <1462916186.27137.133.camel@hpe.com> Subject: Re: [PATCH v4 6/6] block: Update blkdev_dax_capable() for consistency From: Toshi Kani Date: Tue, 10 May 2016 15:36:26 -0600 In-Reply-To: References: <1462897437-16626-1-git-send-email-toshi.kani@hpe.com> <1462897437-16626-7-git-send-email-toshi.kani@hpe.com> Mime-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: Dan Williams Cc: Jan Kara , Christoph Hellwig , linux-block@vger.kernel.org, "linux-nvdimm@lists.01.org" , david , "linux-kernel@vger.kernel.org" , micah.parrish@hpe.com, Jens Axboe , Andreas Dilger , Al Viro , linux-fsdevel , Theodore Ts'o List-ID: T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNzAwLCBEYW4gV2lsbGlhbXMgd3JvdGU6Cj4g T24gVHVlLCBNYXkgMTAsIDIwMTYgYXQgOToyMyBBTSwgVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBo cGUuY29tPiB3cm90ZToKPiA+IAo+ID4gYmxrZGV2X2RheF9jYXBhYmxlKCkgaXMgc2ltaWxhciB0 byBiZGV2X2RheF9zdXBwb3J0ZWQoKSwgYnV0IG5lZWRzCj4gPiB0byByZW1haW4gYXMgYSBzZXBh cmF0ZSBpbnRlcmZhY2UgZm9yIGNoZWNraW5nIGRheCBjYXBhYmlsaXR5IG9mCj4gPiBhIHJhdyBi bG9jayBkZXZpY2UuCj4gPiAKPiA+IFJlbmFtZSBhbmQgcmVsb2NhdGUgYmxrZGV2X2RheF9jYXBh YmxlKCkgdG8ga2VlcCB0aGVtIG1haW50YWluZWQKPiA+IGNvbnNpc3RlbnRseSwgYW5kIGNhbGwg YmRldl9kaXJlY3RfYWNjZXNzKCkgZm9yIHRoZSBkYXggY2FwYWJpbGl0eQo+ID4gY2hlY2suCj4g PiAKPiA+IFRoZXJlIGlzIG5vIGNoYW5nZSBpbiB0aGUgYmVoYXZpb3IuCsKgOgo+ID4gZGlmZiAt LWdpdCBhL2Jsb2NrL2lvY3RsLmMgYi9ibG9jay9pb2N0bC5jCj4gPiBpbmRleCA0ZmYxZjkyLi43 ZWVkYTA3IDEwMDY0NAo+ID4gLS0tIGEvYmxvY2svaW9jdGwuYwo+ID4gKysrIGIvYmxvY2svaW9j dGwuYwo+ID4gQEAgLTQsNyArNCw2IEBACj4gPiDCoCNpbmNsdWRlIDxsaW51eC9nZnAuaD4KPiA+ IMKgI2luY2x1ZGUgPGxpbnV4L2Jsa3BnLmg+Cj4gPiDCoCNpbmNsdWRlIDxsaW51eC9oZHJlZy5o Pgo+ID4gLSNpbmNsdWRlIDxsaW51eC9iYWRibG9ja3MuaD4KPiA+IMKgI2luY2x1ZGUgPGxpbnV4 L2JhY2tpbmctZGV2Lmg+Cj4gPiDCoCNpbmNsdWRlIDxsaW51eC9mcy5oPgo+ID4gwqAjaW5jbHVk ZSA8bGludXgvYmxrdHJhY2VfYXBpLmg+Cj4gPiBAQCAtNDA3LDM1ICs0MDYsNiBAQCBzdGF0aWMg aW5saW5lIGludCBpc191bnJlY29nbml6ZWRfaW9jdGwoaW50IHJldCkKPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID09IC1FTk9JT0NUTENNRDsKPiA+IMKgfQo+ID4gCj4g PiAtI2lmZGVmIENPTkZJR19GU19EQVgKPiA+IC1ib29sIGJsa2Rldl9kYXhfY2FwYWJsZShzdHJ1 Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQo+ID4gLXsKPiA+IC3CoMKgwqDCoMKgwqDCoHN0cnVjdCBn ZW5kaXNrICpkaXNrID0gYmRldi0+YmRfZGlzazsKPiA+IC0KPiA+IC3CoMKgwqDCoMKgwqDCoGlm ICghZGlzay0+Zm9wcy0+ZGlyZWN0X2FjY2VzcykKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gZmFsc2U7Cj4gPiAtCj4gPiAtwqDCoMKgwqDCoMKgwqAvKgo+ID4gLcKg wqDCoMKgwqDCoMKgwqAqIElmIHRoZSBwYXJ0aXRpb24gaXMgbm90IGFsaWduZWQgb24gYSBwYWdl IGJvdW5kYXJ5LCB3ZSBjYW4ndAo+ID4gLcKgwqDCoMKgwqDCoMKgwqAqIGRvIGRheCBJL08gdG8g aXQuCj4gPiAtwqDCoMKgwqDCoMKgwqDCoCovCj4gPiAtwqDCoMKgwqDCoMKgwqBpZiAoKGJkZXYt PmJkX3BhcnQtPnN0YXJ0X3NlY3QgJSAoUEFHRV9TSVpFIC8gNTEyKSkKPiA+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfHwgKGJkZXYtPmJkX3BhcnQtPm5y X3NlY3RzICUgKFBBR0VfU0laRSAvCj4gPiA1MTIpKSkKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gZmFsc2U7Cj4gPiAtCj4gPiAtwqDCoMKgwqDCoMKgwqAvKgo+ID4g LcKgwqDCoMKgwqDCoMKgwqAqIElmIHRoZSBkZXZpY2UgaGFzIGtub3duIGJhZCBibG9ja3MsIGZv cmNlIGFsbCBJL08gdGhyb3VnaAo+ID4gdGhlCj4gPiAtwqDCoMKgwqDCoMKgwqDCoCogZHJpdmVy IC8gcGFnZSBjYWNoZS4KPiA+IC3CoMKgwqDCoMKgwqDCoMKgKgo+ID4gLcKgwqDCoMKgwqDCoMKg wqAqIFRPRE86IHN1cHBvcnQgZmluZXIgZ3JhaW5lZCBkYXggZXJyb3IgaGFuZGxpbmcKPiA+IC3C oMKgwqDCoMKgwqDCoMKgKi8KPiA+IC3CoMKgwqDCoMKgwqDCoGlmIChkaXNrLT5iYiAmJiBkaXNr LT5iYi0+Y291bnQpCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGZh bHNlOwo+ID4gLQo+ID4gLcKgwqDCoMKgwqDCoMKgcmV0dXJuIHRydWU7Cj4gPiAtfQo+ID4gLSNl bmRpZgo+Cj4gVGhpcyB3aWxsIGNvbGxpZGUgd2l0aCBteSBwZW5kaW5nIGNoYW5nZSB0byByZXZl cnQgcmF3IGJsb2NrIGRldmljZQo+IGRheCBzdXBwb3J0LCBhbmQgYWxzbyB3aXRoIFZpc2hhbCdz IERBWCBlcnJvciBoYW5kbGluZyBjaGFuZ2VzLsKgwqBGb3IKPiBjb29yZGluYXRpb24gcHVycG9z ZXMgSSdtIHRoaW5pbmcgdGhpcyBzaG91bGQgYWxsIGdvIG9uIHRvcCBvZiB0aGUKPiBicmFuY2gg dGhhdCBWaXNoYWwgaXMgcHV0dGluZyB0b2dldGhlciB3aXRoIHRoZSBkYXggemVyb2luZyBjaGFu Z2VzCj4gZnJvbSBKYW4gYW5kIENocmlzdG9waCBhcyB3ZWxsLgoKVGhpcyBwYXRjaCBkb2VzIG5v dCBkZXBlbmQgb24gdGhlIHJlc3Qgb2YgdGhlIHNlcmllcywgc28gaXQgY2FuIGJlIGhhbmRsZWQK c2VwYXJhdGVseS4gwqBUaGVyZSBpcyBhIG1pbm9yIGNvbmZsaWN0IC0tIGJkZXZfZGF4X2NhcGFi bGUoKSBpcyBwdXQgdW5kZXIKYmRldl9kYXhfc3VwcG9ydGVkKCkgaW4gdGhlIHNhbWUgZmlsZS4g wqBUaGlzIHNob3VsZCBiZSBlYXN5IHRvIHJlc29sdmUsIGJ1dApsZXQgbWUga25vdyBpZiB5b3Ug bmVlZCBtZSB0byBtZXJnZSBpdCB1cC4KClRoYW5rcywKLVRvc2hpCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW52ZGltbSBtYWlsaW5nIGxpc3QK TGludXgtbnZkaW1tQGxpc3RzLjAxLm9yZwpodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LW52ZGltbQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752863AbcEJVpb (ORCPT ); Tue, 10 May 2016 17:45:31 -0400 Received: from g1t5424.austin.hp.com ([15.216.225.54]:47473 "EHLO g1t5424.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752735AbcEJVp3 (ORCPT ); Tue, 10 May 2016 17:45:29 -0400 X-Greylist: delayed 18745 seconds by postgrey-1.27 at vger.kernel.org; Tue, 10 May 2016 17:45:28 EDT Message-ID: <1462916186.27137.133.camel@hpe.com> Subject: Re: [PATCH v4 6/6] block: Update blkdev_dax_capable() for consistency From: Toshi Kani To: Dan Williams Cc: Jan Kara , david , Al Viro , Jens Axboe , Christoph Hellwig , Boaz Harrosh , "Theodore Ts'o" , Andreas Dilger , Ross Zwisler , micah.parrish@hpe.com, "linux-nvdimm@lists.01.org" , linux-fsdevel , linux-block@vger.kernel.org, "linux-kernel@vger.kernel.org" , Vishal L Verma Date: Tue, 10 May 2016 15:36:26 -0600 In-Reply-To: References: <1462897437-16626-1-git-send-email-toshi.kani@hpe.com> <1462897437-16626-7-git-send-email-toshi.kani@hpe.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2 (3.18.5.2-1.fc23) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2016-05-10 at 12:49 -0700, Dan Williams wrote: > On Tue, May 10, 2016 at 9:23 AM, Toshi Kani wrote: > > > > blkdev_dax_capable() is similar to bdev_dax_supported(), but needs > > to remain as a separate interface for checking dax capability of > > a raw block device. > > > > Rename and relocate blkdev_dax_capable() to keep them maintained > > consistently, and call bdev_direct_access() for the dax capability > > check. > > > > There is no change in the behavior.  : > > diff --git a/block/ioctl.c b/block/ioctl.c > > index 4ff1f92..7eeda07 100644 > > --- a/block/ioctl.c > > +++ b/block/ioctl.c > > @@ -4,7 +4,6 @@ > >  #include > >  #include > >  #include > > -#include > >  #include > >  #include > >  #include > > @@ -407,35 +406,6 @@ static inline int is_unrecognized_ioctl(int ret) > >                 ret == -ENOIOCTLCMD; > >  } > > > > -#ifdef CONFIG_FS_DAX > > -bool blkdev_dax_capable(struct block_device *bdev) > > -{ > > -       struct gendisk *disk = bdev->bd_disk; > > - > > -       if (!disk->fops->direct_access) > > -               return false; > > - > > -       /* > > -        * If the partition is not aligned on a page boundary, we can't > > -        * do dax I/O to it. > > -        */ > > -       if ((bdev->bd_part->start_sect % (PAGE_SIZE / 512)) > > -                       || (bdev->bd_part->nr_sects % (PAGE_SIZE / > > 512))) > > -               return false; > > - > > -       /* > > -        * If the device has known bad blocks, force all I/O through > > the > > -        * driver / page cache. > > -        * > > -        * TODO: support finer grained dax error handling > > -        */ > > -       if (disk->bb && disk->bb->count) > > -               return false; > > - > > -       return true; > > -} > > -#endif > > This will collide with my pending change to revert raw block device > dax support, and also with Vishal's DAX error handling changes.  For > coordination purposes I'm thining this should all go on top of the > branch that Vishal is putting together with the dax zeroing changes > from Jan and Christoph as well. This patch does not depend on the rest of the series, so it can be handled separately.  There is a minor conflict -- bdev_dax_capable() is put under bdev_dax_supported() in the same file.  This should be easy to resolve, but let me know if you need me to merge it up. Thanks, -Toshi