Julien Muchembled
2014-Nov-11 20:10 UTC
kernel >= 3.16 saturates I/O endlessly and without reason
Hello, I upgraded my kernel from 3.15.10 to 3.17.2 and after a while, btrfs kworkers started to read/write data at maximum speed for hours whereas I was doing nothing. So I rebooted with kernel 3.15.10 and hopefully everything went back to normal. Later attempts to upgrade to 3.16.7 or 3.17.2 showed the same issue, immediately at boot or after a while. In order to investigate a little, I copied the partition and mounted it in qemu (snapshot mode, with cow file in tmpfs, debian kernel 3.16.7-2). I could see that btrfs always wrote the same ~8MB in loop. qemu used all cpu and when I stopped it, it wrote 190G and the generation number raised from 625955 to 853922. I dumped the FS with btrfs-image. The restored FS has the same issue so I can send the image (78M) to anyone who would like to debug. $ btrfs fi df / Data, single: total=13.62GiB, used=12.60GiB System, single: total=4.00MiB, used=16.00KiB Metadata, single: total=1.00GiB, used=747.48MiB GlobalReserve, single: total=256.00MiB, used=0.00B $ btrfs fi show --mounted Label: none uuid: f5a13768-b968-49c7-8a09-fdad88b83ea8 Total devices 1 FS bytes used 13.33GiB devid 1 size 14.62GiB used 14.62GiB path /dev/sdb2 $ btrfs sub list -a / ID 257 gen 626025 top level 5 path <FS_TREE>/@ ID 269 gen 28 top level 257 path @/usr/src/linux-sysrcd ID 278 gen 599690 top level 257 path @/usr/src/linux-3.15-1 ID 279 gen 13003 top level 257 path @/usr/src/python3.3 ID 281 gen 13036 top level 257 path @/usr/src/python3.4 ID 282 gen 614068 top level 257 path @/usr/src/linux-3.16-1 ID 283 gen 599642 top level 257 path @/usr/src/linux-3.17-1