Skip to content

Commit 485fc4b

Browse files
committed
Merge tag 'dax-fix-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
Pull dax fix from Dan Williams: "Fix a performance regression that followed from a fix to the conversion of the fsdax implementation to the xarray. v5.3 users report that they stop seeing huge page mappings on an application + filesystem layout that was seeing huge pages previously on v5.2" * tag 'dax-fix-5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: fs/dax: Fix pmd vs pte conflict detection
2 parents 1c4e395 + 6370740 commit 485fc4b

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

fs/dax.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,10 +220,11 @@ static void *get_unlocked_entry(struct xa_state *xas, unsigned int order)
220220

221221
for (;;) {
222222
entry = xas_find_conflict(xas);
223+
if (!entry || WARN_ON_ONCE(!xa_is_value(entry)))
224+
return entry;
223225
if (dax_entry_order(entry) < order)
224226
return XA_RETRY_ENTRY;
225-
if (!entry || WARN_ON_ONCE(!xa_is_value(entry)) ||
226-
!dax_is_locked(entry))
227+
if (!dax_is_locked(entry))
227228
return entry;
228229

229230
wq = dax_entry_waitqueue(xas, entry, &ewait.key);

0 commit comments

Comments
 (0)