Bug 4806

Summary: Master2.4b2: subfs слетает с CD
Product: Sisyphus Reporter: Roman Savochenko <rom_as>
Component: aptAssignee: Sergey V Turchin <zerg>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: blocker    
Priority: P5 CC: boyarsh, george, glebfm, imz, ldv, mouse, placeholder, rider, svd, voins
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 3459    
Attachments:
Description Flags
apt-dont-umount-supersubmount.patch
none
apt-eject.patch
none
apt-0.5.15cnc6-alt-umount.patch
none
apt-0.5.15cnc6-alt-umount.patch none

Description Roman Savochenko 2004-07-15 22:23:56 MSD
После запуска synaptic и добавления CD в репозиторий происходит 
отключения subfs от CD. 
После чего получить доступ к CD без ручной работы не получается!
Comment 1 Anton Farygin 2004-07-16 11:47:59 MSD
Эта ошибка имеет отношение к submount.
Comment 2 Sergey V Turchin 2004-07-16 12:18:23 MSD
Нужно, чтобы процесс, размонтирующий диски, делал исключение для файловых 
систем subfs и supermount. 
supermount - потому, что специально делать ничего не нужно, а кому-то может 
пригодиться. 
В eject, например, так. 
 
Comment 3 Sviatoslav Sviridov 2004-07-16 15:08:04 MSD
В качестве workaround могу предложить сейчас установить в конфиге:
APT::CDROM::NoMount "true";
(сам не проверял - не на чем, поэтому отзыв будет интересен)

Проявляется ли это при использовании apt-cdrom?
Есть подозрение, что лучше лечить все-таки apt (apt-pkg/contrib/cdromutl.cc:
bool UnmountCdrom(string Path)).
Comment 4 Anton Farygin 2004-07-16 15:59:41 MSD
2mouse: что скажешь ?
Comment 5 Sviatoslav Sviridov 2004-07-16 17:00:15 MSD
Возможные варианты исправления:
1. [будет не совсем корректно] Сделать (изменить, если уже есть) lua-скрипт
"Scripts::Cdrom::Mount" таким образом, чтоб он проверял тип фс
2. [workaround] Прописать чего-нить в конфиге для 
  "Acquire::cdrom::"+Path+"::Mount"
  "Acquire::cdrom::"+Path+"::UMount"
