[Devel] Проблемы CIFS

Vitaly Lipatov =?iso-8859-1?q?lav_=CE=C1_etersoft=2Eru?=
Чт Июн 5 20:42:15 MSD 2008


В сообщении от 5 июня 2008 Evgeny Sinelnikov написал(a):
> Здравствуйте,
>
> на протяжении недели уже я активно вовлечён в вопросы сборки и
> проверки качества работы CIFS. Прежде всего скажу, что я был удивлён
> наличием своего варианта модуля etercifs, хотя, как я теперь вижу,
До последних сборок нашего linux-cifs модуль ещё и назывался cifs.ko, для 
путаницы со стандартным модулем :)

> Теперь хочу затронуть вопрос о задачах, поскольку я в них изрядно
> запутался. Схема, как я вижу такая - модуль etercifs собирается в
> пакете linux-cifs под ядро определённого дистрибутива. При этом
Модули, собранные в пакете, собраны обычно под ядро, которое было в релизе, и 
эта сборка служит скорее для проверки самого факта собираемости, чем для 
реального использования.

> обновление дистрибутивных ядер, требует пересборки модуля, для чего
> используется dkms:
> http://www.linuxjournal.com/article/6896
> http://fedoranews.org/tchung/dkms/
dkms используется и реально проверен нами только в Mandriva

> Отсутствие dkms в ALT Linux, я так понимаю, означает, что linux-cifs
> пока не работоспособен в этом дистрбутиве. Может быть собирать
Для всех остальных систем есть 
# service linux-cifs build
это такой аналог dkms нашей ручной работы.

> подпакет kernel-source-etercifs из пакета linux-cifs? Тогда можно было
> бы организовать сборку модулей по стандартной схеме ALT Linux. С
Можно конечно, но как известно, есть большая проблема в сборке модулей под 
ядра в ALT Linux (организационная), из-за чего я лично не берусь за эту 
задачу (comedi например так и заброшено).

> другой стороны можно научить dkms собирать модули для текущего ядра из
> архивов устанавливаемых пакетами kernel-source-*, что прозрачно
> ложится на текущую схему сборки, дополняя возможность жёсткой сборки
> модулей динамической сборкой для текущего ядра, что решило бы многие
> вопросы.... Но это отвлечение...
Я выложил dkms для ALT:
http://git.altlinux.org/people/lav/packages/dkms.git
Там конечно не поддерживаются kernel-source, но это просто надо немного 
поработать с ним. Могу поручить разобраться с ним у нас.

>
> Собственно сами вопросы по etercifs:
> 1) Каково положение дел по модулю на разных системах?
>
> На текущий момент я могу предположить несколько проблем
> - не работает модуль версии 1.50с на новых дистрибутивах
Думаю, что работает, если собрать, но это не очень важно.

> - не компилируется модуль версии 1.50с на новых ядрах в новых дистрибутивах
Это не очень актуальная проблема в связи с наличием 1.53.

> - не работает новый модуль версии 1.53 там, куда его смогли собрать
Возможно он и работает, и не хуже чем 1.50c. Другое дело что и 1.50c работает 
очень плохо (есть баги и огромная потеря производительности).

> - не компилируется новый модуль версии 1.53 на старых ядрах в старых
> дистрибутивах
Идею о разных ветках исходников для разных версий ядер я не отвергаю, вопрос 
только как выбирать нужные исходники при сборке.

> Все они имеют место быть, в том или ином виде, но вопрос в том, что
> непонятно к какой категории отнести приведённые ниже баги
>
> Не работает cifs на Fedora 8:
> http://bugs.etersoft.ru/show_bug.cgi?id=1885
>   Нормально устанавливается, собирается.
>   Но при попытке что либо подмонтировать
>   вешается комп, или просто перезагружается.
> На каком ядре с каким модулем? Как это повторить? Интересно получить
> удалённый доступ к машине с этой проблемой.
Это проблема с 1.50c, как я понял, с 1.53 уже ничего не вешается.

>
> Segmentation fault при использовании Etersoft CIFS на Ubuntu 8.04:
> http://bugs.etersoft.ru/show_bug.cgi?id=1784
> Аналогично, на каком ядре с каким модулем? Как это повторить? Тоже
Всё очень просто - на ядре из Ubuntu 8.04 по умолчанию (какое-то 2.6.24), 
модуль 1.50c.
Точнее можно узнать, спросив в баге, хотя... Денис подписан на эту рассылку.

> интересно получить удалённый доступ к машине с этой проблемой.
> Если что-то завелось, то опять на каком ядре с каким модулем?
>
> совместная работа по CIFS с 1cv80,1cv81:
> http://bugs.etersoft.ru/show_bug.cgi?id=1153
> Проблема в больших файлах? То есть в том, что "блокировка выше 2Gb не
> видна на cifs"? На каком ядре с каким модулем в какой среде
> (дистрибутиве)?
Нет, проблема не в этом. Хотя вообще неизвестно где проблема. Нужен тест.

>
> 2) Необходим ли для тестов shared-патч? То есть это единтственное, что
> мы тестируем или есть проблемы в самом cifs? Вопрос для меня состоит в
> том, чтобы сначала выяснить это проблема самого cifs или нашего
Это проблемы самого CIFS (на момент 1.50). Наш патч некоторые из них устранял, 
некоторые компенсировал.
Можно писать тест и тестировать без патчей, если так больше нравится.
Всё можно проверять на альтовом ядре (у нас же есть 2.6.25), с другими мы 
потом разберёмся.

> патча... Например, с монтированием вопрос вообще не ясен... Я так
> понимаю, что всё таки проблема старого самого модуля на новом ядре, но
> тогда почему оно повторилось в новым модулем и почему и в каком виде
> перестало повторятся?
Проблема сама вряд ли убежала. Просто их много и их не сформулировать в нужном 
тебе виде без теста. Если будет основа для теста, я могу присоединиться и 
сказать что ещё нужно проверять.

-- 
С уважением,
Виталий Липатов
Россия, Санкт-Петербург. www.etersoft.ru
GNU! ALT Linux Team! WINE! WIKI! LaTeX! LyX!


Подробная информация о списке рассылки devel