v1
2026-10-22
zswap 区分不可压缩与压缩失败 · v1
PAGE_SIZE 目标缓冲下不可压缩页因压缩器元数据溢出返回 -EINVAL,被误判为压缩器失败,改为区分溢出与真实错误,避免走错处理路径。
原始补丁链接
子 Patch(2)
1/2
crypto: return -ENOSPC on compression destination overflow
单缓冲 zstd_compress_one() 及 lz4/lz4hc/lzo/lzo-rle 在目的缓冲不足时返回 -EINVAL,与压缩器故障混淆;zswap 单页缓冲需据此识别不可压缩页,改为返回 -ENOSPC,与多段流路径及 deflate/842 一致。
2/2
mm/zswap: classify compression dst overflow as poor compression
zswap_compress() 在单页目的缓冲溢出时把 -EINVAL 与压缩器故障混为一谈,导致 reject_compress_fail 统计和 writeback=0 行为错误;借助 acomp 新返回的 -ENOSPC 将其归类为低压缩率,正确设置 comp_ret 并按原页存储。