Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion sdb/commands/zfs/vdev.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,26 @@ def print_indented(self,
)
print("".ljust(indent), "-" * 60)

prev = None
for vdev in vdevs:
level = 0
pvd = vdev.vdev_parent
while pvd:
level += 2
pvd = pvd.vdev_parent

if vdev.vdev_isl2cache and prev and not prev.vdev_isl2cache:
print("".ljust(indent), "-".ljust(18), "-".ljust(7),
"-".ljust(4), "".ljust(0), "cache")
if vdev.vdev_islog and prev and not prev.vdev_islog:
print("".ljust(indent), "-".ljust(18), "-".ljust(7),
"-".ljust(4), "".ljust(0), "logs")
if vdev.vdev_isspare and prev and not prev.vdev_isspare:
print("".ljust(indent), "-".ljust(18), "-".ljust(7),
"-".ljust(4), "".ljust(0), "spares")
if vdev.vdev_isl2cache or vdev.vdev_isspare:
level = 2

if int(vdev.vdev_path) != 0:
print(
"".ljust(indent),
Expand All @@ -111,7 +124,7 @@ def print_indented(self,
if not sdb.is_null(vdev.vdev_mg):
ZFSHistogram.print_histogram(vdev.vdev_mg.mg_histogram, 0,
indent + 5)

prev = vdev
if self.args.metaslab:
metaslabs = sdb.execute_pipeline([vdev], [Metaslab()])
Metaslab(self.arg_list).print_indented(metaslabs, indent + 5)
Expand All @@ -134,6 +147,11 @@ def from_spa(self, spa: drgn.Object) -> Iterable[drgn.Object]:
else:
yield from self.from_vdev(spa.spa_root_vdev)

for j in range(spa.spa_l2cache.sav_count):
yield from self.from_vdev(spa.spa_l2cache.sav_vdevs[j])
for j in range(spa.spa_spares.sav_count):
yield from self.from_vdev(spa.spa_spares.sav_vdevs[j])

@sdb.InputHandler("vdev_t*")
def from_vdev(self, vdev: drgn.Object) -> Iterable[drgn.Object]:
if self.args.vdev_ids:
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa -mH
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ ADDR NAME
Approx. Median: 192.0MB
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
** No histogram data available **
ADDR ID OFFSET FREE FRAG UCMU
Expand Down Expand Up @@ -582,6 +583,8 @@ ADDR NAME
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08955c44000 rpool
** No histogram data available **
ADDR STATE AUX DESCRIPTION
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa -v
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ ADDR NAME
0xffffa08949ff4000 HEALTHY NONE mirror
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
0xffffa089413b8000 meta-domain
ADDR STATE AUX DESCRIPTION
Expand All @@ -16,6 +17,8 @@ ADDR NAME
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08955c44000 rpool
ADDR STATE AUX DESCRIPTION
------------------------------------------------------------
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa -vH
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ ADDR NAME
Approx. Median: 192.0MB
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
** No histogram data available **
0xffffa089413b8000 meta-domain
Expand Down Expand Up @@ -105,6 +106,8 @@ ADDR NAME
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08955c44000 rpool
** No histogram data available **
ADDR STATE AUX DESCRIPTION
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa -vm
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ ADDR NAME
0xffffa0894e631000 14 0x1c0000000 511MB 0% 4KB
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
ADDR ID OFFSET FREE FRAG UCMU
-----------------------------------------------------------------
Expand Down Expand Up @@ -63,6 +64,8 @@ ADDR NAME
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08955c44000 rpool
ADDR STATE AUX DESCRIPTION
------------------------------------------------------------
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa -vmH
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,7 @@ ADDR NAME
Approx. Median: 192.0MB
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
** No histogram data available **
ADDR ID OFFSET FREE FRAG UCMU
Expand Down Expand Up @@ -582,6 +583,8 @@ ADDR NAME
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08955c44000 rpool
** No histogram data available **
ADDR STATE AUX DESCRIPTION
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa | vdev
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
0xffffa08949ff4000 HEALTHY NONE mirror
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
0xffffa08953aa4000 HEALTHY NONE root
0xffffa08953aa8000 HEALTHY NONE raidz
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08952efc000 HEALTHY NONE root
0xffffa08953300000 HEALTHY NONE /dev/sda1
3 changes: 3 additions & 0 deletions tests/integration/data/regression_output/zfs/spa | vdev | pp
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
0xffffa08949ff4000 HEALTHY NONE mirror
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
- - - logs
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
0xffffa08953aa4000 HEALTHY NONE root
0xffffa08953aa8000 HEALTHY NONE raidz
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
- - - cache
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
0xffffa08952efc000 HEALTHY NONE root
0xffffa08953300000 HEALTHY NONE /dev/sda1