Skip to content

Commit 5906dcb

Browse files
author
Kent Overstreet
committed
bcachefs: Silence read-only errors when deleting snapshots
Signed-off-by: Kent Overstreet <[email protected]>
1 parent 8b1f46b commit 5906dcb

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

fs/bcachefs/snapshot.c

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1563,7 +1563,8 @@ int bch2_delete_dead_snapshots(struct bch_fs *c)
15631563
*/
15641564
ret = for_each_btree_key(trans, iter, BTREE_ID_snapshots, POS_MIN, 0, k,
15651565
check_should_delete_snapshot(trans, k, &delete_leaves, &delete_interior));
1566-
bch_err_msg(c, ret, "walking snapshots");
1566+
if (!bch2_err_matches(ret, EROFS))
1567+
bch_err_msg(c, ret, "walking snapshots");
15671568
if (ret)
15681569
goto err;
15691570

@@ -1602,15 +1603,17 @@ int bch2_delete_dead_snapshots(struct bch_fs *c)
16021603

16031604
bch2_disk_reservation_put(c, &res);
16041605

1605-
bch_err_msg(c, ret, "deleting keys from dying snapshots");
1606+
if (!bch2_err_matches(ret, EROFS))
1607+
bch_err_msg(c, ret, "deleting keys from dying snapshots");
16061608
if (ret)
16071609
goto err;
16081610
}
16091611

16101612
darray_for_each(delete_leaves, i) {
16111613
ret = commit_do(trans, NULL, NULL, 0,
16121614
bch2_snapshot_node_delete(trans, *i));
1613-
bch_err_msg(c, ret, "deleting snapshot %u", *i);
1615+
if (!bch2_err_matches(ret, EROFS))
1616+
bch_err_msg(c, ret, "deleting snapshot %u", *i);
16141617
if (ret)
16151618
goto err;
16161619
}
@@ -1630,15 +1633,17 @@ int bch2_delete_dead_snapshots(struct bch_fs *c)
16301633
darray_for_each(delete_interior, i) {
16311634
ret = commit_do(trans, NULL, NULL, 0,
16321635
bch2_snapshot_node_delete(trans, i->id));
1633-
bch_err_msg(c, ret, "deleting snapshot %u", i->id);
1636+
if (!bch2_err_matches(ret, EROFS))
1637+
bch_err_msg(c, ret, "deleting snapshot %u", i->id);
16341638
if (ret)
16351639
goto err;
16361640
}
16371641
err:
16381642
darray_exit(&delete_interior);
16391643
darray_exit(&delete_leaves);
16401644
bch2_trans_put(trans);
1641-
bch_err_fn(c, ret);
1645+
if (!bch2_err_matches(ret, EROFS))
1646+
bch_err_fn(c, ret);
16421647
return ret;
16431648
}
16441649

0 commit comments

Comments
 (0)