Podsumowanie FreeBSD cvs-src od 14/03/04 do 21/03/04

Jest to regularne, cotygodniowe podsumowanie pełnego wyzwań rozwoju FreeBSD. Ma ono na celu pomoc wspólnocie FreeBSD w śledzeniu szybko dokonujących się zmian w FreeBSD-CURRENT przez przefiltrowanie potoku danych z listy dyskusyjnej CVS do łatwej (mamy nadziej) do przeczytania postaci. Sprawozdanie to wykonano przy użyciu reStructuredText, więc każda nietypowa interpunkcja jest prawdopodobnie przewidziana dla reST.

Podsumowania z poprzednich tygodni i ich wersje HTML znajdziesz pod adresem http://www.xl0.org/FreeBSD (wersja angielska), lub http://mocart.pinco.pl/FreeBSD (polskie tłumaczenie).

Wszelkie komentarze wysyłaj do Marka Johnstona (Mark at xl0.org). Komentarze dotyczące tłumaczenia wyślij do Łukasza Dudka (mocart at pinco.pl) i Szymona Roczniaka (simon at dischaos.com).

Contents

Nowości

Wsparcie dla kontrolerów ATA/SATA PC Card

Søren Schmidt (sos) dodał wsparcie do kodu ATA dla odłączania kontrolerów ATA na PCI. Umożliwia to kontrolerom ATA i Serial ATA na kartach PC pracę z podobnymi szybkościami jak kontrolerom na karatach PCI.

http://docs.freebsd.org/cgi/mid.cgi?200403151203.i2FC3mrZ046442

Import ACPI-CA 20040311

Nate Lawson (njl) zaimportował kod ACPI z ACPI-CA firmy Intel w wersji 20040311. Aktualizacje ACPI-CA takie jak ta zwiększają wsparcie sprzętowe zwłaszcza dla komputerów przenośnych

http://docs.freebsd.org/cgi/mid.cgi?200403181742.i2IHgK8r043974

Wsparcie dla bezprzewodowej karty sieciowej Aironet Arlan 655

Max Khon (fjoe) wprowadzil sterownik arl dla bezprzewodowej karty sieciowej Aironet Arlan 655, wprowadził takze arlconfig do sterowania tymi kartami.

http://docs.freebsd.org/cgi/mid.cgi?200403152224.i2FMOSQh002806

Ustawienia mixer zapisywane i przywracane podczas ponownego uruchamiania

John Baldwin (jhb) dodał skrypt rc aby umożliwić zapis i odczyt ustawień urządzenia mixer podczas ponownego uruchamiania komputera. Komenda /etc/rc.d/mixer reload może zostać użyta do przywrócenia ostanio zapisanych ustawień.

http://docs.freebsd.org/cgi/mid.cgi?200403152309.i2FN9I5n012369

Ważne zmiany

usunięcie RAIDFrame

Scott Long (scottl) usunął programowy sterownik RAID RAIDFrame, ponieważ nie działał on od czasu wprowadzenia interfejsu GEOM dla dysków, i nikt nie zgłosił się aby go naprawić. Aby móc korzystać z programowego sterownika RAID należy użyć Vinum, który jest dołączony do systemu.

http://docs.freebsd.org/cgi/mid.cgi?200403161223.i2GCNh6a010477

Tematy dyskusji

Opinie o kompilatorze Intel C Compiler

Uzupełniając zeszło tygodniowe wprowadzenie wsparcia dla ICC przy budowaniu jądra, David O'Brien (obrien) odnotował że kompilator C Intela (ICC) w wersji 8 będzie produkował kod nie działający bądź wyłączający wszystkie optymalizacje dla procesorów AMD. Alexander Leidinger (netchild) odpowiedział że Intel odnalazł pewne problemy z ICC na procesorach AMD, David stwierdził że Intel umyślnie łamie zgodność z układami AMD. Alexander zasugerował że różne wydania mogły by być budowane dla różnych procesorów, umożliwiając korzystanie z optymalizacji ICC bez problemów zgodności. Scott Long (scottl) stwierdził że nawet jeżeli jądra do wydań były by kompilowane ICC, to użytkownicy często rekompilują swoje jądra, tak wiec tracili by korzyści wynikające z używania ICC. Garance A. Drosihn (gad) zauważył że nawet jeśli wydania nadal będą kompilowane GCC, to możliwość skompilowania systemu innym kompilatorem da porównanie.

http://docs.freebsd.org/cgi/mid.cgi?20040315033213.GA40858

Znajdowanie domu dla dvcfg.h i physio_proc.h

W ostatnim tygodniu, Peter Wemm (peter) przeniósł pliki machnie/dvcfg.h i machine/physio_proc.h z różnych zależnych od architektury lokalizacji do wspólnego niezależnego od architektury miejsca compat/netbsd. Yoshihiro TAKAHASHI (nyan) zauważył że pliki te dostały się z NetBSD/pc98, ale nie służą zgodności z NetBSD, i nie są właściwe tylko PC98. David O'Brien (obrien) zasugerował sys/dev/<nazwa_urządzenia>/ jako dobre miejsce dla tych plików, ale nie wiedział jak to <nazwa_urządzenia> miała by być. Noriaki Mitsunaga (non) zgodził się że te pliki nie są właściwe tylko PC98 i zaproponował sys/ lub dev/dev/ dla nich. M. Warner Losh (imp) zgodził się z nim. John Baldwin (jhb) zastanawiał się czy pliki te w ogóle potrzebne zaproponował że przeterminowane API mogą być zastąpione innym kodem o podobnej funkcjonalności.

