On 2025/12/2 02:56, Shivank Garg wrote:
When collapse_file encounters dirty or writeback pages in file-backed mappings, it currently returns SCAN_FAIL which maps to -EINVAL. This is misleading as EINVAL suggests invalid arguments, whereas dirty/writeback pages represent transient conditions that may resolve on retry. Introduce SCAN_PAGE_DIRTY_OR_WRITEBACK to cover both dirty and writeback states, mapping it to -EAGAIN. For MADV_COLLAPSE, this provides userspace with a clear signal that retry may succeed after writeback completes. For khugepaged, this is harmless as it will naturally revisit the range during periodic scans after async writeback completes. Reported-by: Branden Moore <[email protected]> Closes: https://lore.kernel.org/all/[email protected] Fixes: 34488399fa08 ("mm/madvise: add file and shmem support to MADV_COLLAPSE") Reviewed-by: Dev Jain <[email protected]> Reviewed-by: Lance Yang <[email protected]> Signed-off-by: Shivank Garg <[email protected]> ---
LGTM. Reviewed-by: Baolin Wang <[email protected]>
