Eu uso o alvo de snapshots de dmsetup para testar as alterações em imagens de disco antes de confirmá-las (o principal caso de uso é ao recuperar dados - reparar o sistema de arquivos de imagem sem arriscar dados).
A imagem é apenas de leitura de loop, (e também faço um loop de um arquivo de apoio para o arquivo de apoio de snapshot) e crie um snapshot da seguinte forma:
$ echo 0 <size> snapshot <image-loop-device> <backing-loop-device> P 1 | \
dmsetup create <name>
Funciona bem: alterações em <name> são salvas em <backing-loop-device> e <image-loop-device> não é alterado.
No entanto, se o <image-loop-device> estiver montado, então dmsetup falhará, com um erro Device or resource busy . Por que o dmestup deve precisar de um bloqueio exclusivo no dispositivo image e existe uma maneira de contorná-lo (além de usar um dispositivo de loop separado para o suporte)?
Tags mount lvm loop-device linux