Warum weigern sich Loop-Geräte manchmal, wegzugehen?

1341
Johannes Ernst

Ich mounte regelmäßig die Partitionen in einer Image-Datei als Loop-Geräte:

sudo kpartx -a test.img 

Das schafft Schleifengeräte wie

/dev/mapper/loop0p1 /dev/mapper/loop0p2 

Wenn ich fertig bin, werde ich sie mit los

sudo kpartx -d test.img 

und normalerweise gehen die Schleifenvorrichtungen weg. Aber manchmal tun sie das nicht und ich weiß nicht warum. Wenn ich dann ein:

sudo losetup -d /dev/mapper/loop0p1 

losetup scheint glücklich genug zu sein, außer dass das Gerät bleibt. Wie entferne ich sie ohne Neustart?

0
Sind Sie sicher, dass "test.img" immer noch voll zugänglich ist und kein Programm es verwendet hat, ohne das Loopback-Gerät zu übergeben? user2284570 vor 9 Jahren 0
Die Bilddatei ist noch da. Aber ich verstehe nicht, was Sie mit "kein Programm hatten es" bezeichnet. Gibt es eine Regel, die es nicht sein kann? Zum Beispiel könnte ich grub in die Image-Datei installieren, während die Partitionen darin noch über Schleifengeräte eingehängt sind. Ist das ein Nein? Johannes Ernst vor 9 Jahren 0
Dies würde bedeuten, dass sich der Inhalt der Datei von dem unterscheidet, was der Kernel versucht, durch das Loop-Device zu handhaben. user2284570 vor 9 Jahren 0
Ich würde potenziell undefinierte Ergebnisse verstehen. Aber nicht, dass ich das Schleifengerät nicht entfernen kann. (Und ich bin nicht sicher, dass dies die richtige Erklärung ist; es gibt Fälle, in denen ich das Bild nicht berührt habe.) Johannes Ernst vor 9 Jahren 0
Nein, weil dies wahrscheinlich dazu führt, dass der für das Loop-Gerät verantwortliche kthread zu einem Problem wird. Solange die PID existiert, kann die Schleife nicht gelöscht werden. user2284570 vor 9 Jahren 0

0 Antworten auf die Frage