Skip to content

Commit 192ec72

Browse files
authored
Merge pull request #253 from PaulZ-98/spa_cache
Show cache devices in spa -v output
2 parents db1b967 + 07d35d4 commit 192ec72

File tree

8 files changed

+40
-1
lines changed

8 files changed

+40
-1
lines changed

sdb/commands/zfs/vdev.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,26 @@ def print_indented(self,
8181
)
8282
print("".ljust(indent), "-" * 60)
8383

84+
prev = None
8485
for vdev in vdevs:
8586
level = 0
8687
pvd = vdev.vdev_parent
8788
while pvd:
8889
level += 2
8990
pvd = pvd.vdev_parent
9091

92+
if vdev.vdev_isl2cache and prev and not prev.vdev_isl2cache:
93+
print("".ljust(indent), "-".ljust(18), "-".ljust(7),
94+
"-".ljust(4), "".ljust(0), "cache")
95+
if vdev.vdev_islog and prev and not prev.vdev_islog:
96+
print("".ljust(indent), "-".ljust(18), "-".ljust(7),
97+
"-".ljust(4), "".ljust(0), "logs")
98+
if vdev.vdev_isspare and prev and not prev.vdev_isspare:
99+
print("".ljust(indent), "-".ljust(18), "-".ljust(7),
100+
"-".ljust(4), "".ljust(0), "spares")
101+
if vdev.vdev_isl2cache or vdev.vdev_isspare:
102+
level = 2
103+
91104
if int(vdev.vdev_path) != 0:
92105
print(
93106
"".ljust(indent),
@@ -111,7 +124,7 @@ def print_indented(self,
111124
if not sdb.is_null(vdev.vdev_mg):
112125
ZFSHistogram.print_histogram(vdev.vdev_mg.mg_histogram, 0,
113126
indent + 5)
114-
127+
prev = vdev
115128
if self.args.metaslab:
116129
metaslabs = sdb.execute_pipeline([vdev], [Metaslab()])
117130
Metaslab(self.arg_list).print_indented(metaslabs, indent + 5)
@@ -134,6 +147,11 @@ def from_spa(self, spa: drgn.Object) -> Iterable[drgn.Object]:
134147
else:
135148
yield from self.from_vdev(spa.spa_root_vdev)
136149

150+
for j in range(spa.spa_l2cache.sav_count):
151+
yield from self.from_vdev(spa.spa_l2cache.sav_vdevs[j])
152+
for j in range(spa.spa_spares.sav_count):
153+
yield from self.from_vdev(spa.spa_spares.sav_vdevs[j])
154+
137155
@sdb.InputHandler("vdev_t*")
138156
def from_vdev(self, vdev: drgn.Object) -> Iterable[drgn.Object]:
139157
if self.args.vdev_ids:

tests/integration/data/regression_output/zfs/spa -mH

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ ADDR NAME
413413
Approx. Median: 192.0MB
414414
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
415415
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
416+
- - - logs
416417
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
417418
** No histogram data available **
418419
ADDR ID OFFSET FREE FRAG UCMU
@@ -582,6 +583,8 @@ ADDR NAME
582583
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
583584
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
584585
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
586+
- - - cache
587+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
585588
0xffffa08955c44000 rpool
586589
** No histogram data available **
587590
ADDR STATE AUX DESCRIPTION

tests/integration/data/regression_output/zfs/spa -v

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ADDR NAME
77
0xffffa08949ff4000 HEALTHY NONE mirror
88
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
99
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
10+
- - - logs
1011
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
1112
0xffffa089413b8000 meta-domain
1213
ADDR STATE AUX DESCRIPTION
@@ -16,6 +17,8 @@ ADDR NAME
1617
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
1718
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
1819
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
20+
- - - cache
21+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
1922
0xffffa08955c44000 rpool
2023
ADDR STATE AUX DESCRIPTION
2124
------------------------------------------------------------

tests/integration/data/regression_output/zfs/spa -vH

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ ADDR NAME
5353
Approx. Median: 192.0MB
5454
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
5555
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
56+
- - - logs
5657
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
5758
** No histogram data available **
5859
0xffffa089413b8000 meta-domain
@@ -105,6 +106,8 @@ ADDR NAME
105106
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
106107
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
107108
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
109+
- - - cache
110+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
108111
0xffffa08955c44000 rpool
109112
** No histogram data available **
110113
ADDR STATE AUX DESCRIPTION

tests/integration/data/regression_output/zfs/spa -vm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ ADDR NAME
2424
0xffffa0894e631000 14 0x1c0000000 511MB 0% 4KB
2525
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
2626
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
27+
- - - logs
2728
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
2829
ADDR ID OFFSET FREE FRAG UCMU
2930
-----------------------------------------------------------------
@@ -63,6 +64,8 @@ ADDR NAME
6364
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
6465
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
6566
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
67+
- - - cache
68+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
6669
0xffffa08955c44000 rpool
6770
ADDR STATE AUX DESCRIPTION
6871
------------------------------------------------------------

tests/integration/data/regression_output/zfs/spa -vmH

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@ ADDR NAME
413413
Approx. Median: 192.0MB
414414
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
415415
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
416+
- - - logs
416417
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
417418
** No histogram data available **
418419
ADDR ID OFFSET FREE FRAG UCMU
@@ -582,6 +583,8 @@ ADDR NAME
582583
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
583584
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
584585
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
586+
- - - cache
587+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
585588
0xffffa08955c44000 rpool
586589
** No histogram data available **
587590
ADDR STATE AUX DESCRIPTION

tests/integration/data/regression_output/zfs/spa | vdev

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
0xffffa08949ff4000 HEALTHY NONE mirror
55
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
66
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
7+
- - - logs
78
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
89
0xffffa08953aa4000 HEALTHY NONE root
910
0xffffa08953aa8000 HEALTHY NONE raidz
1011
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
1112
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
1213
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
14+
- - - cache
15+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
1316
0xffffa08952efc000 HEALTHY NONE root
1417
0xffffa08953300000 HEALTHY NONE /dev/sda1

tests/integration/data/regression_output/zfs/spa | vdev | pp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@
44
0xffffa08949ff4000 HEALTHY NONE mirror
55
0xffffa08948af8000 HEALTHY NONE /dev/sdb1
66
0xffffa08949ff8000 HEALTHY NONE /dev/sdc1
7+
- - - logs
78
0xffffa08949e58000 HEALTHY NONE /dev/sdd1
89
0xffffa08953aa4000 HEALTHY NONE root
910
0xffffa08953aa8000 HEALTHY NONE raidz
1011
0xffffa08953aac000 HEALTHY NONE /tmp/dks0
1112
0xffffa08953ab0000 HEALTHY NONE /tmp/dks1
1213
0xffffa08953ab4000 HEALTHY NONE /tmp/dks2
14+
- - - cache
15+
0xffffa088ce7d0000 HEALTHY NONE /tmp/dks3
1316
0xffffa08952efc000 HEALTHY NONE root
1417
0xffffa08953300000 HEALTHY NONE /dev/sda1

0 commit comments

Comments
 (0)