Давно замечаю, что btrfs сжимает не все данные.
Для теста устанавливаем минимальную систему ubuntu xenial на раздел.
Чистая btrfs:
![c4edde962f6b4db8a3590e68fc13efff.png](https://habrastorage.org/files/c4e/dde/962/c4edde962f6b4db8a3590e68fc13efff.png)
А теперь btrfs с сжатием zlib (btrfs property set /mnt compression zlib):
![289b720f178146109ca0f657020d8152.png](https://habrastorage.org/files/289/b72/0f1/289b720f178146109ca0f657020d8152.png)
А теперь выполним дефрагментацию (btrfs fil defrag -rvczlib /mnt) и результат просто шокирующий:
![20e7fbc9a2d64b0dbfb7ce4fb93b9e19.png](https://habrastorage.org/files/20e/7fb/c9a/20e7fbc9a2d64b0dbfb7ce4fb93b9e19.png)
По идее, сжатие работает, исходя из сравнения 1 и 2 скрина, но в то же время система как-будто пропускает сжатие некоторых файлов, потому что разница между 2 и 3 колосальна, с опцией compress-force=zlib примерна такая же лажа. И, да, занятое место df должен показывать нормально, это свободное место нельзя нормально узнать.