Re: [PATCH v7 07/14] fs, dax: use page->mapping to warn if truncate collides with a busy page

From: Jan Kara
Date: Fri Mar 30 2018 - 04:22:32 EST


On Thu 29-03-18 16:02:45, Dan Williams wrote:
> On Thu, Mar 29, 2018 at 9:02 AM, Jan Kara <jack@xxxxxxx> wrote:
> > On Wed 21-03-18 15:57:48, Dan Williams wrote:
> [..]
> > I find it quite tricky that in case we pass zero page / empty entry into
> > dax_[dis]associate_entry(), it will not do anything because
> > dax_entry_size() will return 0. Can we add an explicit check into
> > dax_[dis]associate_entry() or at least a comment there?
>
> How about the following, i.e. rename the loop helper to
> for_each_dax_pfn() to make it clearer that we're only operating on
> mapped pfns, and also add a comment to indicate the same:
>
> /*
> * Iterate through all mapped pfns represented by an entry, i.e. skip
> * 'empty' and 'zero' entries.
> */
> #define for_each_dax_pfn(entry, pfn) \
> for (pfn = dax_radix_pfn(entry); \
> pfn < dax_radix_end_pfn(entry); pfn++)

Maybe call it for_each_mapped_pfn()? Other than that it looks fine to me.

Honza

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR