mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
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>
This commit is contained in:
parent
39eb051129
commit
6fe32fe1bb
12
fs/dax.c
12
fs/dax.c
|
|
@ -1771,8 +1771,10 @@ static vm_fault_t dax_iomap_pte_fault(struct vm_fault *vmf, pfn_t *pfnp,
|
|||
ret |= VM_FAULT_MAJOR;
|
||||
}
|
||||
|
||||
if (!(ret & VM_FAULT_ERROR))
|
||||
iter.processed = PAGE_SIZE;
|
||||
if (!(ret & VM_FAULT_ERROR)) {
|
||||
u64 length = PAGE_SIZE;
|
||||
iter.processed = iomap_iter_advance(&iter, &length);
|
||||
}
|
||||
}
|
||||
|
||||
if (iomap_errp)
|
||||
|
|
@ -1885,8 +1887,10 @@ static vm_fault_t dax_iomap_pmd_fault(struct vm_fault *vmf, pfn_t *pfnp,
|
|||
continue; /* actually breaks out of the loop */
|
||||
|
||||
ret = dax_fault_iter(vmf, &iter, pfnp, &xas, &entry, true);
|
||||
if (ret != VM_FAULT_FALLBACK)
|
||||
iter.processed = PMD_SIZE;
|
||||
if (ret != VM_FAULT_FALLBACK) {
|
||||
u64 length = PMD_SIZE;
|
||||
iter.processed = iomap_iter_advance(&iter, &length);
|
||||
}
|
||||
}
|
||||
|
||||
unlock_entry:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user