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