Update bcachefs sources to c53ba9651da7 bcachefs: move_extent() might see -EIO

This commit is contained in:
Kent Overstreet 2025-11-18 12:14:28 -05:00
parent 651e30bd2c
commit 940878789b
3 changed files with 8 additions and 5 deletions

View File

@ -1 +1 @@
47854fc052affa886552a188272cff4e08a7582f
c53ba9651da768e74b787eb40bc05fd56e9ca5ef

View File

@ -452,7 +452,9 @@ root_err:
goto retry_root;
if (bch2_err_matches(ret, BCH_ERR_data_update_fail))
ret = 0; /* failure for this extent, keep going */
WARN_ONCE(ret && !bch2_err_matches(ret, EROFS),
WARN_ONCE(ret &&
!bch2_err_matches(ret, EROFS) &&
!bch2_err_matches(ret, EIO),
"unhandled error from move_extent: %s", bch2_err_str(ret));
return ret;
}
@ -492,7 +494,8 @@ root_err:
continue;
if (bch2_err_matches(ret, BCH_ERR_data_update_fail))
ret = 0; /* failure for this extent, keep going */
if (bch2_err_matches(ret, EROFS))
if (bch2_err_matches(ret, EROFS) ||
bch2_err_matches(ret, EIO)) /* topology error, btree node read error */
break;
WARN_ONCE(ret, "unhandled error from move_extent: %s", bch2_err_str(ret));
next_nondata:
@ -603,6 +606,7 @@ static int __bch2_move_data_phys(struct moving_context *ctxt,
if (bch2_err_matches(ret, BCH_ERR_data_update_fail))
ret = 0; /* failure for this extent, keep going */
if (bch2_err_matches(ret, EROFS) ||
bch2_err_matches(ret, EIO) ||
bch2_err_matches(ret, BCH_ERR_device_offline))
return ret;
WARN_ONCE(ret, "unhandled error from move_extent: %s", bch2_err_str(ret));

View File

@ -117,8 +117,7 @@ void bch2_bio_free_pages_pool(struct bch_fs *c, struct bio *bio)
struct bio_vec *bv;
bio_for_each_segment_all(bv, bio, iter)
if (bv->bv_page != ZERO_PAGE(0))
mempool_free(bv->bv_page, &c->bio_bounce_pages);
mempool_free(bv->bv_page, &c->bio_bounce_pages);
bio->bi_vcnt = 0;
}