diff options
Diffstat (limited to 'fs/bcachefs/fs-io-buffered.c')
| -rw-r--r-- | fs/bcachefs/fs-io-buffered.c | 14 | 
1 files changed, 3 insertions, 11 deletions
diff --git a/fs/bcachefs/fs-io-buffered.c b/fs/bcachefs/fs-io-buffered.c index 39292e7ef342..b0a33fabadf8 100644 --- a/fs/bcachefs/fs-io-buffered.c +++ b/fs/bcachefs/fs-io-buffered.c @@ -30,15 +30,8 @@ static void bch2_readpages_end_io(struct bio *bio)  {  	struct folio_iter fi; -	bio_for_each_folio_all(fi, bio) { -		if (!bio->bi_status) { -			folio_mark_uptodate(fi.folio); -		} else { -			folio_clear_uptodate(fi.folio); -			folio_set_error(fi.folio); -		} -		folio_unlock(fi.folio); -	} +	bio_for_each_folio_all(fi, bio) +		folio_end_read(fi.folio, bio->bi_status == BLK_STS_OK);  	bio_put(bio);  } @@ -176,7 +169,7 @@ retry:  	bch2_trans_iter_init(trans, &iter, BTREE_ID_extents,  			     SPOS(inum.inum, rbio->bio.bi_iter.bi_sector, snapshot), -			     BTREE_ITER_SLOTS); +			     BTREE_ITER_slots);  	while (1) {  		struct bkey_s_c k;  		unsigned bytes, sectors, offset_into_extent; @@ -408,7 +401,6 @@ static void bch2_writepage_io_done(struct bch_write_op *op)  		bio_for_each_folio_all(fi, bio) {  			struct bch_folio *s; -			folio_set_error(fi.folio);  			mapping_set_error(fi.folio->mapping, -EIO);  			s = __bch2_folio(fi.folio);  |