Skip to content

Commit 6fe32fe

Browse files
Brian Fosterbrauner
authored andcommitted
dax: advance the iomap_iter on pte and pmd faults
Advance the iomap_iter on PTE and PMD faults. Each of these operations assign a hardcoded size to iter.processed. Replace those with an advance and status return. Signed-off-by: Brian Foster <bfoster@redhat.com> Link: https://lore.kernel.org/r/20250224144757.237706-10-bfoster@redhat.com Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 39eb051 commit 6fe32fe

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

fs/dax.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,8 +1771,10 @@ static vm_fault_t dax_iomap_pte_fault(struct vm_fault *vmf, pfn_t *pfnp,
17711771
ret |= VM_FAULT_MAJOR;
17721772
}
17731773

1774-
if (!(ret & VM_FAULT_ERROR))
1775-
iter.processed = PAGE_SIZE;
1774+
if (!(ret & VM_FAULT_ERROR)) {
1775+
u64 length = PAGE_SIZE;
1776+
iter.processed = iomap_iter_advance(&iter, &length);
1777+
}
17761778
}
17771779

17781780
if (iomap_errp)
@@ -1885,8 +1887,10 @@ static vm_fault_t dax_iomap_pmd_fault(struct vm_fault *vmf, pfn_t *pfnp,
18851887
continue; /* actually breaks out of the loop */
18861888

18871889
ret = dax_fault_iter(vmf, &iter, pfnp, &xas, &entry, true);
1888-
if (ret != VM_FAULT_FALLBACK)
1889-
iter.processed = PMD_SIZE;
1890+
if (ret != VM_FAULT_FALLBACK) {
1891+
u64 length = PMD_SIZE;
1892+
iter.processed = iomap_iter_advance(&iter, &length);
1893+
}
18901894
}
18911895

18921896
unlock_entry:

0 commit comments

Comments
 (0)