Exclude Docker devicemapper mounts from the list of filesystem partitions (e.g.
/var/lib/docker/devicemapper/mnt/*) because these are handled by the ThinPoolWatcher for
per-container filesystem information.
- If the Docker storage driver is devicemapper, and the devicemapper device is *not* loopback, fix
an issue where the device associated with the / mount point was being assigned LabelDockerImages,
instead of the devicemapper device
- If the devicemapper device is a loopback device, don't assign it LabelDockerImages; instead,
report the underlying partition's information
The current capacity and usage numbers are insufficient to figure out
actual bytes available for a non-root user for the fs. Available is the
value used by df and the one we need to track to detect low diskspace
condition.
/storage returns {device, mountpoint, capacity, usage} for all filesystems.
In addition, it also detect and applies label for each filesystem - currently two - "root", "docker-images".
/storage/<label> returns info about the filesystem with specific label. eg. /storage/root returns info for root filesystem.
This should make us more robust in the face of failure (at the cost of
making the failures less prominent). We allow GetStats() to return an
error and a partial result. We will process the result and report the
error.
Fixes#306.
Read disk io information from /proc/diskstats.
This will allow the user who provides partition container hints to get partition-specific io (blkio provides io for the container, but at the disk device level).
This computes the space usage for mounted partitions. It takes in a list of mounted partitions from containerHints
and computes the device's disk usage(so each mount must be a separate partition). This is useful for users who
mount partitions on containers and store most of the container's persistent data on those partitions.