Description of problem:
The DK_MAX_MAJOR definition is too low in kernel_stat.h, and does not
encompass all the block devices in documentation/devices.txt
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.boot a system using a block device with a major number greater than
the kernels DK_MAJOR_MAX value (cciss is a good example)
2. preform io to the device through a filesystem
3. examine /proc/stat, or the output of sar or iostat on the device
no activity is recorded
proper disk usage statistics are kept
DK_MAX_MAJOR should be raised to match the greatest block major value
Created attachment 95915 [details]
patch to raise the DK_MAX_MAJOR value
This is really kind of a silly solution, as its pretty wasetful on memory, but
it should work. Perhaps what is really needed is a patch so that the dk_disk*
arrays in kstat_percpu can grow when block device modules with major numbers
greater than DK_MAX_MAJOR can grow the size of the array dynamically
the highest allocated block major is 114 (ataraid) not 201.....
Documentation/devices.txt lists block major 201 (the Veritas VxVM
dynamic multipathing driver) as the highest allocated block number
The stats in /proc/partitions should be available for devices with any
major number, regardless of what is in /proc/stats. User-space should
be looking there for its information.
Looking at the two files, I don't see a direct way to convert between
the stats which /proc/partitions gathers and those which /proc/stats
gathers. I'll happily start patching sar, iostat, etc to start using
proc/partitions if I can figure out a conversion map between the two
*** Bug 111294 has been marked as a duplicate of this bug. ***
Created attachment 98301 [details]
patch to allow sadc/sar and iostat to read info from /proc/partitions rather than /proc/stat
This is an alternative patch to patch 95915. This patch, instead of raising
the DK_MAX_MAJOR value in the kernel, alters iostat and sadc to collect disk io
data from /proc/partitions rather than a combination of /proc/partitions and
*** Bug 110092 has been marked as a duplicate of this bug. ***
Created attachment 100766 [details]
fix to my previous systat patch
local array I was using for line input wasn't long enough for some lines in
/proc/partitions. This modified patch fixes that and cleans a few other things
Created attachment 100790 [details]
removing extra debug code from my last patch
sorry, had some extraneous debug code in my last patch
Seems we all agree its not a kernel problem. So.....
- changing owner to bernds
- changing category from kernel to OS
Someone says this should be owned by ccb, so reassigning.
Created attachment 100993 [details]
Final version of Neil's patch (Adds back iostat prtion of the fix)...
Bouncing this back to assigned, as appears that Jay has discovered an
he's right, that should be wio, not rsect. I'll regenerate the patch.
*** This bug has been marked as a duplicate of 123136 ***
An errata has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.