Package: libsys-statistics-linux-perl
Version: 0.66-3

Summary:
The new linux kernel provides two additional columns in /proc/diskstats and 
thus the perl module DiskStats.pm has to be updated to parse/match the two 
additional columns.

Details:
Perl comes with the utility module 
/usr/share/perl5/Sys/Statistics/Linux/DiskStats.pm
In line 246 the module reads the file /proc/diskstats and tries to parse it 
with different regular expressions.

The first try is done with:
if ($line =~ 
/^\s+(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+\d+\s+(\d+)\s+\d+\s+(\d+)\s+\d+\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+(?:(?:\s+\d+){4})?$/)
 {

The new format of /proc/diskstats contains two additional columns and thus 
fails to parse the information.
With Debian bullseye the diskstats line looks e.g. like the following example:
11       0      sr0     15      0      0      1      0      0      0      0     
0    20     1   0   0   0   0   0   0

Thus the regex fails to match. The added columns are documented at: 
https://www.kernel.org/doc/Documentation/ABI/testing/procfs-diskstats
If the additional params are not relevant, the regex can be changed to e.g.
if ($line =~ 
/^\s+(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+\d+\s+(\d+)\s+\d+\s+(\d+)\s+\d+\s+(\d+)\s+\d+\s+\d+\s+\d+\s+\d+(?:(?:\s+\d+){4,6})?$/)
 {

Would be nice if someone of the maintainers can take a closer look at that 
issue.
Thanks, Thomas

Reply via email to