Você pode usar -f para liberar, caso contrário, ele funciona em lotes e pode parar. Se for impresso o arquivo, estará pronto, sujeito ao armazenamento em cache / bloqueio (esperamos que não haja nenhum erro no sistema de arquivos).
-f libera os dados para cada arquivo antes de ir para o próximo arquivo.
-r desfragmenta arquivos recursivamente em determinados diretórios.
Nota: Os argumentos do diretório sem -r não desfragmentam os arquivos recursivamente, mas desfragmentarão certas árvores internas (árvore de extensão e subvolume). Isso tem sido confuso e pode ser removido no futuro.
-v seja detalhado.
$ sistema de arquivos btrfs defrag -v -r dir /
Desfragmentar de forma recursiva os arquivos em dir /, imprimir arquivos conforme eles são processados. Os nomes dos arquivos serão impressos em lotes, da mesma forma que a quantidade de dados acionados pela desfragmentação será proporcional aos últimos N arquivos impressos. O afogamento de memória suja do sistema irá desacelerar a desfragmentação, mas ainda pode haver muita carga de IO e o sistema pode parar por um momento.
$ sistema de arquivos btrfs defrag -v -r -f dir /
Desfragmentar recursivamente os arquivos em dir /, ser detalhado e aguardar até que todos os blocos sejam liberados antes de processar o próximo arquivo. Você pode notar um progresso mais lento da saída e menor carga IO (proporcional ao arquivo atualmente desfragmentado).