Summary: | Не размонтируется кольцевое устройство | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Lipatov <lav> |
Component: | mount | Assignee: | Dmitry V. Levin <ldv> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | boris, boyarsh, eostapets, evg, glebfm, inger, ldv, legion, mike, mrkooll, placeholder, sr |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Vitaly Lipatov
2005-02-27 20:40:41 MSK
Насколько я понимаю, это не ошибка а особенность: в /proc/mounts недостаточно информации для того, чтобы размонтировать такие устройства. Об этом я не подумал. Сравним после монтирования: /etc/mtab: junior23.iso /mnt/disk iso9660 rw,loop=/dev/loop0 0 0 /proc/mounts: /dev/loop0 /mnt/disk iso9660 ro 0 0 (здесь флаги пишутся те, которые фактически переданы ядру, верно?) Получается, mount при монтировании loop должен указывать дополнительный параметр, позволяющий засечь что надо размонтировать. Или изменить поведение: при размонтировании _всегда отключать_ размонтируемое loop-устройство, а не только созданное при монтировании через mount. Думаю что ничего не надо делать. Есть у mount/umount возможность работать без привлечения /etc/mtab. Ей и надо пользоваться вместо наведения симлинков. Поставим вопрос так: как отключить в системе использование перезаписываемого /etc/mtab так, чтобы при этом не сломалось отмонтирование loop-устройств? наверное надо системные скрипты править соотв. образом. расшифрую ещё чуть подробнее: --- eostapets@ Кто что думает о том, чтобы сделать /etc/mtab симлинком на /proc/mounts? Это будет неплохим первым шагом к ro / ... --- Женя, можешь почесать скрипты, поскольку Стасу сейчас не до r/o, потому что альтератор. back to me :) mount с тех пор переписали, /etc/mtab штатно стал симлинком: $ rpm -qlv mount | grep mtab | cut -c63- /etc/mtab -> /proc/mounts и эта бага у меня не воспроизводится: # mount -o loop mkimage-profiles.iso /mnt # losetup -a /dev/loop0: [2058]:4591216 (/home/mike/out/rescue-20130628-x86_64.iso) # grep iso /proc/mounts /dev/loop0 /mnt iso9660 ro,relatime 0 0 # umount /mnt # losetup -a # _ |