diff -Naurp pcp-4.3.0-orig/qa/1188 pcp-4.3.0/qa/1188
--- pcp-4.3.0-orig/qa/1188	2018-11-13 19:38:54.000000000 +1100
+++ pcp-4.3.0/qa/1188	2019-05-14 10:52:30.174972662 +1000
@@ -2,7 +2,7 @@
 # PCP QA Test No. 1188
 # Test pmdadm VDO (Virtual Data Optimizer) metrics with valgrind.
 #
-# Copyright (c) 2018 Red Hat.
+# Copyright (c) 2018-2019 Red Hat.
 #
 
 seq=`basename $0`
diff -Naurp pcp-4.3.0-orig/qa/1188.out pcp-4.3.0/qa/1188.out
--- pcp-4.3.0-orig/qa/1188.out	2018-03-05 18:15:07.000000000 +1100
+++ pcp-4.3.0/qa/1188.out	2019-05-14 10:52:30.178972587 +1000
@@ -1039,6 +1039,1237 @@ vdo.dev.slab.summary.blocks_written PMID
 Help:
 Count of blocks written
     inst [0 or "vdo1"] value 1018
+
+vdo.dev.hash_lock.concurrent_data_matches PMID: 129.5.154 [Concurrent hash lock data matches ]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Concurrent hash lock data matches 
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.hash_lock.concurrent_hash_collisions PMID: 129.5.155 [Concurrent hash collisions]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Concurrent hash collisions
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.hash_lock.dedupe_advice_stale PMID: 129.5.156 [Correct hash lock deduplication advice]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Correct hash lock deduplication advice
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.hash_lock.dedupe_advice_valid PMID: 129.5.157 [Incorrect hash lock deduplication advice]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Incorrect hash lock deduplication advice
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.curr_dedupe_queries PMID: 129.5.158 [Current index deduplication queries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Current index deduplication queries
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.entries_indexed PMID: 129.5.159 [Count of indexed entries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of indexed entries
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.max_dedupe_queries PMID: 129.5.160 [Maximum index deduplication queries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Maximum index deduplication queries
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.posts_found PMID: 129.5.161 [Index posts found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index posts found
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.posts_not_found PMID: 129.5.162 [Index posts not found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index posts not found
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.queries_found PMID: 129.5.163 [Index queries found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index queries found
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.queries_not_found PMID: 129.5.164 [Index queries not found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index queries not found
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.updates_found PMID: 129.5.165 [Index updates found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index updates found
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.index.updates_not_found PMID: 129.5.166 [Index updates not found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index updates not found
+Error: Metric not supported by this version of monitored application
+=== std err ===
+=== filtered valgrind report ===
+Memcheck, a memory error detector
+Command: pminfo -L -K clear -K add,129,PCP_PMDAS_DIR/dm/pmda_dm,dm_init -dfmtT vdo
+LEAK SUMMARY:
+definitely lost: 0 bytes in 0 blocks
+indirectly lost: 0 bytes in 0 blocks
+ERROR SUMMARY: 0 errors from 0 contexts ...
+
+== done
+
+== Valgrind checking metric descriptors and values - vdo-root-002.tgz
+=== std out ===
+
+vdo.dev.blocksize PMID: 129.5.95 [The device physical block size]
+    Data Type: 32-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: discrete  Units: byte
+Help:
+The device physical block size
+    inst [0 or "vdotest"] value 4096
+
+vdo.dev.complete_recoveries PMID: 129.5.96 [Count of times the VDO has successfully recovered]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times the VDO has successfully recovered
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.curr_dedupe_queries PMID: 129.5.97 [Number of dedupe queries active]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of dedupe queries active
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.curr_vios_in_progress PMID: 129.5.98 [Number of VIOs in progress]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of VIOs in progress
+    inst [0 or "vdotest"] value 181
+
+vdo.dev.flush_out PMID: 129.5.106 [Count of flush events]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush events
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.in_recovery_mode PMID: 129.5.107 [Whether VDO is currently in recovery mode]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Whether VDO is currently in recovery mode
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.instance PMID: 129.5.108 [Kernel instance number for this VDO]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Kernel instance number for this VDO
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.journal_disk_full PMID: 129.5.112 [Count of times the on-disk journal was full]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times the on-disk journal was full
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.logical_blocksize PMID: 129.5.118 [Logical block size]
+    Data Type: 32-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: discrete  Units: byte
+Help:
+Logical block size
+    inst [0 or "vdotest"] value 4096
+
+vdo.dev.max_dedupe_queries PMID: 129.5.120 [Maximum number of deduplication active queries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Maximum number of deduplication active queries
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.maxvios PMID: 129.5.121 [Maximum number of active VIOs]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Maximum number of active VIOs
+    inst [0 or "vdotest"] value 944
+
+vdo.dev.mode PMID: 129.5.126 [String describing the operating mode of the VDO]
+    Data Type: string  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+String describing the operating mode of the VDO
+    inst [0 or "vdotest"] value "normal"
+
+vdo.dev.physical_blocks PMID: 129.5.131 [Number of physical blocks]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of physical blocks
+    inst [0 or "vdotest"] value 2621440
+
+vdo.dev.readonly_recoveries PMID: 129.5.135 [Count of readonly recoveries performed]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of readonly recoveries performed
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.recovery_percentage PMID: 129.5.136 [Percent complete when recovery is active]
+    Data Type: float  InDom: 129.5 0x20400005
+    Semantics: instant  Units: none
+Help:
+Percent complete when recovery is active
+    inst [0 or "vdotest"] value 100
+
+vdo.dev.write_policy PMID: 129.5.144 [String describing the active write policy of the VDO]
+    Data Type: string  InDom: 129.5 0x20400005
+    Semantics: discrete  Units: none
+Help:
+String describing the active write policy of the VDO
+    inst [0 or "vdotest"] value "async"
+
+vdo.dev.capacity PMID: 129.5.149 [Total physical device capacity]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: Kbyte
+Help:
+Total physical device capacity
+    inst [0 or "vdotest"] value 10485760
+
+vdo.dev.used PMID: 129.5.150 [Used device space, including both data and metadata (overhead)]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: Kbyte
+Help:
+Used device space, including both data and metadata (overhead)
+    inst [0 or "vdotest"] value 4289708
+
+vdo.dev.available PMID: 129.5.151 [Difference between device capacity and used space]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: Kbyte
+Help:
+Difference between device capacity and used space
+    inst [0 or "vdotest"] value 6196052
+
+vdo.dev.used_percentage PMID: 129.5.152 [Percentage of physical device space used]
+    Data Type: float  InDom: 129.5 0x20400005
+    Semantics: instant  Units: none
+Help:
+Percentage of physical device space used
+    inst [0 or "vdotest"] value 40.909843
+
+vdo.dev.savings_percentage PMID: 129.5.153 [Percentage of logical blocks not being used for data blocks]
+    Data Type: float  InDom: 129.5 0x20400005
+    Semantics: instant  Units: none
+Help:
+Percentage of logical blocks not being used for data blocks
+    inst [0 or "vdotest"] value 82.854805
+
+vdo.dev.allocator.slab_count PMID: 129.5.1 [Number of slabs from which blocks may be allocated]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of slabs from which blocks may be allocated
+    inst [0 or "vdotest"] value 3
+
+vdo.dev.allocator.slabs_opened PMID: 129.5.2 [Count of slabs from which blocks have ever been allocated]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of slabs from which blocks have ever been allocated
+    inst [0 or "vdotest"] value 1
+
+vdo.dev.allocator.slabs_reopened PMID: 129.5.3 [Count of times that a slab has been re-opened]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times that a slab has been re-opened
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.discard PMID: 129.5.4 [Count of disacrd operations on ACKd bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of disacrd operations on ACKd bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.flush PMID: 129.5.5 [Count of flush operations on ACKd bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on ACKd bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.fua PMID: 129.5.6 [Count of force unit access operations on ACKed bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on ACKed bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.read PMID: 129.5.7 [Count of read operations on ACKed bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on ACKed bios
+    inst [0 or "vdotest"] value 131835
+
+vdo.dev.bios.acknowledged.write PMID: 129.5.8 [Count of write operations on ACKed bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on ACKed bios
+    inst [0 or "vdotest"] value 131104
+
+vdo.dev.bios.acknowledged.partial.discard PMID: 129.5.9 [Count of discard operations on ACKed partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on ACKed partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.partial.flush PMID: 129.5.10 [Count of flush operations on ACKed partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on ACKed partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.partial.fua PMID: 129.5.11 [Count of force unit access operations on ACKed partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on ACKed partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.partial.read PMID: 129.5.12 [Count of read operations on ACKed partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on ACKed partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.acknowledged.partial.write PMID: 129.5.13 [Count of write operations on ACKed partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on ACKed partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.discard PMID: 129.5.14 [Count of discard operations on incoming bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on incoming bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.flush PMID: 129.5.15 [Count of flush operations on incoming bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on incoming bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.fua PMID: 129.5.16 [Count of force unit access operations on incoming bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on incoming bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.read PMID: 129.5.17 [Count of read operations on incoming bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on incoming bios
+    inst [0 or "vdotest"] value 131835
+
+vdo.dev.bios.in.write PMID: 129.5.18 [Count of write operations on incoming bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on incoming bios
+    inst [0 or "vdotest"] value 131104
+
+vdo.dev.bios.in.partial.discard PMID: 129.5.19 [Count of discard operations on incoming partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on incoming partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.partial.flush PMID: 129.5.20 [Count of flush operations on incoming partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on incoming partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.partial.fua PMID: 129.5.21 [Count of force unit access operations on incoming partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on incoming partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.partial.read PMID: 129.5.22 [Count of read operations on incoming partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on incoming partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in.partial.write PMID: 129.5.23 [Count of write operations on incoming partial bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on incoming partial bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in_progress.discard PMID: 129.5.24 [Count of discard operations on in-progress bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on in-progress bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in_progress.flush PMID: 129.5.25 [Count of flush operations on in-progress bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on in-progress bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in_progress.fua PMID: 129.5.26 [Count of force unit access operations on in-progress bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on in-progress bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in_progress.read PMID: 129.5.27 [Count of read operations on in-progress bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on in-progress bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.in_progress.write PMID: 129.5.28 [Count of write operations on in-progress bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on in-progress bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.discard PMID: 129.5.49 [Count of discard operations on outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on outgoing bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.flush PMID: 129.5.50 [Count of flush operations on outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on outgoing bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.fua PMID: 129.5.51 [Count of force unit access operations on outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on outgoing bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.read PMID: 129.5.52 [Count of read operations on outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on outgoing bios
+    inst [0 or "vdotest"] value 11220
+
+vdo.dev.bios.out.write PMID: 129.5.53 [Count of write operations on outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on outgoing bios
+    inst [0 or "vdotest"] value 13673
+
+vdo.dev.bios.out.completed.discard PMID: 129.5.54 [Count of discard operations on completed outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on completed outgoing bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.completed.flush PMID: 129.5.55 [Count of flush operations on completed outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on completed outgoing bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.completed.fua PMID: 129.5.56 [Count of force unit access operations on completed outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on completed outgoing bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.out.completed.read PMID: 129.5.57 [Count of read operations on completed outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on completed outgoing bios
+    inst [0 or "vdotest"] value 11220
+
+vdo.dev.bios.out.completed.write PMID: 129.5.58 [Count of write operations on completed outgoing bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on completed outgoing bios
+    inst [0 or "vdotest"] value 13673
+
+vdo.dev.bios.journal.discard PMID: 129.5.29 [Count of discard operations on journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.flush PMID: 129.5.30 [Count of flush operations on journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on journal bios
+    inst [0 or "vdotest"] value 102
+
+vdo.dev.bios.journal.fua PMID: 129.5.31 [Count of force unit access operations on journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.read PMID: 129.5.32 [Count of read operations on journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.write PMID: 129.5.33 [Count of write operations on journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on journal bios
+    inst [0 or "vdotest"] value 11009
+
+vdo.dev.bios.journal.completed.discard PMID: 129.5.34 [Count of discard operations on completed journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on completed journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.completed.flush PMID: 129.5.35 [Count of flush operations on completed journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on completed journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.completed.fua PMID: 129.5.36 [Count of force unit access operations on completed journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on completed journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.completed.read PMID: 129.5.37 [Count of read operations on completed journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on completed journal bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.journal.completed.write PMID: 129.5.38 [Count of write operations on completed journal bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on completed journal bios
+    inst [0 or "vdotest"] value 10907
+
+vdo.dev.bios.meta.discard PMID: 129.5.39 [Count of discard operations on metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on metadata bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.meta.flush PMID: 129.5.40 [Count of flush operations on metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on metadata bios
+    inst [0 or "vdotest"] value 204
+
+vdo.dev.bios.meta.fua PMID: 129.5.41 [Count of force unit access operations on metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on metadata bios
+    inst [0 or "vdotest"] value 1
+
+vdo.dev.bios.meta.read PMID: 129.5.42 [Count of read operations on metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on metadata bios
+    inst [0 or "vdotest"] value 223
+
+vdo.dev.bios.meta.write PMID: 129.5.43 [Count of write operations on metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on metadata bios
+    inst [0 or "vdotest"] value 19869
+
+vdo.dev.bios.meta.completed.discard PMID: 129.5.44 [Count of discard operations on completed metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on completed metadata bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.meta.completed.flush PMID: 129.5.45 [Count of flush operations on completed metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on completed metadata bios
+    inst [0 or "vdotest"] value 102
+
+vdo.dev.bios.meta.completed.fua PMID: 129.5.46 [Count of force unit access operations on completed metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on completed metadata bios
+    inst [0 or "vdotest"] value 1
+
+vdo.dev.bios.meta.completed.read PMID: 129.5.47 [Count of read operations on completed metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on completed metadata bios
+    inst [0 or "vdotest"] value 223
+
+vdo.dev.bios.meta.completed.write PMID: 129.5.48 [Count of write operations on completed metadata bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on completed metadata bios
+    inst [0 or "vdotest"] value 19767
+
+vdo.dev.bios.page_cache.discard PMID: 129.5.69 [Count of discard operations on page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.flush PMID: 129.5.70 [Count of flush operations on page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.fua PMID: 129.5.71 [Count of force unit access operations on page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.read PMID: 129.5.72 [Count of read operations on page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on page cache bios
+    inst [0 or "vdotest"] value 162
+
+vdo.dev.bios.page_cache.write PMID: 129.5.73 [Count of write operations on page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of write operations on page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.completed.discard PMID: 129.5.64 [Count of discard operations on completed page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on completed page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.completed.flush PMID: 129.5.65 [Count of flush operations on completed page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flush operations on completed page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.completed.fua PMID: 129.5.66 [Count of force unit access operations on completed page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of force unit access operations on completed page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.bios.page_cache.completed.read PMID: 129.5.67 [Count of read operations on completed page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of read operations on completed page cache bios
+    inst [0 or "vdotest"] value 162
+
+vdo.dev.bios.page_cache.completed.write PMID: 129.5.68 [Count of discard operations on completed page cache bios]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of discard operations on completed page cache bios
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.cache_pressure PMID: 129.5.74 [Count of times when a free page was not available]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times when a free page was not available
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.cache_size PMID: 129.5.75 [Size of the block map page cache]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Size of the block map page cache
+    inst [0 or "vdotest"] value 134217728
+
+vdo.dev.block_map.clean_pages PMID: 129.5.76 [Number of clean (resident) pages]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of clean (resident) pages
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.dirty_pages PMID: 129.5.77 [Number of dirty (resident) pages]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of dirty (resident) pages
+    inst [0 or "vdotest"] value 162
+
+vdo.dev.block_map.discard_required PMID: 129.5.78 [Count of gets requiring discard]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of gets requiring discard
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.failed_pages PMID: 129.5.79 [Number of pages in failed state]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of pages in failed state
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.failed_reads PMID: 129.5.80 [Count of failed page reads]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of failed page reads
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.failed_writes PMID: 129.5.81 [Count of failed page writes]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of failed page writes
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.fetch_required PMID: 129.5.82 [Count of gets requiring fetch]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of gets requiring fetch
+    inst [0 or "vdotest"] value 162
+
+vdo.dev.block_map.flush_count PMID: 129.5.83 [Count of flushes issued]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of flushes issued
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.found_in_cache PMID: 129.5.84 [Count of gets that were already there]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of gets that were already there
+    inst [0 or "vdotest"] value 332794
+
+vdo.dev.block_map.free_pages PMID: 129.5.85 [Number of free pages]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of free pages
+    inst [0 or "vdotest"] value 32606
+
+vdo.dev.block_map.incoming_pages PMID: 129.5.86 [Number of pages incoming]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of pages incoming
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.outgoing_pages PMID: 129.5.87 [Number of pages outgoing]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of pages outgoing
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.pages_loaded PMID: 129.5.88 [Count of page fetches]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of page fetches
+    inst [0 or "vdotest"] value 162
+
+vdo.dev.block_map.pages_saved PMID: 129.5.89 [Count of page saves]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of page saves
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.read_count PMID: 129.5.90 [Count of getVDOPageAsync calls for read]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of getVDOPageAsync calls for read
+    inst [0 or "vdotest"] value 210743
+
+vdo.dev.block_map.read_outgoing PMID: 129.5.91 [Count of gets for outgoing pages]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of gets for outgoing pages
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.reclaimed PMID: 129.5.92 [Count of gets that are reclaimed]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of gets that are reclaimed
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.block_map.wait_for_page PMID: 129.5.93 [Count of gets enqueued for their page]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of gets enqueued for their page
+    inst [0 or "vdotest"] value 8710
+
+vdo.dev.block_map.write_count PMID: 129.5.94 [Count of getVDOPageAsync calls for write]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of getVDOPageAsync calls for write
+    inst [0 or "vdotest"] value 130923
+
+vdo.dev.data_blocks.used PMID: 129.5.99 [Number of blocks used for data]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of blocks used for data
+    inst [0 or "vdotest"] value 22447
+
+vdo.dev.dedupe_advice.stale PMID: 129.5.100 [Count of times stale deduplication advice given]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times stale deduplication advice given
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.dedupe_advice.timeouts PMID: 129.5.101 [Count of times deduplication advice timed out]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times deduplication advice timed out
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.dedupe_advice.valid PMID: 129.5.102 [Count of times valid deduplication advice given]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times valid deduplication advice given
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.errors.invalid_advicepbncount PMID: 129.5.103 [Count of invalid advice PBN errors]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of invalid advice PBN errors
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.errors.no_space_error_count PMID: 129.5.104 [Count of times a VIO completed with VDO_NO_SPACE error]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times a VIO completed with VDO_NO_SPACE error
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.errors.readonly_error_count PMID: 129.5.105 [Count of times a VIO completed with a VDO_READ_ONLY error]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times a VIO completed with a VDO_READ_ONLY error
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.journal_blocks.batching PMID: 129.5.145 [Difference between journal blocks started and written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Difference between journal blocks started and written
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.journal_blocks.committed PMID: 129.5.109 [Number of journal blocks for which a write operation has completed]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of journal blocks for which a write operation has completed
+    inst [0 or "vdotest"] value 10907
+
+vdo.dev.journal_blocks.started PMID: 129.5.110 [Number of journal blocks for which processing has started]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of journal blocks for which processing has started
+    inst [0 or "vdotest"] value 10907
+
+vdo.dev.journal_blocks.writing PMID: 129.5.146 [Difference between journal entries written and committed]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Difference between journal entries written and committed
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.journal_blocks.written PMID: 129.5.111 [Number of journal blocks for which a write operation has been issued]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of journal blocks for which a write operation has been issued
+    inst [0 or "vdotest"] value 10907
+
+vdo.dev.journal_entries.batching PMID: 129.5.147 [Difference between journal entries started and written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Difference between journal entries started and written
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.journal_entries.committed PMID: 129.5.113 [Number of journal entries for which a write operation has completed]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of journal entries for which a write operation has completed
+    inst [0 or "vdotest"] value 262188
+
+vdo.dev.journal_entries.started PMID: 129.5.114 [Number of journal entries for which processing has started]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of journal entries for which processing has started
+    inst [0 or "vdotest"] value 262188
+
+vdo.dev.journal_entries.writing PMID: 129.5.148 [Difference between journal entries written and committed]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Difference between journal entries written and committed
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.journal_entries.written PMID: 129.5.115 [Number of journal entries for which a write operation has been issued]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of journal entries for which a write operation has been issued
+    inst [0 or "vdotest"] value 262188
+
+vdo.dev.journal_slab.commits_requested PMID: 129.5.116 [Count of journal slab commits requested]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of journal slab commits requested
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.logical_blocks.count PMID: 129.5.117 [Number of logical blocks]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Number of logical blocks
+    inst [0 or "vdotest"] value 1569686
+
+vdo.dev.logical_blocks.used PMID: 129.5.119 [Number of logical blocks currently mapped to physical blocks]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of logical blocks currently mapped to physical blocks
+    inst [0 or "vdotest"] value 130923
+
+vdo.dev.memory_usage.bios_used PMID: 129.5.122 [Count of all bios used]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of all bios used
+    inst [0 or "vdotest"] value 37286
+
+vdo.dev.memory_usage.bytes_used PMID: 129.5.123 [Count of all bytes used]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: byte
+Help:
+Count of all bytes used
+    inst [0 or "vdotest"] value 424274472
+
+vdo.dev.memory_usage.peak.bio_count PMID: 129.5.124 [Peak count of bios used]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Peak count of bios used
+    inst [0 or "vdotest"] value 37574
+
+vdo.dev.memory_usage.peak.bytes_used PMID: 129.5.125 [Peak count of bytes used]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: byte
+Help:
+Peak count of bytes used
+    inst [0 or "vdotest"] value 424279320
+
+vdo.dev.overhead_blocks.used PMID: 129.5.127 [Number of blocks used for VDO metadata]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of blocks used for VDO metadata
+    inst [0 or "vdotest"] value 1049980
+
+vdo.dev.packer.compressed_blocks.written PMID: 129.5.128 [Count of blocks containing compressed items written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of blocks containing compressed items written
+    inst [0 or "vdotest"] value 8593
+
+vdo.dev.packer.compressed_fragments.in_packer PMID: 129.5.129 [Number of VIOs that are pending in the packer]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Number of VIOs that are pending in the packer
+    inst [0 or "vdotest"] value 181
+
+vdo.dev.packer.compressed_fragments.written PMID: 129.5.130 [Count of compressed data items written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of compressed data items written
+    inst [0 or "vdotest"] value 117250
+
+vdo.dev.read_cache.accesses PMID: 129.5.132 [Count of accesses to the read cache]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of accesses to the read cache
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.read_cache.data_hits PMID: 129.5.133 [Count of data hits in the read cache]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of data hits in the read cache
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.read_cache.hits PMID: 129.5.134 [Count of all hits in the read cache]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of all hits in the read cache
+Error: Metric not supported by this version of monitored application
+
+vdo.dev.ref_counts.blocks_written PMID: 129.5.137 [Count of reference blocks written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of reference blocks written
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.slab.journal.blocked_count PMID: 129.5.138 [Count of times an entry was added over the block threshold]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times an entry was added over the block threshold
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.slab.journal.blocks_written PMID: 129.5.139 [Count of times a tail block was written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times a tail block was written
+    inst [0 or "vdotest"] value 101
+
+vdo.dev.slab.journal.disk_full_count PMID: 129.5.140 [Count of times the on-disk journal was full]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times the on-disk journal was full
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.slab.journal.flush_count PMID: 129.5.141 [Count of times an entry was added over the flush threshold]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times an entry was added over the flush threshold
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.slab.journal.tail_busy_count PMID: 129.5.142 [Count of times VDO had to wait for the tail to write]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of times VDO had to wait for the tail to write
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.slab.summary.blocks_written PMID: 129.5.143 [Count of blocks written]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of blocks written
+    inst [0 or "vdotest"] value 101
+
+vdo.dev.hash_lock.concurrent_data_matches PMID: 129.5.154 [Concurrent hash lock data matches ]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Concurrent hash lock data matches 
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.hash_lock.concurrent_hash_collisions PMID: 129.5.155 [Concurrent hash collisions]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Concurrent hash collisions
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.hash_lock.dedupe_advice_stale PMID: 129.5.156 [Correct hash lock deduplication advice]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Correct hash lock deduplication advice
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.hash_lock.dedupe_advice_valid PMID: 129.5.157 [Incorrect hash lock deduplication advice]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Incorrect hash lock deduplication advice
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.index.curr_dedupe_queries PMID: 129.5.158 [Current index deduplication queries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Current index deduplication queries
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.index.entries_indexed PMID: 129.5.159 [Count of indexed entries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Count of indexed entries
+    inst [0 or "vdotest"] value 131104
+
+vdo.dev.index.max_dedupe_queries PMID: 129.5.160 [Maximum index deduplication queries]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: instant  Units: count
+Help:
+Maximum index deduplication queries
+    inst [0 or "vdotest"] value 323
+
+vdo.dev.index.posts_found PMID: 129.5.161 [Index posts found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index posts found
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.index.posts_not_found PMID: 129.5.162 [Index posts not found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index posts not found
+    inst [0 or "vdotest"] value 131104
+
+vdo.dev.index.queries_found PMID: 129.5.163 [Index queries found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index queries found
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.index.queries_not_found PMID: 129.5.164 [Index queries not found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index queries not found
+    inst [0 or "vdotest"] value 0
+
+vdo.dev.index.updates_found PMID: 129.5.165 [Index updates found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index updates found
+    inst [0 or "vdotest"] value 117250
+
+vdo.dev.index.updates_not_found PMID: 129.5.166 [Index updates not found]
+    Data Type: 64-bit unsigned int  InDom: 129.5 0x20400005
+    Semantics: counter  Units: count
+Help:
+Index updates not found
+    inst [0 or "vdotest"] value 0
 === std err ===
 === filtered valgrind report ===
 Memcheck, a memory error detector
diff -Naurp pcp-4.3.0-orig/qa/linux/vdo-root-002.tgz pcp-4.3.0/qa/linux/vdo-root-002.tgz
--- pcp-4.3.0-orig/qa/linux/vdo-root-002.tgz	1970-01-01 10:00:00.000000000 +1000
+++ pcp-4.3.0/qa/linux/vdo-root-002.tgz	2019-05-14 10:54:18.295954267 +1000
@@ -0,0 +1,15 @@
+‹@Ÿ[\íÝÍrÜHº˜á^û*æ¦€ú·öêl|¼:[„J’h¢€jüH-_½ÉÒhBgìSUH�ÓqÒÏÑ-‰dDJäî�/¿œ¾M}ûrþúþß¦ù¯Ó\Ïí4·Íô×ßþI6ïŽûýõ×wÿøëõ÷ÅvWûC±+~Ûû²<þö—ý?ë/pËòþÿò—ßÆa˜o}Ý½Ïÿ'5ÝøùwÃKÛÔ]õ¹š·©Z¦pŠ:ãã¼ÛíþƒŸñÓÏÿX÷ï/‹b[üö—Í?ùßúôÿùÏ¿ØnžÊíùý×þ/ºÕšeC?ÿÛ¿üëTµ}u‡—1LÓê3"úÏñxÔR(>âdîVÿùÜSõû°Œ}ÝUÍp¾ta§ê¹[¦×5g¬ï?ÛÍa¯ÿ¤°Q {·úÏž«fXúyúqìëØÎsèWž±¾ÿ”»²ÔRÐ 7ç>¢Ou®/Õ×º�«ça¬.õKX}FÌý¯½û_I|:dîîý¯�âS5uó¢¯€EÜÿÚíÍÿ$!þ@þîöŸ¶¯ž—ú—ÎXÝŠã®0ÿ“„þù»Õ.uóÆëØÏÇ»_á¹(bþçøþåúOŸöO^€ÌÝê?çpÆoÕ2}\»„ú­úüíýkÞ?NkÎˆzÿKÿIbWîÊãÓ¶4ùzøý÷S;5õ¸ªûü±ÿy[úO
+ºäïnÿ©›·~øÚ…ÓK8Uc¨#
+PDÿ9¼HÿI ØŸ¶{röÈþçË8¼|,ºîýYÿü{Ôûï¥÷¿’0ÿù»Õ¦®þüóý¯·êyéºª–~U
+‰ÚÿãþWúäïîüÏ9Ìõõ	°.Ìá5´¾ÿ”Û½ùŸ$Š§ãá¨@Ön¾ÿþúmj›ºûÛ³ïÑg¬ï?›m±ÕR(e±Û™€œ­Ûÿ·(bþgSõŸŠmQlvòäìVÿiûjÍð%ŒßªópŠØüü]ÄüÏîèþW& ·úÏ�ÕÏ¡ŸÇ6|þkýê3"æŠÒþç$>î}ú$@ÎîÞÿºÔ/¡jêæ5ü´úÔNM=ž<#âý¯ãÎüOæ ·úOÇaœª¶ÿRwí©ªO_Ú&ü�ÿúßÿÛÊàcÞÿEÿI@ÿ€ü=rÿëûó_ÕG(™Ã£C??YßŠÃÑþç$ŠÍÓÆûï�·uï]êqnë®zî–éõá3"æö¥û_I˜ÿ€ü­ÙÿÜçóÇèµ#@ûŸw…þ“„ýÏ�¿»ó?m_]ÆáeÓ´ríóßEôŸrãý¯$Ìÿ@þnöŸ�½?Õ¹¾üíý¯ËGZÆ°öŒ˜÷ßß¿\ÿI@ÿ€üÝê??Þ{¯ÆÐ_ÂÇ°¨3"ö?—ï%¡ÿ@þnõŸ¶?…?«?–kù©úa®ž‡¥_ÿXÄüÏæàþWúäïîþŸa™«ƒ@§êy©×ŸóþûÞý¯$ôÈß­þÆq?ªéR7¡ºþ¹j†¥_WB"æŽ»ƒþ“‚þù»;ÿssý‹@ó?ÇãVÿI¡Ð {·úOÝuCSÏÃXM]ý9bðço"úÏv«ÿ$±Õ {÷÷?‡~¾î¾þ)¬ßþÕö›RÿI¡ØÅf'@ÎVîC�æý¯Âþç$Šâý›-ÿ@ÖîöŸºyë‡¯]8½„Suj§¦× ˆþSíNBû€üÝí?—ú%TMÝ¼†è1 õýg[îÌÿ$QJ2w·ÿ´}u©Ç¹­»¨·¿>Dìÿ)ìNÃüäïfÿé†æ­:×—÷¾ª1ü±´ãÚ%Ð÷¿vûŸ“Ð ëöÿÄMEÜÿ*öî%¡ÿ@þî¿ÿ¾\Nõûgªçaéc^�»ÿu,ôŸÞ¿Óå^€¬=vÿë¹n»ëøÏK˜ÖŸÑöæÒ�~ wï�Ã\G¿üõ]ÄþûŸ)Ë­™»Õž»ez­†åW»ÇêþS‹½ýÏI˜ÿ€ü­ºÿõ1ü“êþ—ùŸ$ôÈßÝû_Ã2¯|îë1ÿs(7úO
+úäïVÿ9§ðÏ8c}ÿ9lý'…~Ïu'@Î»ÿõqñ«j†¥�J ÷¿Ê£÷¿’(‹Íqg4dí±÷¿®› £ÏXß6ÛÍ^ÿI¡ÜìÄÈÜÝþÓöÕ¥ç¶îª¯c;Ç\‹Ùÿ\xÿ+	û ·úOÝuCSÏÃXM]ýyª†KèÃiýýç°³ÿ9‰Bÿ€ìÝê?Õ§ú}XÆ¾îª¹n»êó2}[¿h}ÿÙ¾PÿIÁüäïVÿiûSø³j–q¬Ná´\BõÇÆ6L+ÏXßÊíá¨ÿ¤ ÿ@þîîÿ–ùúü×/œ±þý÷ãñ`þ'‰¢(K
òv«ÿœÃy¿UËT¿„êê·ês;D<1ÿs8šÿIb{Ü½y»ÿë\ÿùk×¿búO¹)ôŸ¶åVý€ÌÝï?ËåT¿¦ê‡¹z–~ýM°ˆþ³Ùë?I¸ûù»Õ.uóÆªÎ—1LS8UÏcýrý<Um_}ÿôg¬ï?»c±ÓR(>yr÷ÐþçS;5õ½z}ÿÙìöý'ó?�¿‡úÏs·L¯ñgDôŸâ ÿ$¡ÿ@þê?7Àº0‡Sõulç°öŒ˜ýÏÛ­þ“B±=m€€¼Ýê?¿ËØ×]5uõçêÇšá|nç©ÃËû×‡n…­ï?ûâ ÿ$aþòwsþ§š·ê\_ª¦n^C5µÿsõìÏ‡õý§(wî%ññ}/ŽÇò“Ùz¬ÿŒ¡>}Ü{Úþeõýçx<ê?)˜ÿ€üÝê?ÝðÒ6uW}ï@±Ó?QûŸ�‡�þ“Ânót�€ o·úÏ)œ–K¨êÓ—¶	ÕÜžÃ°ÌÓú3"æû�þ“‚ùÈßÝ÷¿~ì}Žzùë»ˆþ³Ù•úO
+Åû·ÿI€¬Ýí?mÿ+éçjuÿùXÿcÿsÅ¶(6;rv«ÿ|ßúÜwßª14Ã—0¶!âöWÔüÏvçþWî@þnõŸW¿®ûŸ§ëÐúõgÄ¼ÿUîõŸŠÍÓæ¨@Öî¿ÿÿî×÷¿Þ¯ÿ¤àý/ÈßÃûŸ›á|éÂNÕóR¯;cýüO¹/ŽúO
+î@þîÏÿœëKõ\·]8}_½~PÌý¯£÷¿’Ð wç†eþiöçÔNM=žÖ�5ÿ£ÿ$¡ÿ@þyÿý2/c˜¦õ7¿¾‹zÿk«ÿ¤ ÿ@þîöŸKýª¦n^Cõñ|Ìý§,6úO
+Å¡T€ sûŸWg ˆû_‡½ýÏI˜ÿ€ü=¸ÿyXúÓÇU°ë ÐÚ3"úÏæ¸×RØnËãÓN€œÝê?SWþûüÏ5M×'ÀæÐ¯:#¢ÿËƒþ“B±)ÄÈÜºýÏÝ2½®?#æý÷¢ÐRpÿòw«ÿŒ¡¾„ñ[u	cú¹~Y}õë*¢ÿî¥ñþÝW€ swçÎa®Zþ3qÿk»3ÿ“D±ñþäînÿ©›·~øÚ…ÓKdý‰Ûÿ¼±ÿ'	Ó?�¿ßÿC¨.õK˜bÎˆ¸ÿUîÍÿ$±-›ƒY{°ÿ„¹y­ÆðÇÒŽá´öŒˆùŸbWê?)÷¿ wwï}LýTMÝ¼†ëÛï1 #ævåQÿIÁý/Èß­þÓö§ðgu¦yªúa®ž‡¥_=üó[TÿÙïwúO
+Å¶(6;rvwþç÷aûºûé	°S;5õ¸"­ï?ÛíÞûïI˜ÿ€ü=öþûêäóï¬ï?›ýQÿIBÿ€üÝê?çpÆoÕ2}¬úüíýÓï¿_¿þ9êý÷ƒû_IìÊ]yÜíŽ¶@@¾nõŸnxi›º«®ï€E½üþ]ÄüOQxÿ=‰bx:|ò<ä,bÿÏêgÀ"öÿlŽý'…bó´9ª?�µ5ï¿ÇnŠxÿë¸Ñ’°ÿòw«ÿ\}ªËÐµÍ·_9cuÿ)Ž‡ýVÿI¡ž¾õ�Y»;ÿÓöÕ¥ç¶î’ÎÿíÿIÂüäïáý?ÏK{FÄþçÝÁüOúäïVÿiûSø³úc	c¦êyXúõ³?"æÊ�ùŸ$ôÈßÝùŸs˜ë_þù-jÿÏq{ÔR(ôÈÞš÷¿bŸ€�xÿÝý¯DÌÿ@þîöŸºyë‡¯]8½„SäPÄý¯Ýn£ÿ¤ ÿ@þzÿk^Æ0MÕê˜
@ýg¿1ÿ“„þù»Õê®šzÆjêêÏùg¸„>¬N@ëûOYìÿIBÿ€üÝœÿé†æ­:×—jXæ—¡í_®Û€¦µgDõó?Iè?�¿[ýçTÏuu�@SµLëç~~Xß6»­ý?I”ånwÔ€ k�Íÿ\ßûªšaécHÌþŸÂüOÅvóTn ÈÙ­þó±õ§ú}XÆ¾îªçn™^ãPÄý¯²<è?)¸ÿù»ÕÚþý}~õŒÕý§8wúOúäïVÿ¾„ñ5Ô§_Ýqÿk[ìôŸŠÍîéé“
+9»¹ÿ§¦ªnÞúákN/áT]êqnëîû> ‡ÏXß¶û­ý?I(?�¿[ýçµž^«ëèfè›eC?W×GÁÎõÜ¼>üüúþ³ÛlÍÿ$¡ÿ@þnïÿ9…?«Ë0ÍSõ<,}ìðï¿ŽúOúäï±ùŸS8-—PÕ§/mª/u×®iA÷¿Šb¯ÿ¤ ÿ@þîîÿiû¿oýC�jÿsy´ÿ'	ýò·¦ÿ<wËôqFDÿÙo
+ý'ýòw«ÿœë?ÿí_þõÑ-Ïÿ±Õý§8ìŽý'…§ÝN€ÌÝê?¿ËØ×]úylÃT}”’9¬¿¶~þ§Ü¸ÿ•Fy(‹OŸ$ ÈÙÝû_ç0×U3œ/]˜Ã©:µSS�ëPDÿ9lÝÿJÂý/Èß­þÆq§ëÚçjè»oÕõU3,ýªóþ×ÖüOúäï‘ýÏ13??[ß6åÞûïIè?�¿»ýçR¿„ª©›×ðÓ-°ç¥^qFÌüÏf§ÿ¤ ÿ@þîöŸºyë‡¯]8½„Óß_‚_7´¾ÿì6E©ÿ¤ ÿ@þîöŸa™üé–éuíûŸßé?)è?�¿›ý§š·ê\_ª¦u½
+6Eœ±¾ÿ;ó?iè?�¿[ýçÎÃø­Z¦�@×a e
+k #úÏá¨ÿ$±=–Ÿdí‘÷¿>€ÿ•3V÷Ÿ÷ÿï�úO
+Å¶ø´Ý@�³»ýçæºú:¶sˆ>#âý÷mqÐR(ž>žäÈÚ­þ3uõçê÷aûº«®Ë€Â©j†¥_B"ö?ï‹�þ“‚ý?�¿»ó??úOÔË_ßEìÿÙlý'…bS*@�¹»ó?Ór>×ã·ïó?Óõ&ØúUgDÌÿ÷úOÅ¦Ð s�ìþ…ÑŸ«ˆýÏÇÃ^ÿIÁý/ÈßÍþó1òS�ëK5†¦«ÛsÌãï¿ÅÝÿ:Úÿœ„þù»ÕþÝêç©j†óùãò×êqÿ«ôþWÅæisÔ€ k·úÏk=½V× fè›eC?W×6C×µS;ôÓ#g¬ï?»ÃÆû_I˜ÿ€ü=vÿëR¿„©šê/Q7À"îí¶¥þ“‚þù»»ÿù#ýTMÝ¼†êy©£ÎˆÙÿ³7ÿ“„þù»Û~,C·ý9¦ÿlåVÿIAÿ€ü=¶ÿçNË%TõéKÛ„êýKº°âŒõýg[”ö?'¡ÿ@þÛÿÓöÍpnû—ï‹€ÖžñþW±5ÿ“„þù[³ÿ¹êSÌèˆý?ûƒý?I‡R€Ì=ÖNí8‹þù-îý¯ƒùŸ$ôÈßÝýÏÃ2W_Çv^³ðçDì.ŽGý'…b{8n ÈÚ­þóãé¯S;½UÏK×Ežóþ—÷ßÓ°ÿòwwþ§nÞúákN/áT]êqnW?ñþ×¶Øé?)è?�¿»ýçæzeïùGó?÷¿Ò(K·¿ w�í~î–éµj†¥�i 1ïmJý'ó?�¿»ó?�~UMÝ¼†ï(âŒ˜÷¿Šƒþ“‚þù»Õ.uóÆªÎ—1LS8UÏcýrý<]Ÿ›CÿÐëûÏn·ßë?)Å±Ü‹@ðŸÂÿ8Ó·«P
+
\ No newline at end of file
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/dmcache.c pcp-4.3.0/src/pmdas/dm/dmcache.c
--- pcp-4.3.0-orig/src/pmdas/dm/dmcache.c	2018-03-05 18:14:58.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/dmcache.c	2019-05-14 10:52:30.178972587 +1000
@@ -1,7 +1,7 @@
 /*
  * Device Mapper PMDA - Cache (dm-cache) Stats
  *
- * Copyright (c) 2015 Red Hat.
+ * Copyright (c) 2015,2019 Red Hat.
  * 
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -35,7 +35,7 @@ dm_cache_fetch(int item, struct cache_st
     if (item < 0 || item >= NUM_CACHE_STATS)
 	return PM_ERR_PMID;
 
-    switch(item) {
+    switch (item) {
         case CACHE_SIZE:
             atom->ull = cache_stats->size;
             break;
@@ -85,7 +85,7 @@ dm_cache_fetch(int item, struct cache_st
             atom->cp = cache_stats->io_mode;
             break;
     }
-    return 1;
+    return PMDA_FETCH_STATIC;
 }
 
 /*
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/dmstats.c pcp-4.3.0/src/pmdas/dm/dmstats.c
--- pcp-4.3.0-orig/src/pmdas/dm/dmstats.c	2018-11-19 11:51:55.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/dmstats.c	2019-05-14 10:52:30.178972587 +1000
@@ -1,6 +1,7 @@
 /*
  * Device Mapper PMDA - DM (device-mapper) Stats with dmstats API
  *
+ * Copyright (c) 2018-2019 Red Hat.
  * Copyright (c) 2017 Fumiya Shigemitsu.
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -29,7 +30,7 @@ int
 pm_dm_stats_fetch(int item, struct pm_wrap *pw, pmAtomValue *atom)
 {
     if (item < 0 || item >= PM_DM_STATS_NR_COUNTERS)
-	return  PM_ERR_PMID;
+	return PM_ERR_PMID;
 
     switch (item) {
 	case PM_DM_STATS_READS:
@@ -74,7 +75,7 @@ pm_dm_stats_fetch(int item, struct pm_wr
 	    atom->ull = pw->dmsc->pm_total_write_nsecs;
 	    break;
     }
-    return 1;
+    return PMDA_FETCH_STATIC;
 }
 
 int
@@ -96,7 +97,7 @@ pm_dm_histogram_fetch(int item, struct p
 	    atom->ull = pw->pdmh->pm_bin;
 	    break;
     }
-    return 1;
+    return PMDA_FETCH_STATIC;
 }
 
 #define SUM_COUNTER(pw, STATS_COUNTER) \
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/dmthin.c pcp-4.3.0/src/pmdas/dm/dmthin.c
--- pcp-4.3.0-orig/src/pmdas/dm/dmthin.c	2018-03-05 18:14:58.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/dmthin.c	2019-05-14 10:52:30.178972587 +1000
@@ -1,7 +1,7 @@
 /*
  * Device Mapper PMDA - Thin Provisioning (dm-thin) Stats
  *
- * Copyright (c) 2015 Red Hat.
+ * Copyright (c) 2015,2018 Red Hat.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -68,7 +68,7 @@ dm_thin_pool_fetch(int item, struct pool
             atom->cp = pool_stats->no_space_mode;
             break;
     }
-    return 1;
+    return PMDA_FETCH_STATIC;
 }
 
 /*
@@ -92,7 +92,7 @@ dm_thin_vol_fetch(int item, struct vol_s
             atom->ull = vol_stats->high_mapped_sector;
             break;
     }
-    return 1;
+    return PMDA_FETCH_STATIC;
 }
 
 /*
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/help pcp-4.3.0/src/pmdas/dm/help
--- pcp-4.3.0-orig/src/pmdas/dm/help	2018-03-05 18:15:07.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/help	2019-05-14 10:52:30.180972550 +1000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2015-2018 Red Hat.
+# Copyright (c) 2015-2019 Red Hat.
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by the
@@ -324,3 +324,31 @@ The number of latency histogram bins con
 @ vdo.dev.available Difference between device capacity and used space
 @ vdo.dev.used_percentage Percentage of physical device space used
 @ vdo.dev.savings_percentage Percentage of logical blocks not being used for data blocks
+
+@ vdo.dev.hash_lock.concurrent_data_matches Concurrent write data matches 
+The number of writes with the same data as another in-flight write.
+@ vdo.dev.hash_lock.concurrent_hash_collisions Concurrent write hash collisions
+The number of writes whose hash collided with an in-flight write.
+@ vdo.dev.hash_lock.dedupe_advice_stale Number of times deduplication advice was incorrect.
+@ vdo.dev.hash_lock.dedupe_advice_valid Number of times deduplication advice was correct
+@ vdo.dev.index.curr_dedupe_queries Current deduplication queries currently in-flight
+@ vdo.dev.index.entries_indexed Total number of chunk names stored in the index
+@ vdo.dev.index.max_dedupe_queries Maximum number of in-flight deduplication queries
+@ vdo.dev.index.posts_found Post calls where entry found
+The number of post calls since context statistics were last reset that
+found an existing entry.
+@ vdo.dev.index.posts_not_found Posts calls where entry not found
+The number of post calls since context statistics were last reset that
+added a new entry.
+@ vdo.dev.index.queries_found Query calls where entry found
+The number of query calls since context statistics were last reset that
+found an existing entry.
+@ vdo.dev.index.queries_not_found Query calls where entry not found
+The number of query calls since context statistics were last reset that
+did not find an entry.
+@ vdo.dev.index.updates_found Update calls where entry found
+The number of update calls since context statistics were last reset that
+updated an existing entry.
+@ vdo.dev.index.updates_not_found Update calls where entry not found
+The number of update calls since context statistics were last reset that
+added a new entry.
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/pmda.c pcp-4.3.0/src/pmdas/dm/pmda.c
--- pcp-4.3.0-orig/src/pmdas/dm/pmda.c	2018-11-12 11:29:10.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/pmda.c	2019-05-14 10:52:30.179972568 +1000
@@ -1,7 +1,7 @@
 /*
  * Device Mapper PMDA
  *
- * Copyright (c) 2015,2018 Red Hat.
+ * Copyright (c) 2015,2018-2019 Red Hat.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -924,6 +924,72 @@ static pmdaMetric metrictable[] = {
         PM_TYPE_STRING, DM_VDODEV_INDOM, PM_SEM_DISCRETE,
         PMDA_PMUNITS(0,0,0,0,0,0) }, },
 
+    { .m_user = (void *) "hash_lock_concurrent_data_matches",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_HASH_LOCK_CONCURRENT_DATA_MATCHES),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "hash_lock_concurrent_hash_collisions",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_HASH_LOCK_CONCURRENT_HASH_COLLISIONS),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "hash_lock_dedupe_advice_stale",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_HASH_LOCK_DEDUPE_ADVICE_STALE),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "hash_lock_dedupe_advice_valid",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_HASH_LOCK_DEDUPE_ADVICE_VALID),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_curr_dedupe_queries",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_CURR_DEDUPE_QUERIES),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_INSTANT,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_entries_indexed",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_ENTRIES_INDEXED),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_max_dedupe_queries",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_MAX_DEDUPE_QUERIES),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_INSTANT,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_posts_found",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_POSTS_FOUND),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_posts_not_found",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_POSTS_NOT_FOUND),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_queries_found",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_QUERIES_FOUND),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_queries_not_found",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_QUERIES_NOT_FOUND),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_updates_found",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_UPDATES_FOUND),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+    { .m_user = (void *) "index_updates_not_found",
+      .m_desc = {
+        PMDA_PMID(CLUSTER_VDODEV, VDODEV_INDEX_UPDATES_NOT_FOUND),
+        PM_TYPE_U64, DM_VDODEV_INDOM, PM_SEM_COUNTER,
+        PMDA_PMUNITS(0,0,1,0,0,PM_COUNT_ONE) }, },
+
     /* Derived metrics */
     { .m_user = NULL,
       .m_desc = {
@@ -1188,7 +1254,7 @@ dm_fetchCallBack(pmdaMetric *mdesc, unsi
         default: /* unknown cluster */
 	    return PM_ERR_PMID;
     }
-    return 1;
+    return PMDA_FETCH_NOVALUES;
 }
 
 /*
@@ -1203,7 +1269,7 @@ dm_init(pmdaInterface *dp)
 	int sep = pmPathSeparator();
 	pmsprintf(helppath, sizeof(helppath), "%s%c" "dm" "%c" "help",
 		pmGetConfig("PCP_PMDAS_DIR"), sep, sep);
-	pmdaDSO(dp, PMDA_INTERFACE_4, "DM DSO", helppath);
+	pmdaDSO(dp, PMDA_INTERFACE_7, "DM DSO", helppath);
     }
 
     if (dp->status != 0)
@@ -1260,7 +1326,7 @@ main(int argc, char **argv)
     pmSetProgname(argv[0]);
     pmsprintf(helppath, sizeof(helppath), "%s%c" "dm" "%c" "help",
 		pmGetConfig("PCP_PMDAS_DIR"), sep, sep);
-    pmdaDaemon(&dispatch, PMDA_INTERFACE_4, pmGetProgname(), DM, "dm.log", helppath);
+    pmdaDaemon(&dispatch, PMDA_INTERFACE_7, pmGetProgname(), DM, "dm.log", helppath);
 
     pmdaGetOptions(argc, argv, &opts, &dispatch);
     if (opts.errors) {
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/pmns.vdo pcp-4.3.0/src/pmdas/dm/pmns.vdo
--- pcp-4.3.0-orig/src/pmdas/dm/pmns.vdo	2018-03-05 18:15:07.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/pmns.vdo	2019-05-14 10:52:30.179972568 +1000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Red Hat.
+ * Copyright (c) 2018-2019 Red Hat.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -54,6 +54,8 @@ vdo.dev {
 	available		DM:5:151
 	used_percentage		DM:5:152
 	savings_percentage	DM:5:153
+	hash_lock
+	index
 }
 
 vdo.dev.allocator {
@@ -302,3 +304,22 @@ vdo.dev.slab.journal {
 vdo.dev.slab.summary {
 	blocks_written		DM:5:143
 }
+
+vdo.dev.hash_lock {
+	concurrent_data_matches	DM:5:154
+	concurrent_hash_collisions DM:5:155
+	dedupe_advice_stale	DM:5:156
+	dedupe_advice_valid	DM:5:157
+}
+
+vdo.dev.index {
+	curr_dedupe_queries	DM:5:158
+	entries_indexed		DM:5:159
+	max_dedupe_queries	DM:5:160
+	posts_found		DM:5:161
+	posts_not_found		DM:5:162
+	queries_found		DM:5:163
+	queries_not_found	DM:5:164
+	updates_found		DM:5:165
+	updates_not_found	DM:5:166
+}
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/vdo.c pcp-4.3.0/src/pmdas/dm/vdo.c
--- pcp-4.3.0-orig/src/pmdas/dm/vdo.c	2018-03-05 18:14:58.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/vdo.c	2019-05-14 10:52:30.179972568 +1000
@@ -1,7 +1,7 @@
 /*
  * Device Mapper PMDA - VDO (Virtual Data Optimizer) Stats
  *
- * Copyright (c) 2018 Red Hat.
+ * Copyright (c) 2018-2019 Red Hat.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -42,46 +42,54 @@ vdo_fetch_oneline(const char *path, cons
     return NULL;
 }
 
-static char *
-vdo_fetch_string(const char *file, const char *name)
+static int
+vdo_fetch_string(const char *file, const char *name, char **v)
 {
-    return vdo_fetch_oneline(file, name);
+    if ((*v = vdo_fetch_oneline(file, name)) == NULL)
+	return PM_ERR_APPVERSION;
+    return PMDA_FETCH_STATIC;
 }
 
-static __uint64_t
-vdo_fetch_ull(const char *file, const char *name)
+static int
+vdo_fetch_ull(const char *file, const char *name, __uint64_t *v)
 {
     char *value = vdo_fetch_oneline(file, name);
     char *endnum = NULL;
-    __uint64_t v = strtoull(value, &endnum, 10);
 
+    if (!value)
+	return PM_ERR_APPVERSION;
+    *v = strtoull(value, &endnum, 10);
     if (!endnum || *endnum != '\0')
-	return 0;
-    return v;
+	return PM_ERR_VALUE;
+    return PMDA_FETCH_STATIC;
 }
 
-static __uint32_t
-vdo_fetch_ul(const char *file, const char *name)
+static int
+vdo_fetch_ul(const char *file, const char *name, __uint32_t *v)
 {
     char *value = vdo_fetch_oneline(file, name);
     char *endnum = NULL;
-    __uint32_t v = strtoul(value, &endnum, 10);
 
+    if (!value)
+	return PM_ERR_APPVERSION;
+    *v = strtoul(value, &endnum, 10);
     if (!endnum || *endnum != '\0')
-	return 0;
-    return v;
+	return PM_ERR_VALUE;
+    return PMDA_FETCH_STATIC;
 }
 
-static float
-vdo_fetch_float(const char *file, const char *name)
+static int
+vdo_fetch_float(const char *file, const char *name, float *v)
 {
     char *value = vdo_fetch_oneline(file, name);
     char *endnum = NULL;
-    float v = strtof(value, &endnum);
 
+    if (!value)
+	return PM_ERR_APPVERSION;
+    *v = strtof(value, &endnum);
     if (!endnum || *endnum != '\0')
-	return 0;
-    return v;
+	return PM_ERR_VALUE;
+    return PMDA_FETCH_STATIC;
 }
 
 /*
@@ -91,81 +99,112 @@ int
 dm_vdodev_fetch(pmdaMetric *metric, const char *name, pmAtomValue *atom)
 {
     char *file = (char *)metric->m_user;
+    int sts;
 
     if (file) {
 	unsigned int	type = metric->m_desc.type;
 
 	switch (type) {
 	case PM_TYPE_STRING:
-	    atom->cp = vdo_fetch_string(file, name);
-	    return 1;
+	    return vdo_fetch_string(file, name, &atom->cp);
 	case PM_TYPE_FLOAT:
-	    atom->f = vdo_fetch_float(file, name);
-	    return 1;
+	    return vdo_fetch_float(file, name, &atom->f);
 	case PM_TYPE_U64:
-	    atom->ull = vdo_fetch_ull(file, name);
-	    return 1;
+	    return vdo_fetch_ull(file, name, &atom->ull);
 	case PM_TYPE_U32:
-	    atom->ul = vdo_fetch_ul(file, name);
-	    return 1;
+	    return vdo_fetch_ul(file, name, &atom->ul);
 	default:
 	    break;
 	}
-	fprintf(stderr, "Bad VDO type=%u f=%s dev=%s\n", type, file, name);
+	if (pmDebugOptions.libpmda)
+	    fprintf(stderr, "Bad VDO type=%u f=%s dev=%s\n", type, file, name);
     } else {	/* derived metrics */
-	unsigned int	item = pmID_item(metric->m_desc.pmid);
-	double		calc;
+	__uint64_t v1, v2, v3;
+	double calc;
 
-	switch (item) {
+	switch (pmID_item(metric->m_desc.pmid)) {
 	case VDODEV_JOURNAL_BLOCKS_BATCHING:
-	    atom->ull = vdo_fetch_ull("journal_blocks_started", name) -
-			vdo_fetch_ull("journal_blocks_written", name);
-	    return 1;
+	    if ((sts = vdo_fetch_ull("journal_blocks_started", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("journal_blocks_written", name, &v2)) < 0)
+		return sts;
+	    atom->ull = v1 - v2;
+	    return sts;
 	case VDODEV_JOURNAL_BLOCKS_WRITING:
-	    atom->ull = vdo_fetch_ull("journal_blocks_written", name) -
-			vdo_fetch_ull("journal_blocks_committed", name);
-	    return 1;
+	    if ((sts = vdo_fetch_ull("journal_blocks_written", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("journal_blocks_committed", name, &v2)) < 0)
+		return sts;
+	    atom->ull = v1 - v2;
+	    return sts;
 	case VDODEV_JOURNAL_ENTRIES_BATCHING:
-	    atom->ull = vdo_fetch_ull("journal_entries_started", name) -
-			vdo_fetch_ull("journal_entries_written", name);
-	    return 1;
+	    if ((sts = vdo_fetch_ull("journal_entries_started", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("journal_entries_written", name, &v2)) < 0)
+		return sts;
+	    atom->ull = v1 - v2;
+	    return PMDA_FETCH_STATIC;
 	case VDODEV_JOURNAL_ENTRIES_WRITING:
-	    atom->ull = vdo_fetch_ull("journal_entries_written", name) -
-			vdo_fetch_ull("journal_entries_committed", name);
-	    return 1;
+	    if ((sts = vdo_fetch_ull("journal_entries_written", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("journal_entries_committed", name, &v2)) < 0)
+		return sts;
+	    atom->ull = v1 - v2;
+	    return sts;
 	case VDODEV_CAPACITY:
-	    atom->ull = vdo_fetch_ull("physical_blocks", name) *
-			vdo_fetch_ull("block_size", name) / 1024;
-	    return 1;
+	    if ((sts = vdo_fetch_ull("physical_blocks", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("block_size", name, &v2)) < 0)
+		return sts;
+	    atom->ull = v1 * v2 / 1024;
+	    return sts;
 	case VDODEV_USED:
-	    atom->ull = (vdo_fetch_ull("data_blocks_used", name) +
-			 vdo_fetch_ull("overhead_blocks_used", name)) *
-			 vdo_fetch_ull("block_size", name) / 1024;
-	    return 1;
+	    if ((sts = vdo_fetch_ull("data_blocks_used", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("overhead_blocks_used", name, &v2)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("block_size", name, &v3)) < 0)
+		return sts;
+	    atom->ull = (v1 + v2) * v3 / 1024;
+	    return sts;
 	case VDODEV_AVAILABLE:
-	    atom->ull = (vdo_fetch_ull("physical_blocks", name) -
-			 vdo_fetch_ull("data_blocks_used", name) -
-			 vdo_fetch_ull("overhead_blocks_used", name)) *
-			 vdo_fetch_ull("block_size", name) / 1024;
-	    return 1;
+	    if ((sts = vdo_fetch_ull("physical_blocks", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("data_blocks_used", name, &v2)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("overhead_blocks_used", name, &v3)) < 0)
+		return sts;
+	    v1 = v1 - v2 - v3;
+	    if ((sts = vdo_fetch_ull("block_size", name, &v2)) < 0)
+		return sts;
+	    atom->ull = v1 * v2 / 1024;
+	    return sts;
 	case VDODEV_USED_PERCENTAGE:
-	    atom->ull = vdo_fetch_ull("physical_blocks", name);
-	    calc = (double)(vdo_fetch_ull("data_blocks_used", name) +
-			    vdo_fetch_ull("overhead_blocks_used", name));
-	    atom->f = 100.0 * (calc / (double)atom->ull);
-	    return 1;
+	    if ((sts = vdo_fetch_ull("physical_blocks", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("data_blocks_used", name, &v2)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("overhead_blocks_used", name, &v3)) < 0)
+		return sts;
+	    calc = (double)(v2 + v3);
+	    atom->f = 100.0 * (calc / (double)v1);
+	    return sts;
 	case VDODEV_SAVINGS_PERCENTAGE:
-	    atom->ull = vdo_fetch_ull("logical_blocks_used", name);
-	    calc = (double)(atom->ull -
-			    vdo_fetch_ull("data_blocks_used", name));
-	    atom->f = 100.0 * (calc / (double)atom->ull);
-	    return 1;
+	    if ((sts = vdo_fetch_ull("logical_blocks_used", name, &v1)) < 0)
+		return sts;
+	    if ((sts = vdo_fetch_ull("data_blocks_used", name, &v2)) < 0)
+		return sts;
+	    calc = (double)(v1 - v2);
+	    atom->f = 100.0 * (calc / (double)v1);
+	    return sts;
 	default:
 	    break;
 	}
-	fprintf(stderr, "Bad metric item=%u dev=%s\n", item, name);
+	if (pmDebugOptions.libpmda)
+	    fprintf(stderr, "Bad metric item=%u dev=%s\n",
+			    pmID_item(metric->m_desc.pmid), name);
     }
-    return 0;
+    return PMDA_FETCH_NOVALUES;
 }
 
 /*
diff -Naurp pcp-4.3.0-orig/src/pmdas/dm/vdo.h pcp-4.3.0/src/pmdas/dm/vdo.h
--- pcp-4.3.0-orig/src/pmdas/dm/vdo.h	2018-03-05 18:14:58.000000000 +1100
+++ pcp-4.3.0/src/pmdas/dm/vdo.h	2019-05-14 10:52:30.179972568 +1000
@@ -1,7 +1,7 @@
 /*
  * Device Mapper PMDA - VDO (Virtual Data Optimizer) stats
  *
- * Copyright (c) 2018 Red Hat.
+ * Copyright (c) 2018-2019 Red Hat.
  * 
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -166,6 +166,19 @@ enum {
     VDODEV_AVAILABLE				= 151,
     VDODEV_USED_PERCENTAGE			= 152,
     VDODEV_SAVINGS_PERCENTAGE			= 153,
+    VDODEV_HASH_LOCK_CONCURRENT_DATA_MATCHES	= 154,
+    VDODEV_HASH_LOCK_CONCURRENT_HASH_COLLISIONS	= 155,
+    VDODEV_HASH_LOCK_DEDUPE_ADVICE_STALE	= 156,
+    VDODEV_HASH_LOCK_DEDUPE_ADVICE_VALID	= 157,
+    VDODEV_INDEX_CURR_DEDUPE_QUERIES		= 158,
+    VDODEV_INDEX_ENTRIES_INDEXED		= 159,
+    VDODEV_INDEX_MAX_DEDUPE_QUERIES		= 160,
+    VDODEV_INDEX_POSTS_FOUND			= 161,
+    VDODEV_INDEX_POSTS_NOT_FOUND		= 162,
+    VDODEV_INDEX_QUERIES_FOUND			= 163,
+    VDODEV_INDEX_QUERIES_NOT_FOUND		= 164,
+    VDODEV_INDEX_UPDATES_FOUND			= 165,
+    VDODEV_INDEX_UPDATES_NOT_FOUND		= 166,
 };
 
 extern int dm_vdodev_fetch(pmdaMetric *, const char *, pmAtomValue *);
