]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/extents.c
Update bcachefs sources to 5e392aed7a bcachefs: Kill bch2_alloc_write()
[bcachefs-tools-debian] / libbcachefs / extents.c
index cc50e4b28882c703c5a80ab58e545e4e41aeeb40..77a0d49a237232e577a872aab6018079115c7919 100644 (file)
@@ -954,15 +954,21 @@ void bch2_bkey_ptrs_to_text(struct printbuf *out, struct bch_fs *c,
                switch (__extent_entry_type(entry)) {
                case BCH_EXTENT_ENTRY_ptr:
                        ptr = entry_to_ptr(entry);
+                       ca = c && ptr->dev < c->sb.nr_devices && c->devs[ptr->dev]
+                               ? bch_dev_bkey_exists(c, ptr->dev)
+                               : NULL;
+
+                       if (!ca) {
+                               pr_buf(out, "ptr: %u:%llu gen %u%s", ptr->dev,
+                                      (u64) ptr->offset, ptr->gen,
+                                      ptr->cached ? " cached" : "");
+                       } else {
+                               u32 offset;
+                               u64 b = sector_to_bucket_and_offset(ca, ptr->offset, &offset);
 
-                       pr_buf(out, "ptr: %u:%llu gen %u%s", ptr->dev,
-                              (u64) ptr->offset, ptr->gen,
-                              ptr->cached ? " cached" : "");
-
-                       if (c) {
-                               ca = ptr->dev < c->sb.nr_devices && c->devs[ptr->dev]
-                                       ? bch_dev_bkey_exists(c, ptr->dev)
-                                       : NULL;
+                               pr_buf(out, "ptr: %u:%llu:%u gen %u%s", ptr->dev,
+                                      b, offset, ptr->gen,
+                                      ptr->cached ? " cached" : "");
 
                                if (ca && ptr_stale(ca, ptr))
                                        pr_buf(out, " stale");