diff --git a/sos/report/plugins/vdo.py b/sos/report/plugins/vdo.py index f98af39f9..76124062f 100644 --- a/sos/report/plugins/vdo.py +++ b/sos/report/plugins/vdo.py @@ -28,6 +28,21 @@ def setup(self): vdos = self.collect_cmd_output('vdo list --all') for vdo in vdos['output'].splitlines(): self.add_cmd_output(f"vdo status -n {vdo}") - self.add_cmd_output('vdostats --human-readable') + self.add_cmd_output([ + 'vdostats --human-readable', + 'vdostats --verbose', + ]) + vdo_cols = 'vdo_deduplication,vdo_index_state' + lvm_vdos = self.collect_cmd_output(f"lvs -a -o +{vdo_cols}") + if lvm_vdos['status'] == 0: + for vdo in lvm_vdos['output'].splitlines(): + # we can find the pool and pool data maps in the output + # of lvs, in the column Volume type, + # marked as either 'd' or 'D' + if vdo.split()[2].startswith("D"): + vdo_path = f"{vdo.split()[1]}-{vdo.split()[0].strip('[]')}" + self.add_cmd_output( + f"vdodumpconfig /dev/mapper/{vdo_path}" + ) # vim set et ts=4 sw=4 :