子设备上的cgroup节stream阀不起作用

我们在CentOS 7 (3.10.0-514.10.2.el7.x86_64)上运行带有devicemapper的Docker容器。
对于一些容器,通过指定父块设备,我们可以轻松地通过blkio.throttle.read_bps_device来限制读取,但是对于某些容器,它只是不起作用。

这是我们的lsblk

 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 32G 0 disk └─sda1 8:1 0 32G 0 part / sdb 8:16 0 100G 0 disk ├─data-docker_thin_tmeta 253:0 0 512M 0 lvm │ └─data-docker_thin 253:2 0 90G 0 lvm │ └─docker-8:1-151197496-c619...6ed 253:4 0 10G 0 dm ├─data-docker_thin_tdata 253:1 0 90G 0 lvm │ └─data-docker_thin 253:2 0 90G 0 lvm │ └─docker-8:1-151197496-c619...6ed 253:4 0 10G 0 dm └─data-data 253:3 0 9G 0 lvm /data 

当我们在cgroup中指定以下内容时,它会正确地限制某些容器的读取操作:
echo "8:16 1000000" > blkio.throttle.read_bps_device

但对于其他容器,我们需要指定确切的设备,如:
echo "253:4 1000000" > blkio.throttle.read_bps_device

任何想法可能是为什么在8:16父母设备限制有时不工作的原因?