Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756142AbcJMPNt (ORCPT ); Thu, 13 Oct 2016 11:13:49 -0400 Received: from mx2.suse.de ([195.135.220.15]:50414 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753000AbcJMPN1 (ORCPT ); Thu, 13 Oct 2016 11:13:27 -0400 Date: Thu, 13 Oct 2016 17:11:49 +0200 From: Jan Kara To: Ross Zwisler Cc: linux-kernel@vger.kernel.org, "Theodore Ts'o" , Alexander Viro , Andreas Dilger , Andrew Morton , Christoph Hellwig , Dan Williams , Dave Chinner , Jan Kara , Matthew Wilcox , linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-nvdimm@ml01.01.org, linux-xfs@vger.kernel.org Subject: Re: [PATCH v6 14/17] dax: move put_(un)locked_mapping_entry() in dax.c Message-ID: <20161013151149.GA30680@quack2.suse.cz> References: <20161012225022.15507-1-ross.zwisler@linux.intel.com> <20161012225022.15507-15-ross.zwisler@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161012225022.15507-15-ross.zwisler@linux.intel.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2816 Lines: 93 On Wed 12-10-16 16:50:19, Ross Zwisler wrote: > No functional change. > > The static functions put_locked_mapping_entry() and > put_unlocked_mapping_entry() will soon be used in error cases in > grab_mapping_entry(), so move their definitions above this function. > > Signed-off-by: Ross Zwisler Looks good. You can add: Reviewed-by: Jan Kara Honza > --- > fs/dax.c | 50 +++++++++++++++++++++++++------------------------- > 1 file changed, 25 insertions(+), 25 deletions(-) > > diff --git a/fs/dax.c b/fs/dax.c > index c45cc4d..0582c7c 100644 > --- a/fs/dax.c > +++ b/fs/dax.c > @@ -382,6 +382,31 @@ static void *get_unlocked_mapping_entry(struct address_space *mapping, > } > } > > +static void put_locked_mapping_entry(struct address_space *mapping, > + pgoff_t index, void *entry) > +{ > + if (!radix_tree_exceptional_entry(entry)) { > + unlock_page(entry); > + put_page(entry); > + } else { > + dax_unlock_mapping_entry(mapping, index); > + } > +} > + > +/* > + * Called when we are done with radix tree entry we looked up via > + * get_unlocked_mapping_entry() and which we didn't lock in the end. > + */ > +static void put_unlocked_mapping_entry(struct address_space *mapping, > + pgoff_t index, void *entry) > +{ > + if (!radix_tree_exceptional_entry(entry)) > + return; > + > + /* We have to wake up next waiter for the radix tree entry lock */ > + dax_wake_mapping_entry_waiter(mapping, index, entry, false); > +} > + > /* > * Find radix tree entry at given index. If it points to a page, return with > * the page locked. If it points to the exceptional entry, return with the > @@ -486,31 +511,6 @@ void dax_unlock_mapping_entry(struct address_space *mapping, pgoff_t index) > dax_wake_mapping_entry_waiter(mapping, index, entry, false); > } > > -static void put_locked_mapping_entry(struct address_space *mapping, > - pgoff_t index, void *entry) > -{ > - if (!radix_tree_exceptional_entry(entry)) { > - unlock_page(entry); > - put_page(entry); > - } else { > - dax_unlock_mapping_entry(mapping, index); > - } > -} > - > -/* > - * Called when we are done with radix tree entry we looked up via > - * get_unlocked_mapping_entry() and which we didn't lock in the end. > - */ > -static void put_unlocked_mapping_entry(struct address_space *mapping, > - pgoff_t index, void *entry) > -{ > - if (!radix_tree_exceptional_entry(entry)) > - return; > - > - /* We have to wake up next waiter for the radix tree entry lock */ > - dax_wake_mapping_entry_waiter(mapping, index, entry, false); > -} > - > /* > * Delete exceptional DAX entry at @index from @mapping. Wait for radix tree > * entry to get unlocked before deleting it. > -- > 2.9.0 > -- Jan Kara SUSE Labs, CR