mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-12-27 20:44:56 +00:00
Fix diskio total computation for kernel > 2.6.31 (sf: #2942117)
(cherry picked from commit 44e3708cdb
)
This commit is contained in:
parent
8cb56def23
commit
3db07e589f
12
src/linux.c
12
src/linux.c
@ -2256,6 +2256,7 @@ void update_diskio(void)
|
||||
struct diskio_stat *cur;
|
||||
unsigned int reads, writes;
|
||||
unsigned int total_reads = 0, total_writes = 0;
|
||||
size_t len_devbuf;
|
||||
|
||||
stats.current = 0;
|
||||
stats.current_read = 0;
|
||||
@ -2276,8 +2277,15 @@ void update_diskio(void)
|
||||
* XXX: ignore devices which are part of a SW RAID (MD_MAJOR) */
|
||||
if (col_count == 5 && major != LVM_BLK_MAJOR && major != NBD_MAJOR
|
||||
&& major != RAMDISK_MAJOR && major != LOOP_MAJOR) {
|
||||
total_reads += reads;
|
||||
total_writes += writes;
|
||||
/* If the last character of the device is a digit we assume
|
||||
* it is a subdevice (needed for kernel > 2.6.31) */
|
||||
if (devbuf) {
|
||||
len_devbuf = strlen(devbuf);
|
||||
if ((len_devbuf > 0) && !isdigit(devbuf[len_devbuf-1])) {
|
||||
total_reads += reads;
|
||||
total_writes += writes;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
col_count = sscanf(buf, "%u %u %s %*u %u %*u %u",
|
||||
&major, &minor, devbuf, &reads, &writes);
|
||||
|
Loading…
Reference in New Issue
Block a user