mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 04:21:03 -04:00
bcachefs: Mark space as unallocated on write failure
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
committed by
Kent Overstreet
parent
1904a65a31
commit
b3fce09cd3
@@ -1219,11 +1219,20 @@ static void bch2_writepage_io_done(struct closure *cl)
|
||||
struct bio *bio = &io->op.op.wbio.bio;
|
||||
struct bvec_iter_all iter;
|
||||
struct bio_vec *bvec;
|
||||
unsigned i;
|
||||
|
||||
if (io->op.op.error) {
|
||||
bio_for_each_segment_all(bvec, bio, iter) {
|
||||
struct bch_page_state *s;
|
||||
|
||||
SetPageError(bvec->bv_page);
|
||||
mapping_set_error(bvec->bv_page->mapping, -EIO);
|
||||
|
||||
lock_page(bvec->bv_page);
|
||||
s = bch2_page_state(bvec->bv_page);
|
||||
for (i = 0; i < PAGE_SECTORS; i++)
|
||||
s->s[i].nr_replicas = 0;
|
||||
unlock_page(bvec->bv_page);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user