Summary: | НЕ собрать linux-cifs под ЯДРА 2.6.25 | ||
---|---|---|---|
Product: | CIFS@Etersoft | Reporter: | Глеб Кордюков <sonner> |
Component: | компиляция модуля | Assignee: | Евгений Синельников <sin> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P5 | CC: | baraka, boris, kipruss, lav, leonid, sin, yurifil |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 2220 | ||
Bug Blocks: | 1217, 1784 | ||
Attachments: |
Патч, добавляющий отсутствующие параметры для функции CIFSSMBOpen
Лог сборки linux-cifs |
Description
Глеб Кордюков
2008-05-06 12:49:19 MSD
в 1.53 проблем нет Но для Fedora 8 не собирается версия 1.53 в смысле сам rmp-пакет не собирается забыл открыть багу Может быть есть более новый вариант 1.53? Тут клиент интересуется (http://rt.etersoft.ru/Ticket/Display.html?id=7261) когда сборка для федоры появится.. (In reply to comment #5) > Может быть есть более новый вариант 1.53? > У меня в гите лежит обновление из kernel.org, но на собираемость оно вроде не влияет - там добавлен ряд проверок, которые могли приводить к ошибками... В каком виде его лучше выкладывать? Мне удобно в гит, но могу и SRPM'ку сделать на сизифе, если второе то куда класть, чтобы все знали? И последнее, как узнать последнюю сводку отчётов по собираемости на разных системах? Можно в гит. Не собирается для Fedora 9. Build for /usr/src/kernels/2.6.25.10-86.fc9.i686 (detected as 2.6.25.10-86.fc9.i686) ... /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c: In function 'cifs_getxattr': /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 7 of 'CIFSSMBOpen' makes integer from pointer without a cast /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 8 of 'CIFSSMBOpen' from incompatible pointer type /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 10 of 'CIFSSMBOpen' from incompatible pointer type /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: warning: passing argument 11 of 'CIFSSMBOpen' makes pointer from integer without a cast /home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.c:275: error: too few arguments to function 'CIFSSMBOpen' make[1]: *** [/home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport/xattr.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [_module_/home/lav/RPM/BUILD/linux-cifs-1.53/new-cifs-backport] Error 2 make: Leaving directory `/usr/src/kernels/2.6.25.10-86.fc9.i686' can't locate built module etercifs.ko, continue Created attachment 627 [details]
Патч, добавляющий отсутствующие параметры для функции CIFSSMBOpen
Я встретил подобные проблемы при попытке собрать модуль под ядро от лакостиса -
[kipruss@heaven ~]$ uname -a
Linux heaven.saratov.etersoft.ru 2.6.26-wks-smp-alt1 #1 SMP PREEMPT Mon Jul 14 14:36:23 MSD 2008 i686 GNU/Linux
собирал из пакета linux-cifs-1.53-alt1.bld1
Смысл в том, что появился новый параметр в функции CIFSSMBOpen, которая объявляется в cifsproto.h, раньше его не было и везде, где он появился, он равен константе FILE_SHARE_ALL. В трех местах его забыли добавить.
В новых ядрах может быть включена опция ядра CONFIG_CIFS_EXPERIMENTAL. Так вот, если она включена, то мы натыкаемся на те куски кода, где и забыли эти параметры.
У меня в итоге модуль собрался, посему прилагаю патч.
Да, кстати, это в сырцах баг, отсюда и проблемы в федоре и т.п. Надо пинать апстрим. (In reply to comment #11) > Да, кстати, это в сырцах баг, отсюда и > проблемы в федоре и т.п. Надо пинать > апстрим. > > появился новый параметр в > функции CIFSSMBOpen, которая объявляется в > cifsproto.h, раньше его не было и везде, где он > появился, он равен константе FILE_SHARE_ALL. Мне казалось этот параметр добавляется нашим патчем? (In reply to comment #12) > Мне казалось этот параметр добавляется > нашим патчем? > В патче linux-cifs-shared-1.53.patch добавляется этот параметр в некоторых местах, но не везде. Я искал там и сравнивал. Поскольку проблема проявляется только при включенной опции CONFIG_CIFS_EXPERIMENTAL, как сказано выше, то можно было и не заметить. И не факт, что я в полной мере исправил все отсутствующие параметры. Я исправил только то, что мне мешало. А что не помешало - помешает потом кому-то еще, если апстрим не исправит все эти огрехи. Я не понимаю, при чём тут огрехи апстрима, если доп. параметр к функции CIFSSMBOpen дописывал я в нашем патче. (In reply to comment #14) > Я не понимаю, при чём тут огрехи апстрима, > если доп. параметр к функции CIFSSMBOpen > дописывал я в нашем патче. > Я понял. Апстрим не при чем. Но в любом случае некоторые параметры не добавлены при вызове данной функции, что и видно в сообщениях, выводимых на консоли. Значит исправим, раз наша бага. Просмотрел содержимое уже пропатченных исходников на предмет наличия функции CIFSSMBOpen на предмет отсутствия добавленного параметра. Кроме уже замеченных мною выше трёх случаев, больше не нашел. я зачем мы собираем свой cifs? может в ядерном уже все и так работает?.. патч приложил. Положил новый src.rpm в current. На Федоре 9 собралось (In reply to comment #17) > я зачем мы собираем свой cifs? может в ядерном > уже все и так работает?.. Потому что нам там нужны наши изменения, которые мы ещё не смогли и не пытались продвинуть в ядро. Не собирается на ядре 2.6.22. Created attachment 663 [details]
Лог сборки linux-cifs
Новый linux-cifs должен теперь собираться нормально... Не знаю где бы проверить. Думаю, можно эту багу закрывать... |