Eu finalmente descobri o que era. Depois de cancelar o redimensionamento original (apenas um simples ctrl + C), eu corri e2fsck -f -y /dev/sdb3
para corrigir qualquer problema que eu fizesse. Consegui montar a partição ainda abaixo do tamanho original, por isso não foram perdidos dados. Em seguida, executei resize2fs com o sinalizador de depuração ( resize2fs -d 14 <xxx>
) e observei que ele estava preso em um loop constante tentando realocar um pedaço de inodes.
Eu finalmente consegui que funcionasse usando uma versão mais antiga do e2fsprogs. Coloquei o Ubuntu 9.10 (Karmic Koala) em um pen drive, inicializei nele, instalei os drivers rr232x de código aberto para poder manipular o array e executei a versão mais antiga do e2fsprogs (resize2fs 1.41.9 (22-Ago-2009) , para ser exato).
Eu tinha tentado originalmente o resize2fs -p /dev/sdb3 863000000
e ele me disse que precisava de ~ 26 milhões de blocos. Então peguei o tamanho do alvo, adicionei isso a ele e fiz resize2fs -p /dev/sdb3 1000000000
. 10 minutos depois, sou recebido com a mensagem:
/dev/sdb3 is now at 1000000000 blocks
Agora eu acho que a última pergunta é por que a nova versão do e2fsprogs não poderia / não me dizer que eu estava pedindo um tamanho muito pequeno (e por que ele ofereceu um tamanho tão pequeno em primeiro lugar)?