Linux btrfs como remover sistema de arquivos inexistente da lista?

Linux btrfs como remover sistema de arquivos inexistente da lista?

Estou tentando o btrfs. Cometi alguns erros, que são bons para aprender!

Criei vários sistemas de arquivos btrfs em diferentes dispositivos (sdX, loop, lvm, etc). Durante esses testes, removi (abruptamente) alguns ou todos os dispositivos que faziam parte de um sistema de arquivos btrfs (o fs foi desmontado primeiro).

Mas agora, o comando btrfs showainda mostra o UUID dos sistemas de arquivos e a lista de dispositivos. Entendo que deveria ter feito btfrs device delANTES de remover os dispositivos...

Mas onde o btrfs armazena sua lista de sistemas de arquivos manipulados? Existe um arquivo conf em algum lugar? Um comando especial em btrfs-tools?

Não recebi uma resposta abrangente lendo wiki e tutos ... Diz-se que podemos recuperar um sistema de arquivos morto e montá-lo, mount -o recovery /dev/yourBTFSvolume /mount/pointmas isso implica que ainda existem metadados/dados e dispositivos relacionados, o que não é o caso aqui.

Aqui não tento recuperar dados, só quero limpar o gerenciamento do Btrfs.

Responder1

Eu vasculhei o código para ver o que estava acontecendo. Quando o btrfs filesystem showcomando é usado para mostrar todos os sistemas de arquivos em todos os dispositivos, ele verifica todos os dispositivos e partições no formato /proc/partitions. Cada dispositivo e cada partição são examinados para ver se há um "número mágico" BTRFS e uma estrutura de dados raiz válida associada encontrada no deslocamento 0x10040 do início do dispositivo ou partição.

Em seguida, usei hexedit em um disco que estava aparecendo incorretamente em minha própria situação e com certeza havia um número mágico BTRFS (que é a string ASCII _BHRfS_M) de meus experimentos anteriores.

Eu simplesmente acertei aquele número mágico substituindo alguns caracteres da string por "**", também usando hexedit, e as entradas erradas desapareceram magicamente!

informação relacionada