summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-12-30 16:32:57 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2025-03-14 21:02:12 -0400
commitdff6de9518848b5afa0bc6fec57e657701be67ec (patch)
treec69c6700e0b075ddff4fd7ed39e63d204f3b1b9a /tools/perf/scripts/python
parent7b1d6551060066a1fed2a1f83485b0ea37ca3001 (diff)
downloadlinux-dff6de9518848b5afa0bc6fec57e657701be67ec.tar.gz
linux-dff6de9518848b5afa0bc6fec57e657701be67ec.zip
bcachefs: Internal reads can now correct errors
Rework the read path so that BCH_READ_NODECODE reads now also self-heal after a read error and a successful retry - prerequisite for scrub. - __bch2_read_endio() now handles a read that's both BCH_READ_NODECODE and a bounce. Normally, we don't want a BCH_READ_NODECODE read to ever allocate a split bch_read_bio: we want to maintain the relationship between the bch_read_bio and the data_update it's embedded in. But correcting read errors requires allocating a split/bounce rbio that's embedded in a promote_op. We do still have a 1-1 relationship, i.e. we only allocate a single split/bounce if it's a BCH_READ_NODECODE, so things hopefully don't get too crazy. - __bch2_read_extent() now is allowed to allocate the promote_op for rewriting after a failed read, even if it's BCH_READ_NODECODE. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions