On Tue, 11 Feb 2020 10:11:14 -0500 Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: > On Mon, Feb 10, 2020 at 09:53:15PM +0100, Gerald Schaefer wrote: > > On Fri, 7 Feb 2020 15:26:49 -0500 > > Vivek Goyal <vgoyal@xxxxxxxxxx> wrote: > > > > > Add dax operation zero_page_range for dcssblk driver. > > > > > > CC: linux-s390@xxxxxxxxxxxxxxx > > > Suggested-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> > > > Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> > > > --- > > > drivers/s390/block/dcssblk.c | 17 +++++++++++++++++ > > > 1 file changed, 17 insertions(+) > > > > > > diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c > > > index 63502ca537eb..331abab5d066 100644 > > > --- a/drivers/s390/block/dcssblk.c > > > +++ b/drivers/s390/block/dcssblk.c > > > @@ -57,11 +57,28 @@ static size_t dcssblk_dax_copy_to_iter(struct dax_device *dax_dev, > > > return copy_to_iter(addr, bytes, i); > > > } > > > > > > +static int dcssblk_dax_zero_page_range(struct dax_device *dax_dev, u64 offset, > > > + size_t len) > > > +{ > > > + long rc; > > > + void *kaddr; > > > + pgoff_t pgoff = offset >> PAGE_SHIFT; > > > + unsigned page_offset = offset_in_page(offset); > > > + > > > + rc = dax_direct_access(dax_dev, pgoff, 1, &kaddr, NULL); > > > > Why do you pass only 1 page as nr_pages argument for dax_direct_access()? > > In some other patch in this series there is a comment that this will > > currently only be used for one page, but support for more pages might be > > added later. Wouldn't it make sense to rather use something like > > PAGE_ALIGN(page_offset + len) >> PAGE_SHIFT instead of 1 here, so that > > this won't have to be changed when callers will be ready to use it > > with more than one page? > > > > Of course, I guess then we'd also need some check on the return value > > from dax_direct_access(), i.e. if the returned available range is > > large enough for the requested range. > > I left it at 1 page because that's the current limitation of this > interface and there are no callers which are zeroing across page > boundaries. > > I prefer to keep it this way and modify it when we are extending this > interface to allow zeroing across page boundaries. Because even if I add > that logic, I can't test it. OK, fine with me. Reviewed-by: Gerald Schaefer <gerald.schaefer@xxxxxxxxxx>