[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1462916186.27137.133.camel@hpe.com>
Date: Tue, 10 May 2016 15:36:26 -0600
From: Toshi Kani <toshi.kani@....com>
To: Dan Williams <dan.j.williams@...el.com>
Cc: Jan Kara <jack@...e.cz>, david <david@...morbit.com>,
Al Viro <viro@...iv.linux.org.uk>, Jens Axboe <axboe@...com>,
Christoph Hellwig <hch@...radead.org>,
Boaz Harrosh <boaz@...xistor.com>,
Theodore Ts'o <tytso@....edu>,
Andreas Dilger <adilger.kernel@...ger.ca>,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
micah.parrish@....com,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-block@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Vishal L Verma <vishal.l.verma@...el.com>
Subject: Re: [PATCH v4 6/6] block: Update blkdev_dax_capable() for
consistency
On Tue, 2016-05-10 at 12:49 -0700, Dan Williams wrote:
> On Tue, May 10, 2016 at 9:23 AM, Toshi Kani <toshi.kani@....com> 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 <linux/gfp.h>
> > #include <linux/blkpg.h>
> > #include <linux/hdreg.h>
> > -#include <linux/badblocks.h>
> > #include <linux/backing-dev.h>
> > #include <linux/fs.h>
> > #include <linux/blktrace_api.h>
> > @@ -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
Powered by blists - more mailing lists