buildstats.py: extend diskstats support for NVMe and flexible token count

Added support for NVMe devices in the diskstats regex pattern to ensure stats are properly collected from devices like nvme0n1.

Relaxed the check for the number of fields in /proc/diskstats from an exact match (14) to a minimum check (at least 14), to handle kernel variations and additional fields gracefully.

(From OE-Core rev: 87a31bc4ca3661aae94cf43f3f579b02f4fb4923)

Signed-off-by: denisova-ok <denisova.olga.k@yandex.ru>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
denisova-ok authored and Richard Purdie committed 2025-04-24 11:27:06 +01:00
1 parent 8dcd0f73eb
commit 5b74c76964
1 file changed
+2 -2
+2 -2
View File
@@ -66,7 +66,7 @@ class SystemStats:
self.min_seconds = 1.0 - self.tolerance
self.meminfo_regex = re.compile(rb'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)')
self.diskstats_regex = re.compile(rb'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$')
self.diskstats_regex = re.compile(rb'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+|nvme\d+n\d+.*)$')
self.diskstats_ltime = None
self.diskstats_data = None
self.stat_ltimes = None
@@ -94,7 +94,7 @@ class SystemStats:
(b'MemTotal', b'MemFree', b'Buffers', b'Cached', b'SwapTotal', b'SwapFree')]) + b'\n')
def _diskstats_is_relevant_line(self, linetokens):
if len(linetokens) != 14:
if len(linetokens) < 14:
return False
disk = linetokens[2]
return self.diskstats_regex.match(disk)