Skip to content

Commit dc7a15f

Browse files
author
Kent Overstreet
committed
bcachefs: Skip deleted members in member_to_text()
This fixes show-super output - we shouldn't be printing members that have been deleted. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
1 parent df94cb2 commit dc7a15f

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

fs/bcachefs/sb-members.c

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@ static void member_to_text(struct printbuf *out,
168168
u64 bucket_size = le16_to_cpu(m.bucket_size);
169169
u64 device_size = le64_to_cpu(m.nbuckets) * bucket_size;
170170

171+
if (!bch2_member_exists(&m))
172+
return;
173+
171174
prt_printf(out, "Device:");
172175
prt_tab(out);
173176
prt_printf(out, "%u", i);
@@ -304,10 +307,8 @@ static void bch2_sb_members_v1_to_text(struct printbuf *out, struct bch_sb *sb,
304307
struct bch_sb_field_disk_groups *gi = bch2_sb_field_get(sb, disk_groups);
305308
unsigned i;
306309

307-
for (i = 0; i < sb->nr_devices; i++) {
308-
struct bch_member m = members_v1_get(mi, i);
309-
member_to_text(out, m, gi, sb, i);
310-
}
310+
for (i = 0; i < sb->nr_devices; i++)
311+
member_to_text(out, members_v1_get(mi, i), gi, sb, i);
311312
}
312313

313314
const struct bch_sb_field_ops bch_sb_field_ops_members_v1 = {
@@ -322,10 +323,8 @@ static void bch2_sb_members_v2_to_text(struct printbuf *out, struct bch_sb *sb,
322323
struct bch_sb_field_disk_groups *gi = bch2_sb_field_get(sb, disk_groups);
323324
unsigned i;
324325

325-
for (i = 0; i < sb->nr_devices; i++) {
326-
struct bch_member m = members_v2_get(mi, i);
327-
member_to_text(out, m, gi, sb, i);
328-
}
326+
for (i = 0; i < sb->nr_devices; i++)
327+
member_to_text(out, members_v2_get(mi, i), gi, sb, i);
329328
}
330329

331330
static int bch2_sb_members_v2_validate(struct bch_sb *sb,

0 commit comments

Comments
 (0)