Почему петлевые устройства иногда отказываются уходить?

1276
Johannes Ernst

Я регулярно монтирую разделы в файле образа как устройства цикла:

sudo kpartx -a test.img 

Это создает петлевые устройства, такие как

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

Когда я закончу, я избавлюсь от них с

sudo kpartx -d test.img 

и обычно петлевые устройства уходят. Но иногда они этого не делают, и я не знаю почему. Если я тогда сделаю:

sudo losetup -d /dev/mapper/loop0p1 

Losetup кажется достаточно счастливым, за исключением того, что устройство остается. Как мне избавиться от них без перезагрузки?

0
Когда это происходит, вы уверены, что `test.img` по-прежнему полностью доступен и что ни одна программа не использовала его без прохождения через устройство обратной связи? user2284570 9 лет назад 0
Файл изображения все еще там. Но я не понимаю, что вы имеете в виду, когда «ни одна программа не использовала это». Есть ли правило, что это не может быть? Например, я мог бы установить grub в файл образа, в то время как разделы внутри все еще монтируются через петлевые устройства. Это нет-нет? Johannes Ernst 9 лет назад 0
Это будет означать, что содержимое файла отличается от того, что ядро ​​пытается обработать с помощью устройства цикла. user2284570 9 лет назад 0
Я бы понял потенциально неопределенные результаты. Но не то, чтобы мне мешали снять шлейф устройства. (И я не уверен, что это правильное объяснение; бывают случаи, когда я не трогал изображение) Johannes Ernst 9 лет назад 0
Нет, потому что это может превратить kthread, отвечающий за устройство цикла, в зависшую задачу. Пока pid существует, цикл не может быть удален. user2284570 9 лет назад 0

0 ответов на вопрос

Похожие вопросы