Summary: | udev неправильно сохраняет информацию о failed events | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Denis Ovsienko <pilot> |
Component: | udev | Assignee: | Sergey Vlasov <vsu> |
Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | arseny, ender, mike, rider, shaba, shrek |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 11786 |
Description
Denis Ovsienko
2008-03-09 13:21:46 MSK
Очень не хочется тащить libnetlink в udev - в частности, из-за использования его в initramfs. В новой версии udev можно решить эту проблему другим способом - передавать окончательное значение devpath через файл в /dev/.udev/queue, создаваемый в процессе обработки события. Правда, такой вариант будет правильно работать только при условии переименования интерфейсов средствами udev - например, так, как это сделано в 19-udev-ifrename.rules в пакете ifrename (точнее, сейчас этот файл там, похоже, не совсем правильный). В etcnet нужно добавить скрипт, который только выдаёт в stdout имя, которое должен получить интерфейс, но не пытается переименовывать его самостоятельно (это также исправит другую проблему - если переименование интерфейсов выполняется в обход udev, неверные имена интерфейсов от udev попадают в hal). Имя, которое должно получиться, можно получить вызовом ifrename с опцией -D. Но я бы хотел в конечном итоге видеть систему, в которой udev не трогает имена интерфейсов вообще. Касательно libnetlink: проитерироваться по интерфейсам можно и без неё, сишный код в этом отношении не связан ничем. Могу поискать образец, если нужно. Касательно HAL: предлагаю передавать ему ifindex вместо имени, если это возможно. Если же он не оперирует индексом вообще, то это плохо. (In reply to comment #2) > Но я бы хотел в конечном итоге видеть систему, в которой udev не трогает имена > интерфейсов вообще. Похоже, в апстриме подход полностью противоположный - никто, кроме udev, не должен трогать имена интерфейсов. > Касательно libnetlink: проитерироваться по интерфейсам можно и без неё, сишный > код в этом отношении не связан ничем. Могу поискать образец, если нужно. Понятно, что кусок кода можно просто скопировать, просто это лишние зависимости от SUBSYSTEM=="net" в тех местах, где их раньше не было. > Касательно HAL: предлагаю передавать ему ifindex вместо имени, если это > возможно. Если же он не оперирует индексом вообще, то это плохо. Там есть ещё и дублирование устройств (Bug #14015 - что лично я считаю багом в hal, а не в udev). В принципе linux.ifindex в hal есть, но в devpath всё равно входит имя интерфейса. И что с этим теперь ввиду /etc/udev/rules.d/70-persistent-net.rules и закрытой bug #19313? осталось смириться |