Bug 4806 - Master2.4b2: subfs слетает с CD
: Master2.4b2: subfs слетает с CD
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/apt)
: unstable
: all Linux
: P5 blocker
Assigned To:
:
:
:
:
: 3459
  Show dependency tree
 
Reported: 2004-07-15 22:23 by
Modified: 2006-12-17 16:22 (History)


Attachments
apt-dont-umount-supersubmount.patch (842 bytes, patch)
2004-07-20 15:35, Sergey V Turchin
no flags Details | Diff
apt-eject.patch (314 bytes, patch)
2004-07-21 14:19, Sergey V Turchin
no flags Details | Diff
apt-0.5.15cnc6-alt-umount.patch (895 bytes, patch)
2005-05-14 13:27, Sergey V Turchin
no flags Details | Diff
apt-0.5.15cnc6-alt-umount.patch (987 bytes, patch)
2005-05-14 17:34, Sergey V Turchin
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


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

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

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

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

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

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

PS И собственно, откуда взялся supermount ? разве он у нас поддерживается ?
------- Comment #24 From 2004-08-24 11:59:40 -------
(In reply to comment #23) 
> PS И собственно, откуда взялся supermount ? разве он у нас поддерживается ? 
Я предлагаю патчить и для него тоже, потому что: 
1. Патчащему это ничего не стоит. Совсем. 
2. Пользователю, хочущему supermount, попытка его использовать будет стоить 
столько же, сколько нам subfs. Но он не осилит в одиночку все патчи, включая 
eject, apt, dvd+rw-tools, kde, остальное не помню. 
------- Comment #25 From 2004-08-31 17:01:46 -------
Master 2.4 beta
до сих пор воспроизводится.
------- Comment #26 From 2004-08-31 17:22:09 -------
Дмитрий, что мне следует предпринять, чтобы наконец было найдено какое-то
решение ? Текущее состояние пакета неприемлемо.
------- Comment #27 From 2004-08-31 19:48:45 -------
Please check apt-0.5.15cnc6-alt6, completetly untested patch just uploaded to
current.
------- Comment #28 From 2004-10-03 13:22:42 -------
В сообщении от Среда 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 From 2004-11-19 13:06:36 -------
В релизе Master 2.4 ошибка продолжает стабильно воспроизводиться: после apt-get
 и apt-cdrom диск, подключенный через subfs, остаётся неотмонтированным
------- Comment #30 From 2004-11-19 14:55:58 -------
Насколько я понимаю, именно этого и хотели добиться (чтобы subfs не слетал).
------- Comment #31 From 2004-11-22 14:50:54 -------
(In reply to comment #30) 
> Насколько я понимаю, именно этого и хотели добиться (чтобы subfs не слетал). 
Да, именно так 
 
------- Comment #32 From 2004-11-23 10:51:53 -------
 (In reply to comment #31) 
> (In reply to comment #30)  
> > Насколько я понимаю, именно этого и хотели добиться (чтобы subfs не 
слетал).  
> Да, именно так  
Только не работает, CD все-равно размонтируется. 
apt-0.5.15cnc6-alt6 
------- Comment #33 From 2004-12-09 18:40:41 -------
Забыл переоткрыть 
------- Comment #34 From 2005-05-12 18:06:55 -------
Блин.
В Installer 2.9.9.5 слетает.
------- Comment #35 From 2005-05-14 13:27:53 -------
Created an attachment (id=879) [details]
apt-0.5.15cnc6-alt-umount.patch

fixed version of patch
------- Comment #36 From 2005-05-14 17:34:13 -------
Created an attachment (id=884) [details]
apt-0.5.15cnc6-alt-umount.patch

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

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

@@ -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 From 2005-05-20 15:46:20 -------
Ну значит я сравнивал патч Zerg'а с ним же.
Достоверно известно, что в -alt11 патч правильный.
------- Comment #48 From 2005-05-21 14:04:47 -------
В 2.9.9.6 не слетает.
------- Comment #49 From 2005-05-23 14:01:13 -------
(In reply to comment #48) 
> В 2.9.9.6 не слетает. 
Да, там патч уже приложен.