Если устройство смонтированно дважды (например, при монтировании через subfs: /dev/sdc1 /media/usbdisk-vfat subfs rw 0 0 /dev/sdc1 /media/usbdisk-vfat vfat rw,fmask=0022,dmask=0022,codepage=cp866,iocharset=koi8-r 0 0 ) hal не в состоянии размонтировать его. Steps to Reproduce: 1. Монтируем устройство через subfs: # dbus-send --system --print-reply --dest=org.freedesktop.Hal "/org/freedesktop/Hal/devices/volume_uuid_4787_A18D" org.freedesktop.Hal.Device.Volume.Mount string:usbdisk-vfat string:subfs array:string: 2. Смотрим, оно смонтированно один раз: # grep sdc1 /proc/mounts /dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0 3. Делаем обращение к смонтированному ресурсу, смотрим, сколько раз смонтированно и пытаемся отмонтировать его: # ls usbdisk-vfat/blablabla; grep sdc1 /proc/mounts; dbus-send --system --print-reply --dest=org.freedesktop.Hal "/org/freedesktop/Hal/devices/volume_uuid_4787_A18D" org.freedesktop.Hal.Device.Volume.Unmount array:string: ls: usbdisk-vfat/blablabla: No such file or directory /dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0 /dev/sdc1 /media/usbdisk-vfat vfat rw,nosuid,nodev,fmask=0022,dmask=0022,codepage=cp866,iocharset=koi8-r 0 0 Error org.freedesktop.Hal.Device.Volume.UnknownFailure: Cannot remove directory 4. hal считает, что устройство размонтировано, но это не так: # grep sdc1 /proc/mounts; dbus-send --system --print-reply --dest=org.freedesktop.Hal "/org/freedesktop/Hal/devices/volume_uuid_4787_A18D" org.freedesktop.Hal.Device.Volume.Unmount array:string: /dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0 Error org.freedesktop.Hal.Device.Volume.UnknownFailure: umount: /dev/sdc1: not mounted # cat .hal-mtab /dev/sdc1 0 0 subfs nosuid,nodev /media/usbdisk-vfat 5. umount от рута размонтирует устройство без проблем: # umount usbdisk-vfat/ # cat .hal-mtab # Expected Results: Попытка размонтирования без обращения к устройству, когда оно смонтировано только один раз, проходит нормально. Так должно быть и для двойного монтирования: # dbus-send --system --print-reply --dest=org.freedesktop.Hal "/org/freedesktop/Hal/devices/volume_uuid_4787_A18D" org.freedesktop.Hal.Device.Volume.Mount string:usbdisk-vfat string:subfs array:string: method return sender=:1.187 -> dest=:1.386 int32 0 # grep sdc1 /proc/mounts; dbus-send --system --print-reply --dest=org.freedesktop.Hal "/org/freedesktop/Hal/devices/volume_uuid_4787_A18D" org.freedesktop.Hal.Device.Volume.Unmount array:string: /dev/sdc1 /media/usbdisk-vfat subfs rw,nosuid,nodev 0 0 method return sender=:1.187 -> dest=:1.388 int32 0 # cat .hal-mtab #
даже коментировать не буду
(In reply to comment #1) > даже коментировать не буду Зря. Например, KDE будет обламываться "безопасно извлечь" такое устройство. Или это не проблема HAL'а?
1. это все проблемы костыля под названием "subfs" 2. subfs должна быть смонтирована один раз (например при загрузке системы), размонтировать subfs не нужно
(In reply to comment #3) > 2. subfs должна быть смонтирована один раз (например при загрузке системы), > размонтировать subfs не нужно Это не так в случае сменных носителей типа флешек.
(In reply to comment #4) > Это не так в случае сменных носителей типа флешек. это ваше личное заблуждение. ничем помочь не могу
хотя нет. я добавлю в hal Conflicts: /sbin/submountd тем самым раз и навсегда прекращу ваши издевательства над этим разложившемся трупом
(In reply to comment #6) > хотя нет. я добавлю в hal > Conflicts: /sbin/submountd > тем самым раз и навсегда прекращу ваши издевательства над этим разложившемся > трупом Валерий, прошу вас, не портите по пустякам жизнь мне и другим пользователям submount. Если я в чем-то ошибся, публикую этот баг - прошу меня простить и забыть, больше не буду. Функциональность возможности извлечения из компьютера сменных носителей (дискет, флешек, USB-HDD, фотоаппаратов, плееров, компакт-дисков) без всякого предварительного явного размонтирования (в консоли ли, мышью ли) необходима (в частности, на тощих клиентах). Если вы подскажете иное решение для этой функциональности, кроме submount - буду признателен.
* Sun Apr 20 2008 Valery Inozemtsev <shrek@altlinux> 0.5.11-alt3 - added conflicts: submount, rest in peace (close #15340) Эта, а можно без гильотины при лечении головной боли?! За такое канделябром вообще-то положено :-/
P.S. (In reply to comment #6) > хотя нет. я добавлю в hal > Conflicts: /sbin/submountd > тем самым раз и навсегда прекращу ваши издевательства над этим разложившемся > трупом В смысле hal? Так это недорожанное поделие кучки гопников около fd.o надо выкидывать тогда на уровне дистрибутива.
(In reply to comment #9) > P.S. > > (In reply to comment #6) > > хотя нет. я добавлю в hal > > Conflicts: /sbin/submountd > > тем самым раз и навсегда прекращу ваши издевательства над этим разложившемся > > трупом > > В смысле hal? Так это недорожанное поделие кучки гопников около fd.o надо > выкидывать тогда на уровне дистрибутива. в смысле submount
(In reply to comment #8) > * Sun Apr 20 2008 Valery Inozemtsev <shrek@altlinux> 0.5.11-alt3 > - added conflicts: submount, rest in peace (close #15340) > > Эта, а можно без гильотины при лечении головной боли?! головную боль вы сами себе создаете. submount сам себе mount и не надо скрещивать его с hal. в противном случае это конфликт mount'ов. т.ч. выбирайте - пинать дальше разложившийся труп submount, либо пользоваться нормальным монтированием/размонтироваение > > За такое канделябром вообще-то положено :-/ канделябром положено за извлечение не размонтированного девайса
Я понимаю, что "любовь зла - полюбишь и коз^Whal". Только, пожалуйста, не надо навязывать свою любовь к "козлу" другим ТАКИМ способом.
удалите "козла", если он вам так мешает
(In reply to comment #11) > головную боль вы сами себе создаете. submount сам себе mount и не надо > скрещивать его с hal. в противном случае это конфликт mount'ов. Ну так бы и сказал -- "не буду фиксить конфликт mount'ов", зачем ради мелочи его _прописывать_? Я дома использую wmaker, родители -- kde. Только собрался перебраться наконец со статических subfs'ов на hal+subfs -- привет, приехали :-( Оторви pls конфликт.
(In reply to comment #14) > (In reply to comment #11) > > головную боль вы сами себе создаете. submount сам себе mount и не надо > > скрещивать его с hal. в противном случае это конфликт mount'ов. > Ну так бы и сказал -- "не буду фиксить конфликт mount'ов", зачем ради мелочи его > _прописывать_? конфликт то есть, что я и обозначил > > Я дома использую wmaker, родители -- kde. Только собрался перебраться наконец > со статических subfs'ов на hal+subfs -- привет, приехали :-( а без subfs не судьба? > > Оторви pls конфликт.
(In reply to comment #15) Можно "поиграть в салочки" - завтра в Sisyphus уйдёт submount2
2ldv: FYI, см. #8
Объясните мне зачем нужна > Функциональность возможности извлечения из компьютера сменных носителей (дискет, > флешек, USB-HDD, фотоаппаратов, плееров, компакт-дисков) без всякого > предварительного явного размонтирования (в консоли ли, мышью ли) необходима (в > частности, на тощих клиентах) и зачем потом будет нужен этот носитель с несохраненными данными?
(In reply to comment #15) > > Ну так бы и сказал -- "не буду фиксить конфликт mount'ов", зачем ради > > мелочи его _прописывать_? > конфликт то есть, что я и обозначил Пока я вижу больший конфликт мнений, чем пакетов. Это не та ситуация, когда стоит принимать такие резкие решения -- на таком "консенсусе" далеко не уедешь. > > Я дома использую wmaker, родители -- kde. Только собрался перебраться > > наконец со статических subfs'ов на hal+subfs -- привет, приехали :-( > а без subfs не судьба? Предложи что-нить столь же юзабельное из консоли? wmvolman даже бета-тестил -- не оно, мышом тыкать надо. (In reply to comment #18) > и зачем потом будет нужен этот носитель с несохраненными данными? JFYI: subfs пытается отмонтировать носитель каждые несколько секунд. А флэшку под записью выдрать можно вне зависимости от того, hal там или ещё какое тамагочи, увы. (In reply to comment #16) > Можно "поиграть в салочки" - завтра в Sisyphus уйдёт submount2 Лучше уж тогда submount26? :) (кроме шуток -- в Daedalus улучшенная версия)
(In reply to comment #19) > Предложи что-нить столь же юзабельное из консоли? mount wmvolman даже бета-тестил -- > не оно, мышом тыкать надо. нам провославным евреям свинину есть коран не позволяет? > (In reply to comment #16) > > Можно "поиграть в салочки" - завтра в Sisyphus уйдёт submount2 > Лучше уж тогда submount26? :) если вы мне внятно объясните как это выглядит глазами тупого пользователя и зачем это нужно, то возможно решение появится
(In reply to comment #20) > > Предложи что-нить столь же юзабельное из консоли? > mount Вместо сразу ls/cd? Ай спасибо тебе, дружище. Я-то думал, на дворе 2008, а не 1998. От mount руками я как-то к 1999, что ли, отвык уже. > > wmvolman даже бета-тестил -- не оно, мышом тыкать надо. > нам провославным евреям свинину есть коран не позволяет? У меня руки отвалятся столько мышом тыкать. И так с экземой кожа как вспотеет, так вилы начинаются... > если вы мне внятно объясните как это выглядит глазами тупого пользователя > и зачем это нужно, то возможно решение появится Ещё (как упоминал) не добрался посмотреть на hal-mount-subfs имени mak@, но его многие за этот пакет уже благодарили. Мне бы хотелось иметь возможность, воткнув сидюшку в читалку или флэшку в кардридер, сделать ls /media/cdrom или там /media/sd_mmc и понять, что там есть. С сидюшкой особых проблем нет, а вот переименовывать записи для usbflash и кардридера по мере добавления дисков уже подзаколебало, собирался сам копать в сторону hal+subfs. Чтоб первое справлялось с приходованием блокдевайсов, а второе -- с их прозрачным в первую очередь для консольных программ монтированием. Ко взаимодействию с KDE некритичен пока никак :)
> Мне бы хотелось иметь возможность, воткнув сидюшку в читалку или флэшку в > кардридер, сделать ls /media/cdrom или там /media/sd_mmc и понять, что там есть. пока (я бы даже сказал совсем) не понятно каким боком здесь hal. строку для fstab нарисовать?
(In reply to comment #19) > Предложи что-нить столь же юзабельное из консоли? wmvolman даже бета-тестил -- > не оно, мышом тыкать надо. ivman. Или скрипт в аттаче.
Created attachment 2584 [details] hls.sh
(In reply to comment #22) > пока (я бы даже сказал совсем) не понятно каким боком здесь hal. строку для > fstab нарисовать? Угу -- для того, у кого блокдевайс может ездить. (In reply to comment #23) > > не оно, мышом тыкать надо. > ivman. Или скрипт в аттаче. (жалобно) Лёш, мне б работать с ними, а не микроменеджментом носителей заниматься :-) Вот это стоило бороть autofs, потом быстро привыкать к supermount/subfs, чтоб на старости лет опять руками? :-) Это ж как с zsh на bash возвращаться. И стукаться об его деревянность на каждом шагу.
Мишь, кончай флудить и почитай о чем бага. касательно баги. решение есть, hal может красиво монтировать/размонтировать subfs, но озвучу я его только после того как получу внятное объяснение зачем монтировать vfat таким извращенным способом
(In reply to comment #26) > решение есть, hal может красиво монтировать/размонтировать subfs hal давным-давно всё отлично умеет делать, и даже без subfs. Все это знаю, только не знают как его попросить это делать. Гуру отверждают, что это могут делать только избранные, знающие "наизусть" XML, телепатию и другие колдоские науки:)
(In reply to comment #27) > hal давным-давно всё отлично умеет делать, и даже без subfs. Все это знаю, > только не знают как его попросить это делать. Гуру отверждают, что это могут > делать только избранные, знающие "наизусть" XML, телепатию и другие колдоские > науки:) колдовские науки знать не обязательно, как и xml и пр. в hal-0.5.11-alt4 конфликт на submount убран, более того, для subfs появилась возможность указать uid для того что бы hal не монтировал девайс дважды, нужно заменить volume.fstype для девайса на subfs
(In reply to comment #28) > в hal-0.5.11-alt4 конфликт на submount убран, более того, > для subfs появилась Спасибо! > * Tue Apr 22 2008 Valery Inozemtsev <shrek@altlinux> 0.5.11-alt4 > - removed "Conflicts: submount", "Sometimes They Come Back"