From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:60019 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933951AbcKDVs0 (ORCPT ); Fri, 4 Nov 2016 17:48:26 -0400 Date: Fri, 4 Nov 2016 22:48:22 +0100 From: Jan Kara To: Liu Bo Cc: linux-fsdevel@vger.kernel.org, Jan Kara , Ross Zwisler Subject: Re: [PATCH] DAX: use proper length when the range is not aligned to PAGE_SIZE Message-ID: <20161104214822.GA17647@quack2.suse.cz> References: <1478287031-3303-1-git-send-email-bo.li.liu@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1478287031-3303-1-git-send-email-bo.li.liu@oracle.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri 04-11-16 12:17:11, Liu Bo wrote: > Currently if we write to [2k, 6k] where pos is 2k and end is 6k, > get_block() will be called twice, but we can save one get_block > by sending two blocks together to get_block. > > Signed-off-by: Liu Bo Thanks for the patch but this code is going to be ripped out soon (in the next merge window) in favor of iomap DAX implementation. So there's not much point in fixing this... Honza > --- > fs/dax.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/dax.c b/fs/dax.c > index 53eb6a0..8d4bd5f 100644 > --- a/fs/dax.c > +++ b/fs/dax.c > @@ -172,7 +172,7 @@ static ssize_t dax_io(struct inode *inode, struct iov_iter *iter, > long size; > > if (pos == bh_max) { > - bh->b_size = PAGE_ALIGN(end - pos); > + bh->b_size = PAGE_ALIGN(end - (pos - first)); > bh->b_state = 0; > rc = get_block(inode, block, bh, rw == WRITE); > if (rc) > -- > 2.5.5 > -- Jan Kara SUSE Labs, CR