Вроде как при непустом значении монтирование/размонтирование не будет выполняться.
3. таки сделать патч...
Comment 6 Sergey V Turchin 2004-07-20 15:32:52 MSD
(In reply to comment #3) 
> Есть подозрение, что лучше лечить все-таки apt (apt-pkg/contrib/cdromutl.cc: 
Я тоже так думаю. 
 
 
Comment 7 Sergey V Turchin 2004-07-20 15:35:25 MSD
Created attachment 498 [details]
apt-dont-umount-supersubmount.patch

Проверьте только правильный ли код возврата я делаю в _exit()
Перевешиваем на apt?
Comment 8 Sergey V Turchin 2004-07-20 17:13:30 MSD
Раз никто не против :-) 
Comment 9 Sergey V Turchin 2004-07-21 14:19:28 MSD
Created attachment 499 [details]
apt-eject.patch

А вот еще вариант :-)
Comment 10 Roman Savochenko 2004-08-05 10:39:46 MSD
Для ALM2.4 бетта от 28072004 это всё ещё актуально!
Comment 11 Anton Farygin 2004-08-05 11:10:36 MSD
увеличил приоритет, жизненно необходимо для M2.4
Comment 12 Dmitry V. Levin 2004-08-09 15:53:51 MSD
Который из патчей является актуальным?
Comment 13 Sergey V Turchin 2004-08-09 16:12:33 MSD
(In reply to comment #12) 
> Который из патчей является актуальным? 
 
apt-eject.patch - это более простой, но менее правильный. 
apt-dont-umount-supersubmount.patch - правильный, только не уверен насчет кода 
возврата _exit() 
Comment 14 Sviatoslav Sviridov 2004-08-09 16:30:34 MSD
Нужна ли какая-нить дополнительная обработка при монтировании?
Может в некоторых случаях надо и монтирование пропускать?
Comment 15 Sergey V Turchin 2004-08-09 16:42:17 MSD
(In reply to comment #14) 
> Нужна ли какая-нить дополнительная обработка при монтировании? 
Нет, максимум - сделать вид, что успешно размонтировали, если subfs или 
supermount. 
 
> Может в некоторых случаях надо и монтирование пропускать? 
subfs и supermount к этоим случаям не имеют отношения 
 
Comment 16 Roman Savochenko 2004-08-09 17:10:51 MSD
Нужно проверить как cdrecord и иже с ними работает с subfs!
Дело в том что на 2.3 была проблема при попытке записать
DVD из k3b при активном subfs!
Проблема заключалась в ругательствах типа немогу отмонтировать /dev/scd0.
Comment 17 Anton Farygin 2004-08-10 10:06:45 MSD
Ага.. эта ошибка уже известна. Ругается dvd+rw-tools.
Comment 18 Sergey V Turchin 2004-08-23 14:06:10 MSD
Так что слышно про сборку с исправлением? 
Comment 19 Dmitry V. Levin 2004-08-23 14:32:05 MSD
Ничего не слышно.  Я просто не могу понять, в чём проблема.
Comment 20 Sergey V Turchin 2004-08-23 15:41:17 MSD
(In reply to comment #19) 
> Ничего не слышно.  Я просто не могу понять, в чём проблема. 
Файловые системы subfs и supermount не надо размонтировать, а apt об этом не 
знает. 
 
Comment 21 Dmitry V. Levin 2004-08-23 16:47:34 MSD
Меня не вдохновляет идея добавлять код поддержки каждой новой файловой системы в
каждую программу, которая с ними работает.

Господа, добавленные в Cc, прошу вас высказать свою точку зрения.
Comment 22 Fr. Br. George 2004-08-23 17:09:06 MSD
(In reply to comment #21)
> Меня не вдохновляет идея добавлять код поддержки каждой новой файловой системы в
> каждую программу, которая с ними работает.
> 
> Господа, добавленные в Cc, прошу вас высказать свою точку зрения.

А нужно ли вообще когда-нибудь делать umount для subfs?
Если нет -- то проще subfs модифицировать, чтобы на umount не реагировала.
Если да -- то в каких случаях?
Если umount subfs нужен только для ручной работы, тогда опять-таки
модифицировать subfs, чтобы на _обычный_ umount не реагировала 
Если же в каких-то случаях нужно _автоматически_ размонтировать subfs -- то ой.
Только программы знают, когда этот случай наступил.
Comment 23 Sergey Bolshakov 2004-08-23 17:13:14 MSD
Безусловно, не всякая идея может служить источником вдохновения.
Если же отвлечься от высоких материй, то совершенно ясно, что
в данном конкретном случае придется таки попатчить apt.

PS И собственно, откуда взялся supermount ? разве он у нас поддерживается ?
Comment 24 Sergey V Turchin 2004-08-24 11:59:40 MSD
(In reply to comment #23) 
> PS И собственно, откуда взялся supermount ? разве он у нас поддерживается ? 
Я предлагаю патчить и для него тоже, потому что: 
1. Патчащему это ничего не стоит. Совсем. 
2. Пользователю, хочущему supermount, попытка его использовать будет стоить 
столько же, сколько нам subfs. Но он не осилит в одиночку все патчи, включая 
eject, apt, dvd+rw-tools, kde, остальное не помню. 
Comment 25 Dmitriy Porollo 2004-08-31 17:01:46 MSD
Master 2.4 beta
до сих пор воспроизводится.
Comment 26 Sergey Bolshakov 2004-08-31 17:22:09 MSD
Дмитрий, что мне следует предпринять, чтобы наконец было найдено какое-то
решение ? Текущее состояние пакета неприемлемо.
Comment 27 Dmitry V. Levin 2004-08-31 19:48:45 MSD
Please check apt-0.5.15cnc6-alt6, completetly untested patch just uploaded to
current.
Comment 28 Zerg 2004-10-03 13:22:42 MSD
В сообщении от Среда 08 Сентябрь 2004 16:46 Alexander Kuprin  
написал(a): 
> Добрый день. 
> 
> Наблюдается странная особенность при установке пакетов с дисков 
> -- APT иногда не дожидается, когда сменят CD и сообщает об ошибке 
> "...123 No medium..." При этом 100% повторения этой ошибки 
> получить не могу -- то есть, то нет. Кто-то сталкивался с таким? 
> Есть способ побороть? 
> 
> Аutofs отключён. Строка из /etc/fstab: 
> /dev/cdrom /mnt/cdrom subfs fs=cdfss,kudzu,noexec,nodev,nosuid,ro 
> 0 0 
Comment 29 DM 2004-11-19 13:06:36 MSK
В релизе Master 2.4 ошибка продолжает стабильно воспроизводиться: после apt-get
 и apt-cdrom диск, подключенный через subfs, остаётся неотмонтированным
Comment 30 Dmitry V. Levin 2004-11-19 14:55:58 MSK
Насколько я понимаю, именно этого и хотели добиться (чтобы subfs не слетал).
Comment 31 Sergey V Turchin 2004-11-22 14:50:54 MSK
(In reply to comment #30) 
> Насколько я понимаю, именно этого и хотели добиться (чтобы subfs не слетал). 
Да, именно так 
 
Comment 32 Zerg 2004-11-23 10:51:53 MSK
 (In reply to comment #31) 
> (In reply to comment #30)  
> > Насколько я понимаю, именно этого и хотели добиться (чтобы subfs не 
слетал).  
> Да, именно так  
Только не работает, CD все-равно размонтируется. 
apt-0.5.15cnc6-alt6 
Comment 33 Sergey V Turchin 2004-12-09 18:40:41 MSK
Забыл переоткрыть 
Comment 34 Andrey Rahmatullin 2005-05-12 18:06:55 MSD
Блин.
В Installer 2.9.9.5 слетает.
Comment 35 Sergey V Turchin 2005-05-14 13:27:53 MSD
Created attachment 879 [details]
apt-0.5.15cnc6-alt-umount.patch

fixed version of patch
Comment 36 Sergey V Turchin 2005-05-14 17:34:13 MSD
Created attachment 884 [details]
apt-0.5.15cnc6-alt-umount.patch

fixed and verified
Comment 37 Dmitry V. Levin 2005-05-18 19:06:52 MSD
Zerg, я не понял, зачем ты запостил патч, который я приложил ещё в августе
прошлого года?
Comment 38 Sergey V Turchin 2005-05-19 11:29:27 MSD
(In reply to comment #37) 
> Zerg, я не понял, зачем ты запостил патч, который я приложил ещё в августе 
> прошлого года? 
Почему ты так подумал? Просто имя файла совпадает. 
Comment 39 Dmitry V. Levin 2005-05-19 15:02:50 MSD
Содержимое файлов тоже совпадает.
Comment 40 Sergey V Turchin 2005-05-19 15:15:31 MSD
(In reply to comment #39) 
> Содержимое файлов тоже совпадает. 
Если ты про https://bugzilla.altlinux.org/attachment.cgi?id=884 , то наверное 
у тебя из кэша. 
 
Comment 41 Dmitry V. Levin 2005-05-19 15:59:31 MSD
Zerg, либо ты глючишь, либо глючит софт, которым ты пользуешься.
Comment 42 Sergey V Turchin 2005-05-19 16:35:56 MSD
(In reply to comment #41)   
> Zerg, либо ты глючишь, либо глючит софт, которым ты пользуешься. 
Тогда в Master 2.2 apt отлично работает с subfs и ничего исправлять не надо 
было :-) 
 
 
Comment 43 Sergey V Turchin 2005-05-19 16:42:21 MSD
(In reply to comment #42) 
> в Master 2.2 
точнее, в Master 2.4 
Comment 44 Dmitry V. Levin 2005-05-20 01:43:18 MSD
Zerg, тогда разбирайся сам.
Comment 45 Sergey V Turchin 2005-05-20 12:19:09 MSD
(In reply to comment #44) 
> Zerg, тогда разбирайся сам. 
С твоими глюками? Или ты все же объяснишь конкретно, в чем у тебя проблема? 
Comment 46 Anton Farygin 2005-05-20 13:20:45 MSD
Содержимое файлов не совпадает.

Вот то, что приложено (старый патч):

@@ -34,6 +34,7 @@
 #include <sys/stat.h>
 #include <unistd.h>
 #include <stdio.h>
+#include <mntent.h>
                                                                        /*}}}*/
 
 // IsMounted - Returns true if the mount point is mounted              /*{{{*/
@@ -100,6 +102,17 @@ bool UnmountCdrom(string Path)
       }
       else
       {
+        FILE *f;
+        if ((f = setmntent (MOUNTED, "r")) != NULL)
+        {
+          struct mntent *mnt;
+          while ((mnt = getmntent (f)) != NULL)
+            if (strcmp (Path.c_str(), mnt->mnt_fsname) == 0)
+              if ((strcmp ("subfs", mnt->mnt_type) == 0) || (strcmp
("supermount", mnt->mnt_type) != 0))
+                _exit(0);
+          endmntent (f);
+        }
+


В новой версии Zerg'а читается /proc/mounts, у тебя же - /etc/mtab

Далее - посмотри на условие - в subfs проверка идет на равенство нулю, а в
supermount - на неравенство. Явно где-то ошибка.

В общем новый патч проверен, гарантированно работает, прикладывать можно смело.
Comment 47 Dmitry V. Levin 2005-05-20 15:46:20 MSD
Ну значит я сравнивал патч Zerg'а с ним же.
Достоверно известно, что в -alt11 патч правильный.
Comment 48 Andrey Rahmatullin 2005-05-21 14:04:47 MSD
В 2.9.9.6 не слетает.
Comment 49 Sergey V Turchin 2005-05-23 14:01:13 MSD
(In reply to comment #48) 
> В 2.9.9.6 не слетает. 
Да, там патч уже приложен.