> +static pgoff_t dax_entry_start(pgoff_t index, void *entry) > +{ > + if (RADIX_DAX_TYPE(entry) == RADIX_DAX_PMD) > + index &= (PMD_MASK >> PAGE_SHIFT); > + return index; > +} > + > static wait_queue_head_t *dax_entry_waitqueue(struct address_space *mapping, > - pgoff_t index) > + pgoff_t entry_start) > { > - unsigned long hash = hash_long((unsigned long)mapping ^ index, > + unsigned long hash = hash_long((unsigned long)mapping ^ entry_start, > DAX_WAIT_TABLE_BITS); > return wait_table + hash; > } All callers of dax_entry_waitqueue need to calculate entry_start using this new dax_entry_start helper. Either we should move the call to dax_entry_start into this helper. Or at least use local variables for in the callers as both of them also fill out a wait_exceptional_entry_queue structure with it. Or do both by letting dax_entry_waitqueue fill out that structure as well. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html