From: Nikita Ofitserov <[email protected]>

Handle removal of unknown metadata only, data pointed to by unknown
btrees cannot be supported currently.

Signed-off-by: Nikita Ofitserov <[email protected]>
---
 fs/bcachefs/migrate.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/bcachefs/migrate.c b/fs/bcachefs/migrate.c
index 
41657deb0e3807f4968272491faea09d05ec2299..4aa7dd483cab5a400974b5824bfaf0c0af2e9331
 100644
--- a/fs/bcachefs/migrate.c
+++ b/fs/bcachefs/migrate.c
@@ -121,6 +121,7 @@ static int bch2_dev_usrdata_drop(struct bch_fs *c,
 {
        CLASS(btree_trans, trans)(c);
 
+       /* FIXME: this does not handle unknown btrees with data pointers */
        for (unsigned id = 0; id < BTREE_ID_NR; id++) {
                if (!btree_type_has_data_ptrs(id))
                        continue;
@@ -161,7 +162,7 @@ static int bch2_dev_metadata_drop(struct bch_fs *c,
        bch2_bkey_buf_init(&k);
        closure_init_stack(&cl);
 
-       for (id = 0; id < BTREE_ID_NR; id++) {
+       for (id = 0; id < btree_id_nr_alive(c); id++) {
                bch2_trans_node_iter_init(trans, &iter, id, POS_MIN, 0, 0,
                                          BTREE_ITER_prefetch);
 retry:

-- 
2.50.1



Reply via email to