Por que o kpartx usa um novo dispositivo de loop a cada vez?

2

Estou executando kpartx dentro de um script python como parte de uma construção de SO personalizada que estou tentando fazer. Estou usando o python sh module para executar comandos bash.

sh.kpartx("-as", image) é como eu anexo minha imagem.

Em seguida, crio partições e um sistema de arquivos em cada partição. Então, é claro, desmonto a imagem.

sh.kpartx("-d", image)

O problema é que no meu script eu uso os comandos attach e desanexar acima algumas vezes e a cada vez que um novo /dev/loopX é usado. Eu esperaria que, depois que eu removesse uma imagem de digamos /dev/loop0 no próximo anexo, eu pudesse usá-la novamente. Este não é o caso, no entanto, e /dev/loop1 é usado.

O que está acontecendo e por quê?

    
por Shady Programmer 02.11.2017 / 01:30

1 resposta

0

Suspeito que kpartx não armazena nenhum estado, por isso não se lembra se você originalmente chamou /dev/loop0 ou se precisou configurar o dispositivo de loop.

Indo dos exemplos na sua man page, losetup é bastante programável, por isso não deve ser muito trabalho extra para lidar com essa parte você mesmo.

    
por 15.03.2018 / 23:06