* Fix how major and minor identifiers of block devices are read.
The current implementation assure that the major and the minor are
coded on one byte. But they are not:
```
brw-rw---- 1 root disk 252, 290 Feb 25 11:36 dm-290
```
290 as minor in this example is over 1 byte.
So after wondering why all my devices iops weren't correctly stored,
I found out that several points were added for some disks. For `dm-290`
it was overriding `252:34`, instead of getting udev stats for `252:290`.
The solution is here:
https://sites.uclouvain.be/SystInfo/usr/include/sys/sysmacros.h.html
The implementation is directly taken from this, fixing my bug.
* Use unix.Major/unix.Minor instead of custom implementation
* [diskio] Force type of stat.Rdev uint64 for mipsle compatibility
For most platforms, stat.Rdev is already a uint64 so this is without any effect
for linux,mipsle, unix.Stat_t.Rdev is a uint32, but the way to compute major and minor doesn't change, casting the uint32 has no impact either
For most platforms, stat.Rdev is already a uint64 so this is without any effect
for linux,mipsle, unix.Stat_t.Rdev is a uint32, but the way to compute major and minor doesn't change, casting the uint32 has no impact either
The current implementation assure that the major and the minor are
coded on one byte. But they are not:
```
brw-rw---- 1 root disk 252, 290 Feb 25 11:36 dm-290
```
290 as minor in this example is over 1 byte.
So after wondering why all my devices iops weren't correctly stored,
I found out that several points were added for some disks. For `dm-290`
it was overriding `252:34`, instead of getting udev stats for `252:290`.
The solution is here:
https://sites.uclouvain.be/SystInfo/usr/include/sys/sysmacros.h.html
The implementation is directly taken from this, fixing my bug.