btrfsで空き領域が開放されずにのディスク使用率が100%になる。

1週間ほど前、btrfsのデバイスが容量が空いているのにも関わらず使用率が100%のまま変わらない事があった。

いろいろやった気がするが、ほとんど思い出せないので覚えてる限りの解決法を載せておく。

注意点

btrfsは空き領域をプールするのでdfコマンドで見れる情報が正しいとは限らない。
ルートディレクトリの情報を見る場合は下記のコマンド。
filesystemは短縮してfでもいい

btrfs filesystem df -h /

解決策

btrfsのsubmoduleを削除したら領域が開放された。

「領域が開放されないときはsubmoduleを削除しろ」と言うサイトは幾つかあったが、submoduleなんて機能は使った覚えがなかったので無視していた。
しかし、自分で直接使った記憶はなくてもDockerが使っていた
Dockerが領域を開放しなかったわけではないだろうが、submoduleを全部消したら解決。
消えて困るコンテナはなかったので楽だった。

削除方法は覚えてないのでBtrfs - ArchWikiでも見てください。