From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org ([198.137.202.133]:53296 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726327AbeJOBZM (ORCPT ); Sun, 14 Oct 2018 21:25:12 -0400 Date: Sun, 14 Oct 2018 10:43:24 -0700 From: Christoph Hellwig To: "Darrick J. Wong" Cc: david@fromorbit.com, sandeen@redhat.com, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, Amir Goldstein , linux-unionfs@vger.kernel.org, linux-xfs@vger.kernel.org, linux-mm@kvack.org, linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, ocfs2-devel@oss.oracle.com Subject: Re: [PATCH 18/25] vfs: hide file range comparison function Message-ID: <20181014174324.GC6400@infradead.org> References: <153938912912.8361.13446310416406388958.stgit@magnolia> <153938927103.8361.6327676425188043040.stgit@magnolia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <153938927103.8361.6327676425188043040.stgit@magnolia> Sender: linux-nfs-owner@vger.kernel.org List-ID: > +static struct page *vfs_dedupe_get_page(struct inode *inode, loff_t offset) > +{ > + struct address_space *mapping; > + struct page *page; > + pgoff_t n; > + > + n = offset >> PAGE_SHIFT; > + mapping = inode->i_mapping; > + page = read_mapping_page(mapping, n, NULL); > + if (IS_ERR(page)) > + return page; > + if (!PageUptodate(page)) { > + put_page(page); > + return ERR_PTR(-EIO); > + } > + lock_page(page); > + return page; > +} Might be worth to clean ths up a bit while you are at it: +static struct page *vfs_dedupe_get_page(struct inode *inode, loff_t offset) { struct page *page; page = read_mapping_page(inode->i_mapping, offset >> PAGE_SHIFT, NULL); ... Otherwise looks fine: Reviewed-by: Christoph Hellwig