diff options
author | Gao Xiang <hsiangkao@linux.alibaba.com> | 2024-09-05 11:47:32 +0300 |
---|---|---|
committer | Gao Xiang <hsiangkao@linux.alibaba.com> | 2024-09-12 15:26:43 +0300 |
commit | 2349d2fa02db19ebc5e9033ddc3ed09e22c4abb5 (patch) | |
tree | eff9af99fa189e3a9bd5e7eb69d5f593ecf2077f /rust/helpers/helpers.c | |
parent | 8bdb6a8393dc32e3ab2cf89081e5b0f95cb7221b (diff) | |
download | linux-2349d2fa02db19ebc5e9033ddc3ed09e22c4abb5.tar.xz |
erofs: sunset unneeded NOFAILs
With iterative development, our codebase can now deal with compressed
buffer misses properly if both in-place I/O and compressed buffer
allocation fail.
Note that if readahead fails (with non-uptodate folios), the original
request will then fall back to synchronous read, and `.read_folio()`
should return appropriate errnos; otherwise -EIO will be passed to
user space, which is unexpected.
To simplify rarely encountered failure paths, a mimic decompression
will be just used. Before that, failure reasons are recorded in
compressed_bvecs[] and they also act as placeholders to avoid in-place
pages. They will be parsed just before decompression and then pass
back to `.read_folio()`.
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240905084732.2684515-1-hsiangkao@linux.alibaba.com
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions