Summary: | Адаптировать etercifs для CentOS 5.3 и починить для CentOS 5.2 | ||
---|---|---|---|
Product: | CIFS@Etersoft | Reporter: | Konstantin Baev <kipruss> |
Component: | компиляция модуля | Assignee: | Konstantin Baev <kipruss> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P4 | CC: | chemtech, lav, lbeasty, piastry, sin, yurifil |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
URL: | http://bugs.etersoft.ru/show_bug.cgi?id=3043#c2 | ||
Whiteboard: | |||
Заявки RT: | 10003 | Связано с: | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 3043 | ||
Attachments: |
Добавлена функция cifs_random()
Патч на legacy для сборки под CentOS 5.2 (ядро 2.6.18-92.el5) |
Description
Konstantin Baev
2009-04-03 14:34:58 MSD
Пока есть проблемы со сборкой с CentOS, которые я не смог решить. Проблемы в функции get_random_int. Остальные части патча с трудом, но применил, кроме одной части, где решается проблема выделения памяти при перезагрузке модуля. Может чем помочь? (In reply to comment #2) > Может чем помочь? > Вопрос ставится так: какая функция в ядре CentOS используется вместо get_random_int и имеет такой же интерфейс? Дело в том, что get_random_int присутствует и в random.c и в random.h, но отсутствует в Module.symvers и это не дает использовать данную функцию, а она у нас используется. Как выход из положения - можно написать свою. Это не слишком сложный вариант и до конца недели, я думаю, сделаем. Буду рад) Created attachment 1137 [details]
Добавлена функция cifs_random()
Компилируется и работает - потестил с помощью rect. Можно теперь собирать etercifs. Как будет на ftp потестю) Прогнаны тесты для ректа на CentOS . Оба сервиса были запущены на CentOS. Тесты прошли успешно. Собрана версия etercifs-4.3.4 с исходниками для CentOS. ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/CentOS/5.3/etercifs-4.3.4-eter1centos.noarch.rpm Поскольку ядро CentOS сильно патченное, то данные исходники рассчитаны для ядро 2.6.18.128. В скрипте проверяется, что дистрибутив - CentOS (grep-ается /etc/redhat-release ). Для RHEL потом допишу проверку. Стоит проверка по версии ядра. Для < 2.6.18-128 подсовываются legacy исходники, потому что для 2.6.18-92 от 5.2 они подходили. Для 2.6.18-128 и до версии 2.6.22 - специальные. А после - уже по обычной схеме, по ядру. Где надо - варнинги появляются. Да, ядро в CentOS - песня, а не ядро! Смесь ядер с 18 по 27-е. Прошу прощенья, нашел багу: неправильно запаковал исходники, недопоправил спек... Тестировал-то - вручную копируя исходники. Вот и не заметил, что пакет кривой получился. Исправил, заодно добавив в проверку к CentOS ещё и Red Hat, исправил грамматическую ошибку и сделал параметр CHECK_VERSION, чтобы можно было отключать проверку на версию пакеты при загрузке модуля на случай, если новый на данном ядре не собирается. ftp://ftp.etersoft.ru/pub/Etersoft/LINUX@Etersoft/Boxes/etercifs/noarch/RPMS.default/etercifs-4.3.4-alt2.noarch.rpm Сырцы для пересборки в ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/sources/ тоже положил. Сдается мне, что релиз не последний, учитывая, что на старом ядре что-то сломалось. Но это уже на следующей неделе. Тестировал ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/CentOS/5.3/etercifs-4.3.4-eter1centos.noarch.rpm /etc/init.d/etercifs build Building for 2.6.18-128.el5PAE Linux kernel (headers in /lib/modules/2.6.18-128.el5PAE/build) Found CentOS. Your kernel is 2.6.18-128.x Building from sources, adapted for kernels 2.6.18-128.x from CentOS 5.3. Etercifs kernel module sources for current kernel does not installed! Сорцы установлены: yum install kernel-PAE-devel.i686 kernel-headers.i386 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Setting up Install Process Parsing package install arguments Package kernel-PAE-devel-2.6.18-128.el5.i686 installed and not available Package kernel-headers-2.6.18-128.el5.i386 installed and not available Nothing to do ls -l /lib/modules/2.6.18-128.el5PAE/ итого 1272 lrwxrwxrwx 1 root root 48 Апр 11 18:42 build -> ../../../usr/src/kernels/2.6.18-128.el5-PAE-i686 Надо ставить ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/sources/etercifs-4.3.4-alt2.src.rpm в CentOS? (In reply to comment #12) > Тестировал > ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/CentOS/5.3/etercifs-4.3.4-eter1centos.noarch.rpm Зачем тестировали? Я же сказал, что сорцы etercifs для CentOS 5.3 забыл упаковать в rpm в этой версии. > Надо ставить > ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/sources/etercifs-4.3.4-alt2.src.rpm > в CentOS? Нет, конечно. Это же исходники. Для CentOS уже пересобрали. Вот: ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/CentOS/5.3/etercifs-4.3.4-eter2centos.noarch.rpm Только что собрал на ядре 2.6.18-128.el5 в CentOS 5.3 Надо, конечно, ещё тестировать и исправлять ошибки в 92-м ядре, так что считайте эту версию тестовой. Да оно так и есть. Раз уж переоткрыли багу, то новую делать не буду - переименую эту с учетом 5.2 Протестировал ftp://ftp.etersoft.ru/pub/Etersoft/CIFS@Etersoft/4.3.4/CentOS/5.3/etercifs-4.3.4-eter2centos.noarch.rpm Собралось)) Спасибо! Created attachment 1147 [details] Патч на legacy для сборки под CentOS 5.2 (ядро 2.6.18-92.el5) (In reply to comment #14) > Раз уж переоткрыли багу, то новую делать не > буду - переименую эту с учетом 5.2 > Собрал и на 5.2 на ядре 2.6.18-92.el5 Если кому срочно - можете приложить патч legacy_centos52.diff, изменив под себя сорцы legacy. А лучше подождать новую версию. |