http://docs.freebsd.org/cgi/mid.cgi?200403131946.i2DJkRit022925

Określanie konsoli szeregowej i portu debugującego bez użycia poradnika (hints)

Marcel Moolenaar (marcel) wprowadził kod, który zmienia miejsce definiowania konsoli szeregowej i portu debugującego z pliku poradnika (hints) na zmienne loadera hw.uart.console i hw.uart.dbgport. Powodem zmiany jest fakt, że poradnik (hints) rezerwuje numer jednostki dla użądzeń ISA i ACPI, ale nie robi tego dla użądzeń PCI, nie jest więc wystarczająco konfigurowalny aby określić niestandardowe porty. John-Mark Gurney (jmg) poprosił o wyjaśnienia w tej kwestii, mówiąc że poradnik (hints) ma za zadanie takie określenie użądzenia, że nie zmienia się ono między restartami systemu i dodatkowo powinno działać na każdej architekturze szyny danych. Marcel wyjaśnił, że poradnik używany jest tylko w celu poinformowania jądra systemu o użądzeniach, których ono samo nie potrafi wykryć. Z szyną PCI nie ma takiego problemu, więc nie potrzebuje ona podręcznika. Wskazał także, że ustawienia konsoli są użyte zanim wykaz użądzeń jest przypisany do magistrali, więc numery jednostek są w takim przypadku bez znaczenia. M. Warner Losh (imp) zgodził się z Marcel'em, dodając iż model taki działa tylko dla użądzeń ze stałym adresem. Marcel natomiast zaznaczył że użądzenia nie posiadające stałego adresu nie mogą być użyte jako nisko poziomowe konsole.

http://docs.freebsd.org/cgi/mid.cgi?200403200214.i2K2E3ps052217

Zmiany u komiterów

Mark Santcross (marks) został wprowadzony przez Nate Lawson'a (njl), który będzie też jego mentorem.

Poważniejsze poprawki błędów

Poprawki w OpenSSL chroniące przed atakami denial-of-service

Jacques A. Vidrine (nectar) wprowadził do gałęzi 5.2, 5.1, 4.8, 4.9 oraz -STABLE poprawki chroniące przed możliwością przeprowadzenia ataku denial-of-service na OpenSSL. Błędy te były raportowane w Powiadomieniu bezpieczeństwa OpenSSL ('polskie tłumaczenie`) z 17 Marca. Do gałęzi -CURRENT zaimportowana została wersje 0.9.7d OpenSSL, która także zawiera poprawki.

Wprowadzenie poprawki: http://docs.freebsd.org/cgi/mid.cgi?200403171211.i2HCB8AN067605 OpenSSL 0.9.7d: http://docs.freebsd.org/cgi/mid.cgi?200403171550.i2HFo0Rm023201

Poprawiony wyciek informacji w separacji procesów

Paweł Jakub Dawidek (pjd) wprowadził poprawkę do kodu jądra odpowiadającego za separację procesów. Poprawka zamyka dziurę, która pozwalała procesom na obejście ograniczeń w dostępie do informacji o innych procesach, nakładanych np przez sysctl security.bsd.see_other_uids czy podsystem jail.

http://docs.freebsd.org/cgi/mid.cgi?200403171319.i2HDJihF089490

Poprawka w procesie instalacji na dyskach i systemach plików większych od 1TB

John Baldwin (jhb) wprowadził kod podesłany przez Juliana Elischera (julian), który modyfikuje sysinstall tak, aby używał 64-bitowych liczb całkowitych przy adresowaniu przestrzeni dyskowej. Dzięki temu, sysinstall będzie pracował poprawnie z dyskami czy systemami plików większymi od 1 TB.

http://docs.freebsd.org/cgi/mid.cgi?200403161707.i2GH76qZ087362

Poprawiony błąd systemu "panic: lockmgr: locking against myself (kern_lock.c:370)"

Alexander Kabaev (kan) poprawił w kodzie FFS błąd, który mógł doprowadzić do padu systemu (panic) przy dużej aktywności na dysku, na którym wykorzystywana jest migawka systemu plików (np, podczas fsck uruchomionego w tle). Poprawka ta zamyka PR 64206 zgłoszony przez Nik Clayton'a (nik).

http://docs.freebsd.org/cgi/mid.cgi?200403162206.i2GM6WWF061249

Inne poprawki błędów

John Baldwin (jhb) poprawił bsdlabel, dzięki czemu można nim tworzyć działające i bootujące się disklabele na platformie Alpha.

http://docs.freebsd.org/cgi/mid.cgi?200403152310.i2FNAYO7012470

Bill Paul (wpaul) prawie skończył przerabianie kodu NDISulatora aby współpracował z bezprzewodową kością Intel Centrino 2200BG. Jedyny problem, jaki jeszcze pozostał polega na wykorzystaniu przez sterownik zbyt dużej ilości miejsca na stosie, co prowadzi do padu systemu (panic). Jako tymczasową poprawkę na tą przypadłość autor poleca dodanie opcji options KSTACK_PAGES=8 do konfiguracji jądra.

http://docs.freebsd.org/cgi/mid.cgi?200403202339.i2KNdhQI069350