From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 12 Jun 2018 11:24:20 +0800 From: Ming Lei To: Christoph Hellwig Cc: Jens Axboe , Alexander Viro , Kent Overstreet , David Sterba , Huang Ying , linux-kernel@vger.kernel.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Theodore Ts'o , "Darrick J . Wong" , Coly Li , Filipe Manana , Randy Dunlap Subject: Re: [PATCH V6 08/30] block: introduce chunk_last_segment() Message-ID: <20180612032419.GB26412@ming.t460p> References: <20180609123014.8861-1-ming.lei@redhat.com> <20180609123014.8861-9-ming.lei@redhat.com> <20180611171938.GA5101@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180611171938.GA5101@infradead.org> Sender: owner-linux-mm@kvack.org List-ID: On Mon, Jun 11, 2018 at 10:19:38AM -0700, Christoph Hellwig wrote: > I think both callers would be just as easy to understand by using > nth_page() instead of these magic helpers. E.g. for guard_bio_eod: > > unsigned offset = (bv.bv_offset + bv.bv_len); > struct page *page = nth_page(bv.bv_page, offset); The above lines should have been written as: struct page *page = nth_page(bv.bv_page, offset / PAGE_SIZE) but this way may cause 'page' points to the next page of bv's last page if offset == N * PAGE_SIZE. Thanks, Ming