<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

<author contact="mailto:zbrown@tumblerings.org">Zack Brown</author>

<issue num="60" date="27 Mar 2000 00:00:00 -0800" />

<intro>

<p>Thanks go to Ben Tilly, who sent this email regarding last week's <kcref
subject="Capabilities" startdate="09 Feb 2000 00:00:00 -0800"></kcref><!--
kt20000320_59.html#1 -->:</p>

<quote who="Ben Tilly">

<p>Most of the people following your page probably do
not realize that the "Capabilities" being added to Linux are a very poor
substitute for true capabilities as implemented by systems like EROS.</p>

<p>The discussions at <a
href="http://www.eros-os.org/faq/basics.html">http://www.eros-os.org/faq/basics.html</a>
explain what a pure Capabilities model is. The past kernel discussion at <a
href="http://www.linuxhq.de/kt/kt19990422_15.html#2">http://www.linuxhq.de/kt/kt19990422_15.html#2</a>
explains clearly why what is being added to Linux is a different beast all
together.</p>

<p>I think that you should link back to that conversation to help clue in a few
people...</p>

</quote>

<p>Thanks, Ben! The subject certainly has room for many perspectives, and yours
is valued as well.</p>

</intro>

<stats posts="1611" size="6986" contrib="538" multiples="266" lastweek="197">

<person posts="60" size="210" who="Alan Cox " />
<person posts="37" size="127" who="Jeff Garzik " />
<person posts="33" size="110" who="Andre Hedrick " />
<person posts="27" size="110" who="Linus Torvalds " />
<person posts="25" size="77" who="David S. Miller " />
<person posts="23" size="90" who="Alexander Viro " />
<person posts="22" size="110" who="Jeff Garzik " />
<person posts="22" size="103" who="Hans Reiser " />
<person posts="22" size="101" who="Wakko Warner " />
<person posts="21" size="63" who="Tim Waugh " />
<person posts="20" size="60" who="Blu3Viper " />
<person posts="18" size="71" who="Chris Mason " />
<person posts="17" size="93" who="Christoph Rohland " />
<person posts="16" size="61" who="Russell King " />
<person posts="15" size="58" who="Jamie Lokier " />
<person posts="15" size="54" who="Keith Owens " />
<person posts="14" size="67" who="James A Simmons " />
<person posts="13" size="102" who="Thomas Molina " />
<person posts="13" size="53" who="David Ford " />
<person posts="11" size="75" who="Riley Williams " />
<person posts="11" size="52" who="Andrew Morton " />
<person posts="11" size="49" who="Horst von Brand " />
<person posts="11" size="37" who="Khimenko Victor " />
<person posts="11" size="35" who="" />
<person posts="10" size="53" who="Petr Vandrovec " />
<person posts="10" size="51" who="Tim Coleman " />
<person posts="10" size="35" who="Chris Wedgwood " />
<person posts="9" size="39" who="Q " />
<person posts="9" size="38" who="Michael H. Warfield " />
<person posts="9" size="37" who="Pavel Machek " />
<person posts="9" size="35" who="Dominik Kubla " />
<person posts="9" size="29" who="Manfred Spraul " />
<person posts="9" size="29" who="Steve Dodd " />
<person posts="9" size="28" who="" />
<person posts="8" size="32" who="Donald Becker " />
<person posts="8" size="31" who="Brian Gerst " />
<person posts="8" size="30" who="Geert Uytterhoeven " />
<person posts="8" size="29" who="Sean Hunter " />
<person posts="8" size="29" who="Ingo Molnar " />
<person posts="8" size="29" who="Jamie Lokier " />
<person posts="8" size="25" who="Nicholas Vinen " />
<person posts="7" size="48" who="Adam J. Richter " />
<person posts="7" size="32" who="Jakub Jelinek " />
<person posts="7" size="30" who="James Sutherland " />
<person posts="7" size="26" who="Bill Wendling " />
<person posts="7" size="23" who="Sasi Peter " />
<person posts="7" size="22" who="Gerhard Mack " />
<person posts="7" size="20" who="" />
<person posts="6" size="74" who="Miles Lane " />
<person posts="6" size="51" who="" />
<person posts="6" size="28" who="Xuan Baldauf " />
<person posts="6" size="27" who="Paul Laufer " />
<person posts="6" size="22" who="Mike Coleman " />
<person posts="6" size="21" who="Gregory Maxwell " />
<person posts="6" size="20" who="Peter Blomgren " />
<person posts="6" size="18" who="clubneon " />
<person posts="6" size="17" who=" (Arjan van de Ven)" />
<person posts="6" size="15" who="" />
<person posts="5" size="35" who="Martin Mares " />
<person posts="5" size="28" who="david " />
<person posts="5" size="25" who="Mike Castle " />
<person posts="5" size="23" who="nsmith " />
<person posts="5" size="22" who="Gibbas, Mark " />
<person posts="5" size="22" who="Adam " />
<person posts="5" size="20" who="Meino Christian Cramer " />
<person posts="5" size="19" who="Matthias Andree " />
<person posts="5" size="19" who="Peter T. Breuer " />
<person posts="5" size="18" who="Olaf Titz " />
<person posts="5" size="18" who="Jens Benecke " />
<person posts="5" size="17" who="George Bonser " />
<person posts="5" size="16" who="Jes Sorensen " />
<person posts="5" size="16" who="David Hinds " />
<person posts="5" size="15" who="Richard Gooch " />
<person posts="5" size="15" who="Ville Herva " />
<person posts="5" size="15" who="Horst von Brand " />
<person posts="5" size="15" who="Arjan van de Ven " />
<person posts="5" size="15" who="Garst R. Reese " />
<person posts="5" size="15" who="Guus Sliepen " />
<person posts="5" size="13" who="Jeff Dike " />
<person posts="4" size="40" who=" (Shailesh K Basani)" />
<person posts="4" size="27" who="Johan Kullstam " />
<person posts="4" size="23" who="" />
<person posts="4" size="21" who="Daniel J Blueman " />
<person posts="4" size="20" who="John Cavan " />
<person posts="4" size="19" who="James Simmons " />
<person posts="4" size="19" who="Dunlap, Randy " />
<person posts="4" size="19" who="Rask Ingemann Lambertsen " />
<person posts="4" size="18" who="Trond Myklebust " />
<person posts="4" size="17" who=" (Linus Torvalds)" />
<person posts="4" size="16" who="Sven LUTHER " />
<person posts="4" size="16" who="Guest section DW " />
<person posts="4" size="16" who="Brad Nelson " />
<person posts="4" size="16" who="Andreas Schwab " />
<person posts="4" size="16" who=" (H. Peter Anvin)" />
<person posts="4" size="15" who="Mike A. Harris " />
<person posts="4" size="15" who="Pete Wyckoff " />
<person posts="4" size="15" who="Jim Bray " />
<person posts="4" size="14" who="Jun Sun " />
<person posts="4" size="14" who="Philip Blundell " />
<person posts="4" size="14" who="Albert D. Cahalan " />
<person posts="4" size="14" who="Andrea Arcangeli " />
<person posts="4" size="14" who="Valentijn Sessink " />
<person posts="4" size="14" who="" />
<person posts="4" size="13" who="Jens Axboe " />
<person posts="4" size="13" who="Bruno Haible " />
<person posts="4" size="13" who="Dieter =?iso-8859-1?Q?N=FCtzel?= " />
<person posts="4" size="12" who="Mr. James W. Laferriere " />
<person posts="4" size="12" who="Tigran Aivazian " />
<person posts="4" size="12" who="Lars Marowsky-Bree " />
<person posts="4" size="12" who="Augusto Cesar Radtke " />
<person posts="4" size="11" who="G. Hugh Song " />
<person posts="4" size="11" who="Alan Cox " />
<person posts="4" size="11" who="Pete Clements " />
<person posts="4" size="11" who="David Woodhouse " />
<person posts="3" size="42" who="Alexandre Hautequest " />
<person posts="3" size="31" who="Roeland Th. Jansen " />
<person posts="3" size="25" who="Ian Peters " />
<person posts="3" size="17" who="" />
<person posts="3" size="16" who="Barry K. Nathan " />
<person posts="3" size="16" who="info " />
<person posts="3" size="15" who="Craig Kulesa " />
<person posts="3" size="14" who="Neil F. Brown " />
<person posts="3" size="13" who="Geert Uytterhoeven " />
<person posts="3" size="13" who="Artur Skawina " />
<person posts="3" size="12" who="Jim Mostek " />
<person posts="3" size="12" who="Brent M. Smith " />
<person posts="3" size="12" who="Rask Ingemann Lambertsen " />
<person posts="3" size="12" who="Maciej W. Rozycki " />
<person posts="3" size="12" who="Dr. Michael Weller " />
<person posts="3" size="12" who="William Stearns " />
<person posts="3" size="12" who="Yury Yu. Rupasov " />
<person posts="3" size="11" who="Matthew Dharm " />
<person posts="3" size="10" who="Michael Gerdts " />
<person posts="3" size="10" who="Greg KH " />
<person posts="3" size="10" who="J.W. Hoogervorst " />
<person posts="3" size="10" who="Simon Kirby " />
<person posts="3" size="10" who="Kjartan Maraas " />
<person posts="3" size="10" who=" (Arjan van de Ven)" />
<person posts="3" size="10" who="Ronald G. Minnich " />
<person posts="3" size="10" who="Willy Tarreau " />
<person posts="3" size="9" who="Cyrille Chepelov (home) " />
<person posts="3" size="9" who="Philippe Troin " />
<person posts="3" size="9" who=" (Miquel van Smoorenburg)" />
<person posts="3" size="9" who="Niels Kristian Bech Jensen " />
<person posts="3" size="9" who="Oliver Xymoron " />
<person posts="3" size="9" who="A.Srinath Reddy " />
<person posts="3" size="9" who="Stefan Monnier " />
<person posts="3" size="9" who="" />
<person posts="3" size="8" who="Jeremy Fitzhardinge " />
<person posts="3" size="8" who="david parsons " />
<person posts="3" size="8" who="Richard B. Johnson " />
<person posts="3" size="8" who="Chris Meadors " />
<person posts="3" size="8" who="Lawrence Manning " />
<person posts="3" size="8" who="Peter Goh " />
<person posts="3" size="8" who="Per Lundberg " />
<person posts="3" size="7" who="Matthew Kirkwood " />
<person posts="3" size="7" who="Richard Henderson " />
<person posts="3" size="7" who="" />
<person posts="2" size="88" who="Alan Modra " />
<person posts="2" size="75" who="Semyon Sosin " />
<person posts="2" size="33" who="Jan Gyselinck " />
<person posts="2" size="29" who="Lawrence Walton " />
<person posts="2" size="24" who="Christoph Hellwig " />
<person posts="2" size="23" who="Chris Meadors " />
<person posts="2" size="17" who="Kai Harrekilde-Petersen " />
<person posts="2" size="15" who="Chris Higgins " />
<person posts="2" size="14" who="James " />
<person posts="2" size="13" who="" />
<person posts="2" size="13" who="Christopher Smith " />
<person posts="2" size="13" who="Todd T. Fries " />
<person posts="2" size="12" who="Evan Langlois " />
<person posts="2" size="11" who=" (david parsons)" />
<person posts="2" size="11" who="GOTO Masanori " />
<person posts="2" size="10" who="Jim Morris " />
<person posts="2" size="10" who="Austin Schutz " />
<person posts="2" size="9" who="Brent M. Smith " />
<person posts="2" size="9" who="Christian Laursen " />
<person posts="2" size="9" who="Joerg Pommnitz " />
<person posts="2" size="9" who="Urban Widmark " />
<person posts="2" size="9" who=" (William Lash)" />
<person posts="2" size="8" who="Luca Montecchiani " />
<person posts="2" size="8" who="Dimitris Michailidis " />
<person posts="2" size="8" who="Robert L. Harris " />
<person posts="2" size="8" who="Admin Mailing Lists " />
<person posts="2" size="8" who="Nicholas Vinen " />
<person posts="2" size="8" who="Andi Kleen " />
<person posts="2" size="7" who="The Doctor What " />
<person posts="2" size="7" who="Christian Ehrhardt " />
<person posts="2" size="7" who="Jack \(Butch\) Griffin " />
<person posts="2" size="7" who="Jacob Luna Lundberg " />
<person posts="2" size="7" who="Jean-Luc Pedneault " />
<person posts="2" size="7" who="Joe " />
<person posts="2" size="7" who="Linda Walsh " />
<person posts="2" size="7" who="Andi Kleen " />
<person posts="2" size="7" who="Nick Holloway " />
<person posts="2" size="7" who="Marc Mutz " />
<person posts="2" size="7" who="=?ISO-2022-JP?B?GyRCR0EkLSROTkFNfT9NGyhC?= " />
<person posts="2" size="7" who="Jan-Benedict Glaw " />
<person posts="2" size="7" who="H. Peter Anvin " />
<person posts="2" size="7" who=" (Z)" />
<person posts="2" size="7" who="Ben Greear " />
<person posts="2" size="7" who="Norbert Tretkowski " />
<person posts="2" size="7" who="Rolf Fokkens " />
<person posts="2" size="7" who="Gerd Knorr " />
<person posts="2" size="6" who="Rob Hagopian " />
<person posts="2" size="6" who="Manfred Spraul " />
<person posts="2" size="6" who="Roger Gammans " />
<person posts="2" size="6" who="Nicholas Dronen " />
<person posts="2" size="6" who="Lech Szychowski " />
<person posts="2" size="6" who="Shourya Sarcar " />
<person posts="2" size="6" who="Andreas Jaeger " />
<person posts="2" size="6" who="Tim Waugh " />
<person posts="2" size="6" who="Rusty Russell " />
<person posts="2" size="6" who="Daniel A. Nobuto " />
<person posts="2" size="6" who="Chuck Lever " />
<person posts="2" size="6" who="Daniel Kobras " />
<person posts="2" size="6" who="John Kennedy " />
<person posts="2" size="6" who="Philip Blundell " />
<person posts="2" size="6" who="Helge Hafting " />
<person posts="2" size="6" who="Bernard Sebastien " />
<person posts="2" size="6" who="Erik Petersen " />
<person posts="2" size="6" who="Andreas Bombe " />
<person posts="2" size="6" who="Patrick Wildi " />
<person posts="2" size="6" who=" (Hans-Joachim Baader)" />
<person posts="2" size="6" who="herman dumont " />
<person posts="2" size="6" who="Johannes Erdfelt " />
<person posts="2" size="6" who="Craig Whitmore " />
<person posts="2" size="6" who="Sam Roberts " />
<person posts="2" size="6" who=" (Matthias Urlichs)" />
<person posts="2" size="6" who="Dave Gilbert " />
<person posts="2" size="6" who="Gianluca Anzolin " />
<person posts="2" size="6" who="Tigran Aivazian " />
<person posts="2" size="6" who="Artur Frysiak " />
<person posts="2" size="6" who="Adrian Cho/OTT/OTI " />
<person posts="2" size="6" who="Billy Harvey " />
<person posts="2" size="6" who="Todd Sabin " />
<person posts="2" size="6" who="Stephen C. Tweedie " />
<person posts="2" size="6" who="David A. Bandel " />
<person posts="2" size="6" who="Richard Ketchersid " />
<person posts="2" size="6" who="Edgar Toernig " />
<person posts="2" size="6" who="Henning P. Schmiedehausen " />
<person posts="2" size="5" who="ejc " />
<person posts="2" size="5" who="Robert Dinse " />
<person posts="2" size="5" who="Wajnerman, Juan " />
<person posts="2" size="5" who="Rik van Riel " />
<person posts="2" size="5" who="Thomas Sailer " />
<person posts="2" size="5" who="=?ISO-8859-1?Q?Mattias Engdeg=E5rd?= " />
<person posts="2" size="5" who="Borislav Deianov " />
<person posts="2" size="5" who="Abhay Kanhere " />
<person posts="2" size="5" who="Joanne Smith " />
<person posts="2" size="5" who="Mark Zealey " />
<person posts="2" size="5" who="Michel Catudal " />
<person posts="2" size="5" who="Stephen C. Tweedie " />
<person posts="2" size="5" who="Martin Smith " />
<person posts="2" size="5" who="Andre Hedrick " />
<person posts="2" size="5" who="Jos Hulzink " />
<person posts="2" size="5" who="Fausto Saporito " />
<person posts="2" size="5" who="Oleg Drokin " />
<person posts="2" size="5" who="=?ISO-8859-1?Q? =C4=E5=AA=E1=B5=D3=A4l ?= " />
<person posts="2" size="5" who="Anton Blanchard " />
<person posts="2" size="5" who="Chris Evans " />
<person posts="2" size="5" who="Michael J. Dikkema " />
<person posts="2" size="5" who="Aaditya Rai " />
<person posts="2" size="4" who="f5ibh " />
<person posts="2" size="4" who="Jeffrey B. Siegal " />
<person posts="2" size="4" who="Lee Chin " />
<person posts="1" size="81" who="Eric S. Raymond " />
<person posts="1" size="55" who="Shane Wegner " />
<person posts="1" size="27" who="Ed Millard " />
<person posts="1" size="22" who="Matthias Mueller " />
<person posts="1" size="20" who="Branden Robinson " />
<person posts="1" size="19" who="Simon Vogl " />
<person posts="1" size="19" who="Rahul Sinha " />
<person posts="1" size="19" who="Andrew McMillan " />
<person posts="1" size="17" who="Andi Kleen " />
<person posts="1" size="17" who="Carlos Morgado " />
<person posts="1" size="14" who=" (Grendel)" />
<person posts="1" size="14" who="Matthew Lake " />
<person posts="1" size="11" who="Gadi Oxman " />
<person posts="1" size="11" who="Masato Taruishi " />
<person posts="1" size="10" who="Jonathan Stoneman " />
<person posts="1" size="9" who="David Schleef " />
<person posts="1" size="9" who="THE INFAMOUS " />
<person posts="1" size="9" who="Phillips, Mike " />
<person posts="1" size="9" who="Paul Elliott " />
<person posts="1" size="8" who="Folkert van Heusden " />
<person posts="1" size="8" who="Florin Andrei " />
<person posts="1" size="8" who="Rajeev V. Pillai " />
<person posts="1" size="7" who="" />
<person posts="1" size="7" who="Ulrich Windl " />
<person posts="1" size="7" who="Roman V. Shaposhnick " />
<person posts="1" size="7" who="Dilip Daya " />
<person posts="1" size="6" who="Keonsoon Hwang " />
<person posts="1" size="6" who="Bjarni R. Einarsson " />
<person posts="1" size="6" who="Wayne Scott " />
<person posts="1" size="6" who="Andrzej Krzysztofowicz " />
<person posts="1" size="6" who="David E. Weekly " />
<person posts="1" size="6" who="Lyle Bickley " />
<person posts="1" size="6" who="Tony Scholes " />
<person posts="1" size="5" who="Lutz Vieweg " />
<person posts="1" size="5" who="Hausheer, Geoffrey " />
<person posts="1" size="5" who="Nate Eldredge " />
<person posts="1" size="5" who="Jorge Nerin " />
<person posts="1" size="5" who="Edward Betts " />
<person posts="1" size="5" who="Jean Tourrilhes " />
<person posts="1" size="5" who=" (Bob_Tracy)" />
<person posts="1" size="5" who="Juan J. Quintela " />
<person posts="1" size="5" who="Maurice Hilarius " />
<person posts="1" size="5" who="Jonathan Walther " />
<person posts="1" size="5" who="Rick Bressler " />
<person posts="1" size="5" who="watermodem " />
<person posts="1" size="5" who="Russell Coker " />
<person posts="1" size="5" who="Florian Lohoff " />
<person posts="1" size="5" who="Martijn van Oosterhout " />
<person posts="1" size="5" who="Alan Modra " />
<person posts="1" size="5" who="Jeff V. Merkey " />
<person posts="1" size="5" who="Erik Troan " />
<person posts="1" size="5" who="Tim Walberg " />
<person posts="1" size="5" who="Jesse Pollard " />
<person posts="1" size="5" who=" (Scott Lurndal)" />
<person posts="1" size="4" who="Scott Lampert " />
<person posts="1" size="4" who="Benno Senoner " />
<person posts="1" size="4" who="Brad Douglas " />
<person posts="1" size="4" who="Anton Altaparmakov " />
<person posts="1" size="4" who="Karim Yaghmour " />
<person posts="1" size="4" who="=?ISO-8859-1?Q? =C8=B2=B0=C7=BC=F8 ?= " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Thorsten Kranzkowski " />
<person posts="1" size="4" who="Jeff McNeil " />
<person posts="1" size="4" who="Stefan Traby " />
<person posts="1" size="4" who="Stephen Marz " />
<person posts="1" size="4" who="Kai Makisara " />
<person posts="1" size="4" who="Michel Catudal " />
<person posts="1" size="4" who="Remco Nonhebel " />
<person posts="1" size="4" who="Victor Zandy " />
<person posts="1" size="4" who="Ladislav Dobias " />
<person posts="1" size="4" who="Balazs Scheidler " />
<person posts="1" size="4" who=" ()" />
<person posts="1" size="4" who="Peter Steiner " />
<person posts="1" size="4" who="Rik Faith " />
<person posts="1" size="4" who="Rogerio Brito " />
<person posts="1" size="4" who="Marcus Sundberg " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Bo Branten " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Richard Adams " />
<person posts="1" size="4" who=" (Nick Holloway)" />
<person posts="1" size="4" who=" (Eric W. Biederman)" />
<person posts="1" size="4" who="Ted Kline " />
<person posts="1" size="4" who="Thierry Mallard " />
<person posts="1" size="4" who="Tigran Aivazian " />
<person posts="1" size="4" who="Ed Tomlinson " />
<person posts="1" size="4" who="Pawel Stolowski " />
<person posts="1" size="4" who="Marecandja " />
<person posts="1" size="4" who="Eran Mann " />
<person posts="1" size="4" who="Brian Hall " />
<person posts="1" size="4" who="Thierry Vignaud " />
<person posts="1" size="4" who="Ivan Kokshaysky " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Tomasz Motylewski " />
<person posts="1" size="4" who="Neil Brown " />
<person posts="1" size="4" who=" (Eugene Crosser)" />
<person posts="1" size="4" who="Jeremy Katz " />
<person posts="1" size="4" who="Brian Pruss " />
<person posts="1" size="3" who="Tony den Haan " />
<person posts="1" size="3" who="Diego Liziero " />
<person posts="1" size="3" who="Chng Tiak-Jung " />
<person posts="1" size="3" who="Christophe Merlet (RedFox) " />
<person posts="1" size="3" who="Kernel Kosh " />
<person posts="1" size="3" who="Jan Gyselinck " />
<person posts="1" size="3" who="Eric Youngdale " />
<person posts="1" size="3" who="Kissandrakis Giorgos " />
<person posts="1" size="3" who="Ingo Buescher " />
<person posts="1" size="3" who="David Odin " />
<person posts="1" size="3" who="Paul Jakma " />
<person posts="1" size="3" who="nick " />
<person posts="1" size="3" who="William J. Earl " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Jim Roland " />
<person posts="1" size="3" who="Greg Haerr " />
<person posts="1" size="3" who="Juanjo Ciarlante " />
<person posts="1" size="3" who="Christopher A. Gantz " />
<person posts="1" size="3" who="Andrew Schaefer " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Anton Ivanov " />
<person posts="1" size="3" who="Andrew Park " />
<person posts="1" size="3" who="david sims " />
<person posts="1" size="3" who="David Whysong " />
<person posts="1" size="3" who="Marcello Di Pietro " />
<person posts="1" size="3" who="Stefan Becker " />
<person posts="1" size="3" who="Jasper Spaans " />
<person posts="1" size="3" who="Karsten Keil " />
<person posts="1" size="3" who="Andreas Dilger " />
<person posts="1" size="3" who="Peter Chubb " />
<person posts="1" size="3" who="Joe " />
<person posts="1" size="3" who="Ralf Baechle " />
<person posts="1" size="3" who=" (Ton Hospel)" />
<person posts="1" size="3" who="Lee Mitchell " />
<person posts="1" size="3" who="Otto E Solares " />
<person posts="1" size="3" who="B.S.Manoj " />
<person posts="1" size="3" who="Oliver Neukum " />
<person posts="1" size="3" who="CaT " />
<person posts="1" size="3" who="Jean-Marc Pigeon " />
<person posts="1" size="3" who="Michael Rozhavsky " />
<person posts="1" size="3" who="Mitchell Blank Jr " />
<person posts="1" size="3" who="Mark H. Wood " />
<person posts="1" size="3" who="Harold Oga " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Chan Shih-Ping " />
<person posts="1" size="3" who="Ian Stirling " />
<person posts="1" size="3" who="Christian Czezatke " />
<person posts="1" size="3" who="Michael Bacarella " />
<person posts="1" size="3" who="andy barlak " />
<person posts="1" size="3" who="Marco Mariani " />
<person posts="1" size="3" who="Allen Brown " />
<person posts="1" size="3" who="Davide Libenzi " />
<person posts="1" size="3" who="Richard Torkar " />
<person posts="1" size="3" who="Dave Mielke " />
<person posts="1" size="3" who="Brandon S. Allbery KF8NH " />
<person posts="1" size="3" who="Walter Zimmer " />
<person posts="1" size="3" who="Steven N. Hirsch " />
<person posts="1" size="3" who="Ari Pollak " />
<person posts="1" size="3" who="=?ISO-8859-1?Q?Pasi_K=E4rkk=E4inen?= " />
<person posts="1" size="3" who="Oystein Viggen " />
<person posts="1" size="3" who="Arjan van de Ven " />
<person posts="1" size="3" who="Matthew Dietrich " />
<person posts="1" size="3" who="Andreas Tobler " />
<person posts="1" size="3" who="Jeff Long " />
<person posts="1" size="3" who="john " />
<person posts="1" size="3" who="Robert Cohen " />
<person posts="1" size="3" who="Marty Leisner " />
<person posts="1" size="3" who="Will Sergent " />
<person posts="1" size="3" who="Petr Sebor " />
<person posts="1" size="3" who="Werner Almesberger " />
<person posts="1" size="3" who="Bob Hilliard " />
<person posts="1" size="3" who="Philipp Rumpf " />
<person posts="1" size="3" who="Alexander Koch " />
<person posts="1" size="3" who="Petr Sebor " />
<person posts="1" size="3" who="lars brinkhoff " />
<person posts="1" size="3" who="Ziad Sayegh " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Geoffrey Wossum " />
<person posts="1" size="3" who="Vojtech Pavlik " />
<person posts="1" size="3" who="Doug Ledford " />
<person posts="1" size="3" who="fooler " />
<person posts="1" size="3" who="Vince Weaver " />
<person posts="1" size="3" who="Alan Modra " />
<person posts="1" size="3" who="Brian Pomerantz " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Brad Douglas " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Ben Laurie " />
<person posts="1" size="3" who="Koroush Saraf " />
<person posts="1" size="3" who="Mike Touloumtzis " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Chris Bennett " />
<person posts="1" size="3" who="Jonathan Brauer " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Rikard Westlund " />
<person posts="1" size="3" who="Paul Vojta " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Christian T. Steigies " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Shail Bains " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Donald Ian Wilson " />
<person posts="1" size="3" who="Fomichyov Mikhail " />
<person posts="1" size="3" who="yuedong " />
<person posts="1" size="3" who="Daniel Podlejski " />
<person posts="1" size="3" who="Taisuke Yamada " />
<person posts="1" size="2" who="Facundo Arena " />
<person posts="1" size="2" who="Frank Bernard " />
<person posts="1" size="2" who="Christopher Allen Wing " />
<person posts="1" size="2" who="Kent Whitten " />
<person posts="1" size="2" who="Saxena, Deepak " />
<person posts="1" size="2" who="eric chacron " />
<person posts="1" size="2" who="Jonathan Day " />
<person posts="1" size="2" who="Nasser Abbasi " />
<person posts="1" size="2" who="Mike Cole " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Boris Okun " />
<person posts="1" size="2" who="Nicolas Pitre " />
<person posts="1" size="2" who="kiran keshava " />
<person posts="1" size="2" who="=?ISO-8859-1?Q?Pawe=B3?= Krawczyk " />
<person posts="1" size="2" who="Ove Ewerlid " />
<person posts="1" size="2" who="Romano Giannetti " />
<person posts="1" size="2" who="David Wragg " />
<person posts="1" size="2" who="Rui Sousa " />
<person posts="1" size="2" who="The Lost Wizard " />
<person posts="1" size="2" who="A V Naga Muni Reddy " />
<person posts="1" size="2" who="Tony den Haan " />
<person posts="1" size="2" who="Joshua Uziel " />
<person posts="1" size="2" who="James A. Treacy " />
<person posts="1" size="2" who="Igor Mozetic " />
<person posts="1" size="2" who="Daniel Lucq " />
<person posts="1" size="2" who="Dave Airlie " />
<person posts="1" size="2" who="Mitch Adair " />
<person posts="1" size="2" who="Spencer White " />
<person posts="1" size="2" who="Towers, Tim (London) " />
<person posts="1" size="2" who="Homer Wilson Smith " />
<person posts="1" size="2" who="Matthew Dharm " />
<person posts="1" size="2" who="Alexander Viro " />
<person posts="1" size="2" who="Martin Costabel " />
<person posts="1" size="2" who="Jeffrey Fielding " />
<person posts="1" size="2" who="Yann Doussot " />
<person posts="1" size="2" who="John LeMay " />
<person posts="1" size="2" who="Stephen Frost " />
<person posts="1" size="2" who="Michael Meskes " />
<person posts="1" size="2" who="Jason Gunthorpe " />
<person posts="1" size="2" who="Tony Hoyle " />
<person posts="1" size="2" who="Dale Harris " />
<person posts="1" size="2" who="Jean-Christian de Rivaz " />
<person posts="1" size="2" who="Tom Rini " />
<person posts="1" size="2" who="Alessandro Suardi " />
<person posts="1" size="2" who="Ivan Passos " />
<person posts="1" size="2" who="Leos Bitto " />
<person posts="1" size="2" who="Alex Buell " />
<person posts="1" size="2" who="Jurgen Botz " />
<person posts="1" size="2" who="Ron Flory " />
<person posts="1" size="2" who="=?iso-8859-1?Q?Baumgartner_J=FCrg_=28RAD=29?= " />
<person posts="1" size="2" who="Adam Heath " />
<person posts="1" size="2" who="Andy Henroid " />
<person posts="1" size="2" who="Sandy Harris " />
<person posts="1" size="2" who="=?ISO-8859-1?Q? =BF=C0=B0=E6=C1=D6 ?= " />
<person posts="1" size="2" who="Giacomo Amabile Catenazzi " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="liuxgmail " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Joerg Stroettchen " />
<person posts="1" size="2" who="Mike Galbraith " />
<person posts="1" size="2" who="Billy Harvey " />
<person posts="1" size="2" who="Seth Aaron Nickell " />
<person posts="1" size="2" who="Hayden James " />
<person posts="1" size="2" who="Peltzer, Matthew " />

</stats>

<section
  title="Alan Nears 2.2.16"
  subject="Linux 2.2.15pre14"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg00319.html"
  posts="16"
  startdate="10 Mar 2000 00:00:00 -0800"
  enddate="20 Mar 2000 00:00:00 -0800"
>
<topic>FS: ext2</topic>
<topic>I2O</topic>
<topic>Ioctls</topic>
<topic>Kernel Release Announcement</topic>

<mention>Frank van Maarseveen</mention>
<mention>Doug Ledford</mention>
<mention>Arjan van de Ven</mention>
<mention>Rogier Wolff</mention>
<mention>Deepak Saxena</mention>
<mention>Mitchell Blank Jr</mention>
<mention>Christoph Rohland</mention>
<mention>Paul Vojta</mention>
<mention>Dave Jones</mention>

<p>Alan Cox announced 2.2.15pre14, and said, <quote who="Alan Cox">Ok
everyone promptly found lots of bugs. The good thing is almost all of these
are small but long standing issues, so we are starting to really shake out
the obscure bugs the bigger ones masked. The megaraid issue is a work in
progress. The folks who matter are working on it. The 1.04 driver is far
slower. If you want to run 1.07 it appears good advice is to flash the most
recent firmware.</quote></p>

<p>He posted his changelog:</p>

<quote who="Alan Cox">

<table border="1">
<th>Change</th><th>Author</th>
<tr><td>Revert megaraid driver to 1.04 due to apparent corruption problems
some firmware shows. This is a temporary state of affairs I hope, once
Dell/AMI have a handle on which firmware and how to either fix it or refuse
to boot on those firmwares then we can go back.</td><td>         (me)</td></tr>

<tr><td>Acard scsi shared IRQ fix (hopefully) Folks with Acard stuff please
test this one hard</td><td>                                      (Acard, ported into newer driver by
                                                                 me)</td></tr>

<tr><td>Fix assorted network driver ioctl checks</td><td>        (Mitchell Blank Jr)</td></tr>

<tr><td>Two small updates to the telephony API needed by other vendors</td><td>   (me)</td></tr>

<tr><td>Fix bit masking error on IO port in I2O</td><td>         (Deepak Saxena)</td></tr>

<tr><td>Work around spitfire errata 32 and 54 on Ultrasparc</td><td>       (Dave Miller)</td></tr>

<tr><td>Work around Sparcstation 5 Swift MMU</td><td>            (Dave Miller)</td></tr>

<tr><td>Fix SunQE problem with 32bit sparc</td><td>              (Dave Miller)</td></tr>

<tr><td>Fix breakage of ISA support in SX driver and add EISA
support</td><td>                                                 (Rogier Wolff)</td></tr>

<tr><td>Arlan fixes (but not 4500 for 2.2.15)</td><td>           (Elmer Joandi)</td></tr>

<tr><td>Fix EXPERIMENTAL checking in 2.2.15pre</td><td>          (Paul Vojta)</td></tr>

<tr><td>Update AIC7xxx driver to rev 5.1.28</td><td>             (Doug Ledford)</td></tr>

<tr><td>Simple (ie not strictly correct) fix for the cisco 3600 syncppp
problem [Proper fix for 2.2.16 I think]</td><td>                 (Madarasz Gergely)</td></tr>

<tr><td>Zero the sin_zero part of sockaddr_in</td><td>           (Frank van Maarseveen)</td></tr>

<tr><td>Correct erase handling in 16 colour text</td><td>        (Jon Mitchell)</td></tr>

<tr><td>Fix typo in videodev.h</td><td>                          (fjolliton)</td></tr>

<tr><td>Another small ultrasparc errata fix</td><td>             (Dave Miller)</td></tr>

<tr><td>Semaphore deadlock fix</td><td>                          (Christoph Rohland)</td></tr>

<tr><td>Further SX fixes</td><td>                                (Rogier Wolff)</td></tr>

<tr><td>SKTR driver fixes</td><td>                               (Christoph Goos)</td></tr>

<tr><td>Further small 3ware fix</td><td>                         (Adam Radford)</td></tr>

<tr><td>Up the default number of module loadable scsi disks to 16</td><td> (me)</td></tr>

<tr><td>Wan config typo fix</td><td>                             (Dave Jones)</td></tr>

<tr><td>Sparc blackbird errata fixes</td><td>                    (Dave Miller)</td></tr>

<tr><td>Wanpipe needs inet</td><td>                              (Arjan van de Ven)</td></tr>

<tr><td>Revert cursor/bh lock patch (breaks Alpha)</td><td>      (me)</td></tr>

<tr><td>Fix ext2 dir race</td><td>                               (Al Viro)</td></tr>

</table>

</quote>

<p>Rik van Riel pointed out:</p>

<quote who="Rik van Riel">

<p>OOM testing people keep complaining to me that
their klogd dies in 2.2.15pre13 (where my code got backed out).</p>

<p>Do you have plans of integrating OOM handling code or is my time better
spent hacking other things?</p>

</quote>

<p>Alan replied, <quote who="Alan Cox">I plan to drop it back in at some point.
I didnt want to flip something core like that while adding tons of small
driver fixes</quote> and Rik replied, <quote who="Rik van Riel">OK, I'll try
to integrate some of Andrea's code and my code when I come back from Spain.
Good to hear that some solution is at least being considered for
2.2.</quote></p>

</section>

<section
  title="Linus On The Verge Of pre-2.4; Status Of reiserfs"
  subject="Linux-2.3.51, and the pre-2.4 series.."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg00460.html"
  posts="163"
  startdate="10 Mar 2000 00:00:00 -0800"
  enddate="17 Mar 2000 00:00:00 -0800"
>
<topic>FS: NFS</topic>
<topic>FS: ReiserFS</topic>
<topic>FS: XFS</topic>
<topic>FS: ext2</topic>
<topic>I2O</topic>
<topic>Kernel Release Announcement</topic>
<topic>Modems</topic>
<topic>Networking</topic>
<topic>POSIX</topic>
<topic>SMP</topic>

<mention>Manfred Spraul</mention>
<mention>Stefan Traby</mention>
<mention>Andrea Arcangeli</mention>
<mention>Dominik Kubla</mention>

<p>Linus Torvalds announced Linux 2.3.51, saying:</p>

<quote who="Linus Torvalds">

<p>I just made a 2.3.51 release, and the next
kernel will be the first of the pre-2.4.x kernels. That does NOT mean that
I'll apply a lot of last-minute patches: it only means that I'll let 2.3.51
be out there over the weekend to hear about any embarrassing problems so
that we can start the pre-2.4 series without the truly stupid stuff.</p>

<p>There's some NFSv3 and other stuff pending, but those who have pending stuff
should all know who they are, and for the rest it's just time to say nice
try, see you in 2.5.x.</p>

<p>The pre-2.4.x series will probably go on for a while, but these are the "bug
fixes only" trees. These are also the "I hope a lot of people test them"
trees, because without testing we'll never get to the eventual goal, which
is a good and stable 2.4.x in the reasonably near future.</p>

</quote>

<p>Dominik Kubla replied that, at least on 2.3.50, his Xircom
Ethernet/Modem/ISDN cardbus system wouldn't work, and failed to allocate
resources for the ethernet. He posted some kernel messages, one of which was
"<code>kernel: cs: socket 0 timed out during reset</code>", and Linus
replied that that particular error message was probably fixed in 2.3.51; he
added that the other stuff Dominik mentioned might be unrelated, but at
least the socket 0 message appreared to be gone. He explained, <quote
who="Linus Torvalds">It's due to the TI cardbus controllers not correctly
sensing the power of the inserted card, so the higher level layers will try
to apply 5V power and it goes to hell from there. I added code in 2.3.51 to
notice when the power sense is wrong and force a new VS sense event.</quote>
Dominik replied that 2.3.51 did indeed get rid of the message, though the
system still wouldn't work with that hardware combination. However, Stefan
Traby also replied to Linus, saying that on his HP Omnibook 4100, 2.3.51
didn't get rid of the message. There was no reply to him, but Richard Gooch
replied with consternation to Linus' explanation, asking, <quote
who="Richard Gooch">Argh! Does that mean 5V is being applied to 3V cards and
said 3V cards are being toasted?</quote> Linus replied:</p>

<quote who="Linus Torvalds">

<p>No. The controller has over-voltage protection,
so it just means that it won't work.</p>

<p>The problem is actually due to a unlucky interface between the low-level
slot driver and the card services layer: there's a flag that says "I'm a 3V
card", but there is NOT a flag that says "I'm a 5V card". So what happened
here is that</p>

<p>
<ul>

<li>the cardbus controller did not report any voltages at all.</li>

<li>the low-level driver thus did not set the 3V flag.</li>

<li>cardservices thought that "not 3V" == "5V"</li>

<li>it didn't work.</li>

</ul>
</p>

<p>The fix in 2.3.51 is for the low-level driver to notice that neither the 5V
nor the 3V flags were set, and if that happens it will try to force a
re-sense of the card.</p>

<p>I've seen this with the TI1225, and it does not happen with my Ricoh
controller in my Sony VAIO that I did most of the development on. So I think
it's actually a buglet in the TI core.</p>

</quote>

<p>Alan Cox replied to Linus' original announcement:</p>

<quote who="Alan Cox">

<p>You are more optimisic than me on time scales. I have
to agree that making 2.4pre the freeze and fix stuff makes sense. Its a
clear line.</p>

<p>I assume the raid stuff is in 'pending'?</p>

<p>From my side I'll push you 2.2.15pre and the remaining unmerged drivers
(COMX) this weekend. That makes sure 2.4pre is in sync with 2.2.15 fix ups.
I'll also update the jobs list</p>

<p>There is a big i2o block driver update pending from Intel. If its sane I'd
like to get it in, if its not sane then I need to get bits of it in fixed up
to handle geometry and other compatibility issues. This wont stray outside
drivers/i2o</p>

<p>Umm Apache 2.0, Xfree 4.0 and 2.4pre all in a week. This is going to make
the ftp archives suffer 8)</p>

</quote>

<p>Linus also replied to his own original announcement, quoting a private email
from Ivan Passos, in which Ivan announced, <quote who="Ivan Passos">I have a
new synchronous card driver which I haven't submitted yet to you because
there is still one issue to be cleared. If I don't get it on 2.3.x, does it
mean it won't get to the 2.4.x src tree?? This is a completely new driver.
You mention to "see you in 2.5.x" scared me... :)</quote></p>

<p>In his reply, Linus said:</p>

<quote who="Linus Torvalds">

<p>I can add it during 2.4.x - adding new drivers
is not a problem, the same way we have added new drivers to 2.2.x.</p>

<p>But at this point I'd prefer to not get it for the pre-2.4.x series, just to
make the patches smaller and hopefully bug-fixes only.</p>

<p>The only special case would be if somebody comes out with a driver that is
for something =SO= popular that I think everybody will want it in 2.4.0 and
not have to wait. I can't think of any such thing off-hand, but maybe a
softmodem driver would count for psychological reasons or something like
that.</p>

</quote>

<p>Pavel Machek replied peripherally, <quote who="Pavel Machek">FYI softmodem
driver for lucent modems is there, but it stays completely userspace,
because it is more convient that way. No, you can't do data transfers with
it. You can use it as telephony card, though. But v.34 is userspace thingie,
anyways.</quote></p>

<p>Artur Skawina had a problem actually booting 2.3.51; he reported, <quote
who="Artur Skawina">it just manages to launch init, but then i get a stream
of "respawning too fast, disabling for 5 minutes" and that's it.</quote>
Linus had a suggestion that didn't pan out, but Artur started to suspect
that 'bash' was actually the problem. He mentioned, <quote who="Artur
Skawina">turns out bash (ie the dynamic linker) gets killed with a SIGBUS,
after it maps a zero-length "/etc/ld.so.preload"</quote> and added, <quote
who="Artur Skawina">ahh, temporarily removing that file finally gives a
bootable system.</quote> Linus slapped himself on the forehead, and
exclaimed:</p>

<quote who="Linus Torvalds">

<p>Ahhah!</p>

<p>This is another change in 2.3.x behaviour: it is a POSIX requirement that I
don't particularly like, but there you have it. Any access past the last
page of a file should give a SIGBUS. Previous Linux behaviour was to just
map in a zero page.</p>

<p>I will leave the SIGBUS behaviour, andif this is the only program that
breaks due to new POSIX conformance, I will consider us very lucky indeed.</p>

<p>Finges crossed. If some other major package breaks we will probably have to
forget that particular conformance detail..</p>

</quote>

<p>And Jamie Lokier put in, <quote who="Jamie Lokier">Fortunately, reading any
byte of a zero length /etc/ld.so.preload (a text file) and expect to see a
zero looks like a blatant bug in the dynamic linker.</quote></p>

<p>But the reply to Linus' original announcement that spawned the most
discussion, came from Hans Reiser. He said:</p>

<quote who="Hans Reiser">

<p>We now have a working port of reiserfs for 2.3.49,
and I am not sure whether you consider us pending. Can reiserfs get in?
Putting us in as an experimental file system until we are accepted by the
community as known stable is just fine. Our 2.2 version seems to be accepted
by the users on our reiserfs mailing list as stable.</p>

<p>We'll port it to the new 2.3.51 starting immediately, the 2.3.49 version
will hit our webserver in a few hours.</p>

<p>Sorry we tweaked longer than we should have, and created inconvenience for
you.</p>

</quote>

<p>Chris Mason, in reply to this, posted a long announcement for the latest
reiserfs patch:</p>

<quote who="Chris Mason">

<p>ReiserFS for 2.3.49 is now available for testing,
comments, and review. You can get the code from:</p>

<p><a
href="ftp://ftp.devlinux.com/pub/namesys/2.3-beta/linux-2.3.49-reiserfs-3.6.1-patch.gz">ftp://ftp.devlinux.com/pub/namesys/2.3-beta/linux-2.3.49-reiserfs-3.6.1-patch.gz</a></p>

<p>This is beta code, and support for the disk format in our code for the 2.2.
kernel is turned off right now (more on that below).</p>

<p>We realize this isn't as useful as a 2.3.51 patch, which we are working on
right now. Looking through the VFS changes in 2.3.51, I don't anticipate
problems porting up, but I wanted to get this code out just in case. Look
for the 2.3.51 patch Sunday night, perhaps on Monday if things get really
ugly.</p>

<p>I've added a new call in the super_operations struct, called read_inode2.
This is a kludge to pass all 64 bits reiserfs_read_inode needs to find
something on disk. As I understand things, the VFS changes in progress to
make knfsd happy will allow us to get rid of the read_inode2 hack.</p>

<p>Big differences from our 2.2 code:</p>

<p>We've changed our stat data and the keys used to find objects in the tree.
We have code in place to support the old disk format, but we concentrated on
testing the new format first, so that compatibility code is disabled right
now.</p>

<p>You won't be able to mount a 2.2 formatted disk with this patch.  The new
format was designed around making old format support easy, we are committed
to providing it once we are convinced the new code is solid.</p>

<p>The horrible things we did to linux/fs/buffer.c have been removed.</p>

<p>64 bit file offsets, and disk format should be safe for use on alphas. The
alpha port is not finished, but it is at least possible now. If you are
interested in helping, please let us know.</p>

<p>page cache integration resulted in big changes in when we pack file tails.
Files with tails will be slower than they were in the 2.2 code, until we
make better use of the address space operations.</p>

<p>What still needs to be done:</p>

<p>2.3.51 port, more testing.</p>

<p>new format support ported back to 2.2.X kernels.  This comes after testing
the old format support in 2.3.X kernels, so it should take at least a month.</p>

<p>fsck needs to be ported into the new format, so does the resizer.</p>

<p>memory pressure hooks would be very useful.  We have a hard to reproduce
deadlock under very high swap load, where kswapd ends up waiting on the log
while trying to flush inodes to disk. I have a work around planned (all in
the journal code), it won't take long to code, but it will take a few days
to test right.</p>

<p>Code cleanup (esp. the journal API)</p>

<p>journal tuning code, including per filesystem journal sizes.  I've been
promising this forever. Now that our 2.3 changes are almost done, I can
finally think about adding it. The super has all the fields need to make
this happen already.</p>

<p>A few misc bug fixes from the 2.2.X code need to be ported in.</p>

<p>Again, this is beta code, please don't put data on it you care about
yet.</p>

</quote>

<p>Chris Evans replied, <quote who="Chris Evans">Thanks for the detailled post
on the status. One piece of information was missing though, which I think
might be of interest to readers of this list; how fast is this beast
;-)</quote> Hans replied at length:</p>

<quote who="Hans Reiser">

<p>We don't yet have a set of valid benchmarks.  I can
generally say that I don't have confidence in the benchmark performance of
this code, there are too many tweaks not yet done, and our goal for Monday
is a port to 2.3.51 that does not crash. I hope Linus will put this port in
as an experimental filesystem, and then a bit later we'll be able to tell
him the performance merits making it a more than experimental use FS.</p>

<p>We have some tail packing algorithms new to 2.3 that are worse in some
benchmarks than the 2.2 code. This will be fixed after more time for
tweaking (or going back to the old algorithms) passes.</p>

<p>It has long been an architectural weakness of ReiserFS that we allocate
block numbers to buffers as we need each buffer. We knew that we should cure
this by doing either pre-allocation of blocknrs as ext2 does (meaning
allocate many blocks at a time, and then keep them reserved for that file
until file close), or allocating block numbers on dirty buffer/page flush as
XFS does. It is for sure the case that our current practice of allocating
blocks as we need new buffers to write into is a bad architecture. Yura
wrote some pre-allocation code that improved our performance by as much as
4x in some benchmarks, but I discouraged it because I prefer allocate on
flush. This decision is hurting us at the moment. Pre-allocation is much
easier to code (and already written by Yura for an older version), allocate
on flush is the right answer long-term. Zam has been working on allocate on
flush for about 6 weeks, but it is not ready yet. I think we will have Yura
throw in his pre-allocation code until the allocate on flush code is
completed. I hypothesize (not enough data yet to consider it an observation)
that having good SMP in VFS makes writes more evenly interleaved using our
current block allocation bad architecture, and more evenly interleaved is
bad for performance.</p>

<p>There is also unfinished work to decrease the lock granularity throughout
reiserfs. We don't yet know how much effect that has, but it surely has
some.</p>

<p>So, in summary, 2.3.51 ~Monday, not sure how many days for pre-allocation
but not a lot. We really need that allocate on flush code and a few more
tweaks in various places before we can start smiling at our benchmarks and
taking weekends off again, but until then I hope we will at least be
admissible as an experimental FS. Everyone is working quite hard.</p>

</quote>

<p>Alexander Viro spoke up with some discomfort (and received several replies),
<quote who="Alexander Viro">Ahem. I really hate to say it, but I dearly hope
that it</quote> [inclusion in the main tree] <quote who="Alexander
Viro">will not happen right now. IMNSHO reiserfs in the official tree right
now is the worst thing one can do to VFS. If my opinion on that is of any
interest - please, don't do it.</quote></p>

<p>Chris M. asked for some clarification, and Alexander exploded with technical
criticisms, culminating in:</p>

<quote who="Alexander Viro">

<p>Please, start with removing the crud from your
code. It's the same picture all over the place. Excuse me, it's kinda hard
to consider the patch seriously when it's bloody obvious that nobody cared
to check what happened with VFS during the last two years unless the changes
broke compile. I _know_ that not all changes of rules were detectable that
way. And I wouldn't bet a dime that you got them right (especially since one
example of the contrary can be found two paragraphs above). It's not like
that was a 2.3-only thing - your code is incorrect for 2.2 since the
February/March 1999...</p>

<p>When this sort of crap will be cleaned up and code really audited and
_understood_ by your team - fine, there will be a point in talking about
this animal more seriously. Right now you are pushing the patch with large
chunks of code you've copied years ago and had not maintained since then.
Sorry, but it's not a good idea.</p>

</quote>

<p>Chris M. replied:</p>

<quote who="Chris Mason">

<p>Ok, yes, there are places like this, and clearly,
they need to go away. We are subscribed to fs-devel, and we are making a
real effort to stay more up to date on all the kernel changes (yes, we are
on fs-devel). We should have been fixing the problems you described earlier,
but it just didn't get done.</p>

<p>I'm sending a patch out in a few hours that will have bug fixes, and a port
to 2.3.51. It won't have the cleanup you describe, I'll start on that on
Monday.</p>

<p>Many thanks for you comments and review.</p>

</quote>

<p>Alan Cox also replied to Alexander's initial appraisal, with, <quote
who="Alan Cox">I'd like to see reiserfs merging done in 2.5.x as well not
2.4. People can merge reiserfs and test it with 2.4 happily and it gives
both the Reiserfs and the kernel folks time to make a better
product.</quote> Hans replied that a lot of people wanted a journalling
filesystem, and that their latest patch against 2.3.51 was surviving all
their in-house torture-tests. Alexander replied, <quote who="Alexander
Viro">Torture-tesing is no good against somebody who is hunting for races...
Get into sufficiently evil state of mind and try to go through the code.
Thinking "how could I exploit it". And yes, it requires understanding of
what kind of calls can be forced out of VFS. Really. Been there, done that,
found quite a few local DoSes and several root exploits. On ext2.</quote></p>

<p>Elsewhere, Hans said to Alexander:</p>

<quote who="Hans Reiser">

<p>Alexander, if you tell us what you want done when
making VFS changes we will do it for you. You don't need to take the
responsibility for working on reiserfs code you dislike if you don't want
it. Truly. You can go on using ext2 and telling all your friends to use
ext2, and when you change VFS just let us know.</p>

<p>On the other hand, I am very happy to get flames from you which are specific
in what they complain of. It is bedtime for me now, but I am cc'ing the
below to Vladimir and Alexei in Russia. It would be nice if you would frame
your remarks in the form of: you do A, B is the right thing, or A is bad
because of such and such, rather than you do A, you are clueless.</p>

<p>The first forms lead to a faster fix.  If fix is your objective.</p>

</quote>

<p>Chris M. replied to this:</p>

<quote who="Chris Mason">

<p>Hans, I think Alexander has told us exactly what he
wants done. He wants us to audit our entire VFS interface, and make sure
that we are dealing with boundary conditions, special cases, and normal
cases the same way the existing linux filesystems are. I don't think we need
a list from him of the broken segments, we should be able to find them on
our own. This is not an unreasonable request from him, and we should not
treat it as one.</p>

<p>Once we fix what we can find, we'll send the patch in again, and hopefully
the people on linux-kernel and fs-devel audit the code again. This is
exactly the kind of feedback I was hoping for, and it is
appreciated.</p>

</quote>

<p>Yury Yu. Rupasov did some tests and said he felt reiserfs was ready, but a
bunch of people came down on him for ignoring the real issue of the Virtual
Filesystem interface. Jamie explained patiently:</p>

<quote who="Jamie Lokier">

<p>Alex Viro's concerns are not about whether
reiserfs passes stress tests. They're about subtle, and not too subtle
deadlock, livelock and race conditions, and long term maintainability.</p>

<p>As soon as an fs goes into the kernel, even marked as "experimental", then
every time Alex modifies VFS he has to look at all the kernel filesystems
and verify that his VFS changes are valid. Sometimes this means he has to
change the filesystems themselves. Also Alex Viro is not the only person who
does this.</p>

<p>That can only be done if every fs in a single kernel release makes the same
set of assumptions about what to test, what locks are held for different
functions, when to call iput, dput, d_delete and d_move, whether to check
S_ISDIR etc.</p>

<p>Currently reiserfs does not make the same assumptions as the current kernel
filesystems. So it cannot be included even though it passes its own stress
tests: including reiserfs would create too much work for people modifying
and auditing VFS.</p>

<p>Sure you could keep a note with it saying "this filesystem is not maintained
in the kernel". But then there's no point including it in the kernel
tarball.</p>

</quote>

<p>Others replied more abruptly to Yury, and at one point Linus stepped in,
with:</p>

<quote who="Linus Torvalds">

<p>Now, now, don't be too harsh on the resierfs
guys.</p>

<p>Do we suddenly expect code to be bug-free before inclusion into the
kernel?</p>

<p>For rather obvious PR reasons I'd love to say "yes, we have a journalling
filesystem these days" as part of the 2.4.x release stuff, so it does fall
under the "drivers so cool that they might make it into 2.4.x". I don't
think I want to see the read_inode() changes, though, that's just too ugly.
I may like the PR angle of reiserfs, but that doesn't mean that I'd forget
about things like these completely.</p>

<p>But it looks to me as if the read_inode thing plus a few cleanups in
raiserfs to take into account that the VFS layer does more these days would
certainly make it a candidate for inclusion. Maybe not 2.4.0, but during
2.4.x. Don't be so down on the guys, there are people who really like
actively using raiserfs..</p>

</quote>

<p>Some folks said they didn't mean to sound hostile, and actually wanted the
project to be included, but they felt there were problems that needed to be
worked on. Hans also replied to Linus, saying he had put 2 coders full time
on the VFS fixes. Alexander also clarified the problems he felt should be
cleaned up:</p>

<quote who="Alexander Viro">

<p>OK, let me summarize my position on that:</p>

<p>
<ol>

<li>namespace-related methods _must_ be cleaned up. I definitely can just
rip the extra checks out of the thing, but there are questions about
correctness of said action. _If_ that was just the case of "replay all
global changes that happened during last two years" I would be certainly
PO'd but I would do it. However, some of those places do funny things with
checks for -&gt;i_count and friends. They may be harmless atavisms. They may
be actual bugs. And they may be band-aids that cover real problems 99% of
time. I don't want any responsibility for that stuff - analysis of reiserfs
wrt races will involve going through the guts of their code and that's about
200Kb of stuff to read. IMO that's work for the reiserfs authors.</li>

<li>some things are obvious bugs and should be fixed both in 2.2 and 2.3 -
e.g. d_move() in rename() is _wrong_ since 2.2.&lt;early&gt;.</li>

<li>having ~30Kb of unmaintained code in the patch is Bad Thing(tm). What
about the rest? Obviously journalling code _is_ maintained (at least I
_seriously_ hope that it is). Ditto for the allocation stuff, but here there
may be need to account for big lock changes. And I would be much happier if
somebody looked through -&gt;truncate() searching for races. Andrea?</li>

<li>could you please convert symlink.c to pagecache? BTW, that would kill
ugly REISERFS_KERNEL_MEM/REISERFS_USER_MEM stuff.</li>

<li>personally to Hans: please, _please_, lose references to Plan 9
namespaces in the documentation. Trust me, they are _NOT_ what you think
they are (at least according to what you had written). It wouldn't be
related to patch, but you are bringing the URL of that text into the tree.
I'm 100% serious - those references may be good for marketing, but they'll
make us a laughing stock for everyone who knows what Plan 9 namespaces are
about. Hint: namespaces are _not_ about "everything can be viewed as
filesystem". It's pure VFS thing and _nothing_ in your patch touches even
remotely related areas.</li>

</ol>
</p>

</quote>

<p>There followed an implementation discussion between him, Hans, Chris M.,
Matthew Dietrich, Manfred Spraul, and Andrea Arcangeli.</p>

</section>

<section
  title="Alan's Task List For 2.4: Saga Continues"
  subject="Running JOBS list."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg00469.html"
  posts="37"
  startdate="10 Mar 2000 00:00:00 -0800"
  enddate="18 Mar 2000 00:00:00 -0800"
>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>Disks: SCSI</topic>
<topic>FS: NFS</topic>
<topic>FS: NTFS</topic>
<topic>Framebuffer</topic>
<topic>I2O</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>
<topic>SMP</topic>
<topic>Virtual Memory</topic>

<mention>Arjan van de Ven</mention>
<mention>Stephen Frost</mention>
<mention>Ian Peters</mention>
<mention>Andrea Arcangeli</mention>
<mention>Daniel Kobras</mention>

<p>Alan Cox's task list was last covered in <kcref subject="Linux Status For
2.3.x: v 2.3.43" startdate="10 Feb 2000 00:00:00 -0800"></kcref><!-- kt20000228_56.html#3
-->. This time, Alan posted the latest version of his list of tasks to do
before 2.4; but he acknowledged that it might have gotten a little out of
date since he was busy with other stuff. He invited corrections, and listed:</p>

<quote who="Alan Cox">

<p>
<ol>

                           <li><b>In Progress</b></li>

<p>
<ol>

<li>Merge the network fixes  (DaveM)</li>

<li>Merge 2.2.13/14 changes  (Alan, all done barring COMX and Sk98)</li>

<li>Get RAID 0.90 in         (Ingo)</li>

</ol>
</p>

                    <li><b>Fix Exists But Isnt Merged</b></li>

<p>
<ol>

<li>Signals leak kernel memory (security)   [JJ has fixes]</li>

<li>msync fails on NFS                      [Wrong return]</li>

<li>Semaphore races</li>

<li>Sempahore memory leak</li>

<li>Exploitable leak in file locking        [Lock limit needed]</li>

</ol>
</p>

                              <li><b>To Do</b></li>

<p>
<ol>

<li>Restore O_SYNC functionality</li>

<li>Fix eth= command line</li>

<li>vmalloc(GFP_DMA) is needed for DMA drivers</li>

<li>VM needs rebalancing</li>

<li>Fix SPX socket code</li>

<li>put_user appears to be broken for i386 machines</li>

<li>Fix module remove race bug</li>

<li>Test other file systems on write</li>

<li>Directory race fix for UFS</li>

<li>Audit all char and block drivers to ensure they are safe with the 2.3
        locking - a lot of them are not especially on the open() path.</li>

<li>Stick lock_kernel() calls around driver with issues to hard to fix
        nicely for 2.4 itself</li>

</ol>
</p>

                    <li><b>To Do But Non Showstopper</b></li>

<p>
<ol>

<li>Make syncppp use new ppp code</li>

<li>Finish 64bit vfs merges (lockf64 and friends missing)</li>

<li>NCR5380 isnt smp safe</li>

<li>DMFE is not SMP safe</li>

<li>ACPI hangs on boot for some systems</li>

<li>Get the Emu10K merged</li>

<li>Finish I2O merge</li>

<li>Go through as 2.4pre kicks in and figure what we should mark obsolete
        for the final 2.4</li>

<li>Per Process rtsigio limit</li>

</ol>
</p>

                        <li><b>Probably Post 2.4</b></li>

<p>
<ol>

<li>per super block write_super needs an async flag</li>

<li>addres_space needs a VM pressure/flush callback</li>

<li>per file_op rw_kiovec</li>

<li>enhanced disk statistics</li>

</ol>
</p>

                             <li><b>To Check</b></li>

<p>
<ol>

<li>Truncate races (Debian apt shows it nicely) [done ?]</li>

<li>Elevator and block handling queue change errors are all sorted</li>

<li>Check O_APPEND atomicity bug fixing is complete</li>

<li>Incredibly slow loopback tcp bug</li>

<li>Finish softnet driver port over and cleanups</li>

<li>Page cache high on PAE36 boxes is very slow, maybe disable ?</li>

<li>Protection on isize  (sct)</li>

<li>Mikulas claims we need to fix the getblk/mark_buffer_uptodate thing for
2.3.x as well</li>

<li>Fbcon races</li>

<li>Fix all remaining PCI code to use new resources and enable_Device</li>

<li>VFS?VM - mmap/write deadlock</li>

<li>initrd is bust</li>

<li>rw sempahores on page faults (mmap_sem)</li>

<li>kiobuf seperate lock functions/bounce/page_address fixes</li>

<li>Fix routing by fwmark</li>

<li>Some FB drivers check the A000 area and find it busy then bomb out</li>

<li>NTFS needs updating/binning or something</li>

<li>rw semaphores on inodes to fix read/truncate races ?</li>

<li>Not all device drivers are safe now the write inode lock isnt taken on
write</li>

<li>File locking needs checking for races</li>

<li>Multiwrite IDE breaks on a disk error</li>

<li>AFFS doesn't work on current page cache</li>

</ol>
</p>

</ol>
</p>

</quote>

<p>Ian Peters replied that as far as he knew, Andrea Arcangeli took care of
item 6.1 (Truncate races (Debian apt shows it nicely) [done ?] ) as of
2.3.48; there was no reply.</p>

<p>James Hayden asked why the Pentium III optimizations were not on Alan's task
list, and Alan replied, <quote who="Alan Cox">Fair question. Actually the
evidence is that the optimisations are not a win but that the kernel support
for user usage would be. I'll tack it onto the list.</quote> Jes Sorensen
replied, <quote who="Jes Sorensen">I saw significant performanceincreases on
Gigabit Ethernet when I played with the patches back in 2.3.10, but it's
been a while, I don't know if they still make such a big difference.</quote></p>

<p>Daniel Kobras asked if netfilter had been merged yet, and added that he felt
it should definitely be on the task list, given its importance. Stephen
Frost replied that it was partially merged, and that David S. Miller was
working on it as part of David's work on item 1.1 (Merge the network fixes
(DaveM)); David, also in reply to Daniel, said:</p>

<quote who="David S. Miller">

<p>Actually, all of the core netfilter support is
merged.</p>

<p>The only thing left are the modules themselves, and that should be as simple
as adding a new driver so in theory it could even occur during 2.4.x if
needed.</p>

</quote>

<p>Elsewhere, Giacomo Amabile Catenazzi suggested that better documentation
should be on Alan's task list as well. Jens Benecke replied sorrowfully,
<quote who="Jens Benecke">Yes. That is one of the main problems I have when
trying to get some exotic module loaded. For most of the time, I know the
parameters by now - but sometimes (e.g. NCR400a SCSI, which I never got to
run properly) I had to wade through the source - a real PITback.</quote>
[...] <quote who="Jens Benecke">I think the current situation (README's
scattered through the source tree) is inacceptable for many people. Having
to actually compile your own kernel is a seldom task with todays' distros,
so browsing the source itself does not even occur to many people when
looking for driver information.</quote> Several people suggested moving the
READMEs into subdirectories of /usr/src/linux/Documentation, and Arjan van
de Ven suggested following Alan's lead, and standardizing on 'gdoc', which
Alan had been using to document the networking code.</p>

<p>Alexander Viro replied to several items in Alan's task list. To item 3.7
(Fix module remove race bug), he explained, <quote who="Alexander
Viro">Infrastructure is in place now and I'm going through the rest of
fs-related stuff. Then it will be a lot of mess with drivers/ldiscs/protocol
families.</quote> To item 6.1 (Truncate races (Debian apt shows it nicely)
[done ?]), he replied, <quote who="Alexander Viro">99% done. Remaining 1% is
the i_size handling in CODA. We have almost everything to do it now - it's
on the list.</quote> To item 6.7 (Protection on isize (sct) ), he replied,
<quote who="Alexander Viro">It's mostly done now. If Stephen is going to
return to that stuff - fine, but then we'ld better go through the code
together - I've tweaked it a lot and will touch it one more time.</quote> To
item 6.17 (NTFS needs updating/binning or something), he felt that this was
already fixed, though he added that he'd recheck it himself. But he added,
<quote who="Alexander Viro">NTFS is unmaintained and I'ld just bitbucket the
current variant (sharing codebase between the kernel and userland library is
*WHAM* bad*WHAM* idea *WHACK* *SPLASH*).</quote></p>

<p>To item 6.9 (Fbcon races ), James Simmons explained:</p>

<quote who="James Simmons">

<p>I didn't finish the fbdev API changes. Its better
but not perfect. You will see. I sent a patch to Geert to look over before
he sends it to linus that updates vfb.c to show how a 2.4.X driver should be
written. As for races. Its still not really multihead friendly. Neither is
the console code as several of us with multihead system discover. SMP and
multihead and console system don't mix :( The con2fb mapping is just a mess.
Things like fbcon=map:0110 bombs if you don't have a second video card.
Their is no way to fix this. Its a chicken and egg problem. fbcon_setup is
called before fbmem_init so you can't do any sanity checking. The con2fb
mapping stuff is just pure crap. Its just a pure hack to get multihead
somewhat working. I hate it and can't wait to see it removed in 2.5.X.</p>

<p>The second problem is vgacon and fbcon. Until this last kernel you can boot
vgacon and then inmod a fbdev driver and then fbcon would take over. Now the
problem is most video card when they go from VGA mode to a non VGA mode can
NOT go back to VGA mode. So if you go to rmmod the fbdev driver you are
fubar. I just made a patch that changes the config.in files to have it so
you either have to choose fbcon or vgacon. Its one or the other. This brings
me to another question. Can prom console run at the same time as the
framebuffers on a sparc station ? Same for some of the SGI stations. Can a
newport console also run at the same time as a framebuffer console. This way
my patch can ensure you can select between fbcon or some other console
type.</p>

</quote>

<p>And to the related item 6.16 (Some FB drivers check the A000 area and find
it busy then bomb out), he went on, <quote who="James Simmons">I know
cirrus, dnfb, and vga16. I can see vga16 since this is really for a isa
card. vga16 should be called last since many cards start in VGA mode program
a few registers then switch to MMIO thus freeing this region. Its then safe
for the next card to do this. As for cirrus and dnfb. I don't have the docs
for these cards but I assume it should be possible to switch to MMIO mode
for these cards.</quote></p>

</section>

<section
  title="More Of Alan's Task List For 2.4: Saga Continues"
  subject="Linux Jobs: Update"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg00780.html"
  posts="78"
  startdate="12 Mar 2000 00:00:00 -0800"
  enddate="18 Mar 2000 00:00:00 -0800"
>
<topic>BSD: FreeBSD</topic>
<topic>Compression</topic>
<topic>Disk Arrays: RAID</topic>
<topic>Disks: IDE</topic>
<topic>FS: Coda</topic>
<topic>FS: NFS</topic>
<topic>FS: NTFS</topic>
<topic>FS: UMSDOS</topic>
<topic>I2O</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>Power Management: ACPI</topic>
<topic>SMP</topic>
<topic>Sound: SoundBlaster</topic>
<topic>Virtual Memory</topic>
<topic>VisWS</topic>

<mention>Gerhard Mack</mention>
<mention>Wakko Warner</mention>
<mention>Steve Dodd</mention>
<mention>Jeff Garzik</mention>

<p>Alan posted his latest task list:</p>

<quote who="Alan Cox">

<p>
<ol>

<li><b>In Progress</b></li>

<p>
<ol>

<li>Merge the network fixes  (DaveM)</li>

<li>Merge 2.2.15 changes  (Alan)</li>

<li>Get RAID 0.90 in         (Ingo)</li>

</ol>
</p>

<li><b>Fix Exists But Isnt Merged</b></li>

<p>
<ol>

<li>Signals leak kernel memory (security)</li>

<li>msync fails on NFS</li>

<li>Semaphore races</li>

<li>Sempahore memory leak</li>

<li>Exploitable leak in file locking</li>

</ol>
</p>

<li><b>To Do</b></li>

<p>
<ol>

<li>Restore O_SYNC functionality</li>

<li>Fix eth= command line</li>

<li>vmalloc(GFP_DMA) is needed for DMA drivers</li>

<li>VM needs rebalancing</li>

<li>Fix SPX socket code</li>

<li>put_user appears to be broken for i386 machines</li>

<li>Fix module remove race bug</li>

<li>Test other file systems on write</li>

<li>Directory race fix for UFS</li>

<li>Audit all char and block drivers to ensure they are safe with the 2.3
locking - a lot of them are not especially on the open() path.</li>

<li>Stick lock_kernel() calls around driver with issues to hard to fix
nicely for 2.4 itself</li>

<li>PCMCIA/Cardbus hangs, IRQ problems, Keyboard/mouse problem (related ?)</li>

<li>Tulip hang on rmmod</li>

<li>Use PCI DMA by default in IDE is unsafe (must not do so on via VPx x&lt;3)</li>

<li>Use PCI DMA 'lost interrupt' problem with some hw [which ?]</li>

</ol>
</p>

<li><b>To Do But Non Showstopper</b></li>

<p>
<ol>

<li>Make syncppp use new ppp code</li>

<li>Finish 64bit vfs merges (lockf64 and friends missing)</li>

<li>NCR5380 isnt smp safe</li>

<li>DMFE is not SMP safe</li>

<li>ACPI hangs on boot for some systems</li>

<li>Get the Emu10K merged</li>

<li>Finish I2O merge</li>

<li>Go through as 2.4pre kicks in and figure what we should mark obsolete
for the final 2.4</li>

<li>Per Process rtsigio limit</li>

<li>Boot hangs on a range of Dell docking stations (Latitude)</li>

<li>Port SGI VisWS to 2.3.x or mark obsolete</li>

<li>S/390 Merge</li>

<li>HFS is still broken</li>

<li>iget abuse in knfsd</li>

<li>Mark NTFS as obsolete</li>

<li>via rhine oopses under load (softnet ?)</li>

<li>Symbol clashes and other mess from _three_ copies of zlib!</li>

<li>Paride seems to need fixes for the block changes yet</li>

<li>PIII FXSAVE/FXRESTORE support</li>

</ol>
</p>

<li><b>Compatibility Errors</b></li>

<p>
<ol>

<li>Shared memory changes change the API breaking applications (eg gimp)</li>

</ol>
</p>

<li><b>Probably Post 2.4</b></li>

<p>
<ol>

<li>per super block write_super needs an async flag</li>

<li>addres_space needs a VM pressure/flush callback</li>

<li>per file_op rw_kiovec</li>

<li>enhanced disk statistics</li>

<li>AFFS fixups</li>

<li>UMSDOS fixups resync</li>

</ol>
</p>

<li><b>To Check</b></li>

<p>
<ol>

<li>Truncate races (Debian apt shows it nicely) [done ? - all but Coda]</li>

<li>Elevator and block handling queue change errors are all sorted</li>

<li>Check O_APPEND atomicity bug fixing is complete</li>

<li>Incredibly slow loopback tcp bug</li>

<li>Make sure all drivers return 1 from their __setup functions</li>

<li>Finish softnet driver port over and cleanups</li>

<li>Page cache high on PAE36 boxes is very slow, maybe disable ?</li>

<li>Protection on isize  (sct) [Al Viro mostly done]</li>

<li>Mikulas claims we need to fix the getblk/mark_buffer_uptodate thing for
2.3.x as well</li>

<li>Network block device seems broken by block device changes</li>

<li>Fbcon races</li>

<li>Fix all remaining PCI code to use new resources and enable_Device</li>

<li>VFS?VM - mmap/write deadlock</li>

<li>initrd is bust</li>

<li>rw sempahores on page faults (mmap_sem)</li>

<li>kiobuf seperate lock functions/bounce/page_address fixes</li>

<li>Fix routing by fwmark</li>

<li>Some FB drivers check the A000 area and find it busy then bomb out</li>

<li>rw semaphores on inodes to fix read/truncate races ? [Probably fixed]</li>

<li>Not all device drivers are safe now the write inode lock isnt taken on
write</li>

<li>File locking needs checking for races</li>

<li>Multiwrite IDE breaks on a disk error</li>

<li>AFFS doesn't work on current page cache</li>

</ol>
</p>

</ol>
</p>

</quote>

<p>New in this list were items 3.12 through 3.15, 4.10 through 4.19, section 5
(compatibility errors), items 6.5 and 6.6, 7.5, and 7.10. Items that had
changed (not including changes of numbering) were items 1.2, 2.1, 2.2, 2.5,
7.1, 7.8, and 7.19. Item 7.17 (NTFS needs updating/binning or something)
from the previous list had migrated from the "To Check" section, to item
4.15 in the "To Do But Non Showstopper" section.</p>

<p>David S. Miller replied to item 1.1 (Merge the network fixes (DaveM)), with,
<quote who="David S. Miller">The only thing left are the netfilter modules
from Paul Russel, and I imagine I haven't seen that patch yet due to the AU
conference last week.</quote></p>

<p>David also replied to 7.4 (Incredibly slow loopback tcp bug), saying he
hadn't been aware of this bug, and asking for more information. Chris
Wedgwood replied that Linux's bw_pipe() function was apparently only half
the speed as FreeBSD's. After a bit of back and forth, David posted a patch
and reported, <quote who="David S. Miller">Ok, the difference is that
they</quote> [FreeBSD] <quote who="David S. Miller"> are doing half as many
memcpy's as us for large pipe writes. This should make Linux push bulk pipe
data as fast as FreeBSD. Give it a try, let me know how things look now
ok?</quote> Chris posted some benchmarks showing David's new version to be
25% faster than the FreeBSD version, and hollered, <quote who="Chris
Wedgwood">Freeeeooooowwww! I must say Dave, when I saw your patch I though
it would help but I didn't expect a better than 2x increase.
Impressive</quote></p>

<p>Wakko Warner objected to Alan's item 4.15 (Mark NTFS as obsolete), asking
what would replace NTFS in this case, since he had a dual Debian/NT system
and had to read between them. Jeff Garzik and Alan replied that any code
would be marked obsolete if it didn't have a maintainer. Steve Dodd
volunteered, not to maintain the code, but to maintain an "outstanding
issue" list on the web. Several people, in reply and elsewhere, reported
that the code seemed to work perfectly. Only Craig Whitmore found it to be
very buggy, although there was no follow-up discussion.</p>

<p>Gerhard Mack started a lengthy thread in reply to Alan's list, asking if
anyone had fixed autodetection of Sound Blaster cards. Alan replied that
autodetection had never existed to break. He added that there was, however,
plug-n-play detection. Gerard replied that with 2.3.48, the sound card's IO
address was apparently detected automatically, while in 2.3.51, it failed
and insisted that the IO port be specified beforehand. The only difference
between the two kernels was that one was compiled with 'make oldconfig'.
Mike A. Harris replied, <quote who="Mike A. Harris">I fixed this bug and
another in the soundblaster code a billion years ago back in 2.0.35. If I'm
not mistaken, Alan either accepted my patch or worked it into 2.0.36
manually.</quote> [...] <quote who="Mike A. Harris">I can hunt it down and
fix it again for 2.3.x if someone hasn't allready. It was a 2 liner for the
DMA/midi prob, and one line removed for the irq thing.. simple.</quote></p>

<p>Alan also replied to Gerhard, saying that Gerhard's 2.3.48 kernel had been
compiled with the needed values in, while the 2.3.51 hadn't, and had not had
them specified on the command line either. Gerhard took a look and saw that
Alan was in fact right, but he also saw that 'make menuconfig' for 2.3.51
was missing the entire sub-menu under Sound Blaster support, while 'make
menuconfig' for 2.3.48 had it. Kjartan Maraas replied that this change was
described in 'Configure.help': the information was now a command line
option, to be included in 'lilo.conf'. Bill Wendling let out a scream, and
yelled, <quote who="Bill Wendling">WHY?!?! This is horrid! No longer can I
simply reboot my machine but I have to use command line options?</quote> But
Victor Khimenko replied with some annoyance, <quote who="Victor
Khimenko">Argh. What's the screams all over the place ? You CAN NOT boot
Linux without command line option. I repeat. You CAN NOT boot Linux without
using command line option. Never was, never will. You MUST specify at least
one option: root=blah-blah-blah ... This option is not specifyed as
append=... in LiLo but, for example, in loadlin you must specify it
explicitly. And compiled defaults (where you need to RECOMPILE kernel just
to reflect changes in jumper settings) are kludges. Thus they were removed
(not all I afraid).</quote> And elsewhere, Stephen C. Tweedie put in, <quote
who="Stephen C. Tweedie">you either install the command line options via
lilo, or you use modules. Editing conf.modules once to set your sound module
parameters means that you don't have to worry about the state of the kernel
config files every time you build a new kernel.</quote></p>

</section>

<section
  title="Mounting 'shm' Someplace Other Than '/var/shm'"
  subject="2.3.51-52.pre1, shm and mounting somewhere else than /var/shm..."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg01040.html"
  posts="13"
  startdate="13 Mar 2000 00:00:00 -0800"
  enddate="15 Mar 2000 00:00:00 -0800"
>
<topic>FS: devfs</topic>
<topic>FS: sysfs</topic>

<mention>Petr Vandrovec</mention>
<mention>Werner Almesberger</mention>
<mention>Jeremy Katz</mention>

<p>Petr Vandrovec wanted to mount the System V Shared Memory module someplace
other than '/var/shm', such as '/shmfs', but found that it apparently
wouldn't work under that directory. Jurgen Botz recommended, 'echo /shmfs
&gt; /proc/sys/kernel/shmpath'; and Jeremy Katz pointed out that the
documentation specified '/proc/sys/kernel/shmpath' as the place to alter the
path if one wished. Werner Almesberger, H. Peter Anvin, and Albert D.
Cahalan asked why this was necessary; Albert posed the question:</p>

<quote who="Albert D. Cahalan">

<p>Documentation doesn't a feature make. It
seems odd that the kernel would not know where a filesystem is mounted. The
kernel, more than anything else, ought to be aware of filesystem mount
points.</p>

<p>BTW, /var/shm is a bad default. Stuff like this should be right on the root
because /var may be a separate filesystem that gets mounted after the system
already needs shared memory. (it would be even better to let this filesystem
hang loose, active but not part of the normal tree at all)</p>

</quote>

<p>Christoph Rohland, the author of the feature, replied that he'd originally
coded it to autodetect the mount point, but that this had turned out to be a
really ugly hack, and he'd removed it. He explained, <quote who="Christoph
Rohland">Unfortunately the fs does not get the mount point from anywhere.
The only function called by the VFS ist read_super, which does not get the
information. If you want to autodetect, you have to play tricks with dcache
and the path to your root inode.</quote> But he added, <quote who="Christoph
Rohland">I am very open to proposals for other mount point defaults. But
personally I really do not like any further root directory cluttering.
Another idea would be /dev/shm like /dev/pts but I wanted to avoid clashes
with devfs.</quote> H. Peter liked the idea of '/dev/shm', and explained,
<quote who="H. Peter Anvin">It should be possible to mount on top of devfs
just like any other filesystem, although devfs of course needs to make
the mount point appropriately. /dev in fact would probably be the correct
location these things, being a kernel interface. HOWEVER, sometimes avoiding
"root directory cluttering" seems to be a little too much of a goal in
itself. Sometimes adding items at the root is entirely appropriate.</quote></p>

</section>

<section
  title="IPv6, FreeS/WAN, And Crypto In 2.4"
  subject="Query: advanced routing"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg01125.html"
  posts="5"
  startdate="13 Mar 2000 00:00:00 -0800"
  enddate="14 Mar 2000 00:00:00 -0800"
>
<topic>Networking</topic>

<mention>Lars Marowsky-Bree</mention>

<p>Sandy Harris asked, <quote who="Sandy Harris">what about IPv6 and the
FreeS/WAN IPSEC code? Any plans to merge those into the mainstream?</quote>
H. Peter Anvin replied, <quote who="H. Peter Anvin">IPv6 still breaks with
regularity; however, it's just a stability issue. As far as FreeS/WAN is
concerned, with the new kernel.org policy it's just a matter of submitting
patches to Linus.</quote></p>

<p>Lars Marowsky-Bree asked if crypto support would make it into 2.4, or would
it have to wait until 2.5; H. Peter replied, <quote who="H. Peter Anvin">I
talked with Linus about this, and he says he thinks it can get merged into
2.4 assuming it is reasonably separate, but "probably not for
2.4.0."</quote></p>

</section>

<section
  title="Tulip Driver Developer Flame War"
  subject="2.3.51 tulip broken"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_02/msg01230.html"
  posts="71"
  startdate="13 Mar 2000 00:00:00 -0800"
  enddate="20 Mar 2000 00:00:00 -0800"
>
<topic>Backward Compatibility</topic>
<topic>Clustering: Beowulf</topic>
<topic>MAINTAINERS File</topic>
<topic>Networking</topic>
<topic>PCI</topic>
<topic>SMP</topic>

<p>In the course of argument, Donald Becker said to Jeff Garzik, <quote
who="Donald Becker">you didn't understand the task you were taking on when
you decided to take over maintaining the Ethernet drivers. It took years to
write the driver set -- it's something you can just pick up in a few months.
And expecting me to now fix or maintain your hacked up code branch is just
completely unreasonable.</quote> Jeff replied with venom:</p>

<quote who="Jeff Garzik">

<p>No one expects anything from you and has not for a
long time. If you wanted to actually WORK on the drivers, rather than just
complain, then I'm sure many people including myself would find that work
very valuable.</p>

<p>It is unarguable that you have more experience with these net drivers, but
when was the last time you submitted a patch to Linus? Two years ago? Three?
More?</p>

<p>I never claimed to be perfect but at least I am trying to fix some of the
the bit-rotten, UNMAINTAINED net driver code currently in the kernel.</p>

<p>Finally, only the Tulip and RTL-8139 drivers are maintained by me. It takes
a two-second grep of the MAINTAINERS file to discover this fact. Other
drivers are still unmaintained, except when I get spare time to hack on
them. (or when others send me patches for them)</p>

</quote>

<p>Elsewhere, Jeff went on, <quote who="Jeff Garzik">Donald, I, and others all
seem to agree that having his drivers and the kernel drivers diverge is a
poor situation. However, while Donald continues closed source development
with periodic code drops, and does not work with other kernel developers
when creating infrastructure, I do not see a resolution to the situation any
time soon.</quote> David Ford replied angrily, <quote who="David
Ford">Please explain how his code development is closed source? This is
totally BS and you know it. All the code is available, all the list
discussion is available, and patches and requests are accepted all the time.
Quit it. His development is quite open. Resolutions come when the mud stops
being thrown.</quote> Linus Torvalds replied:</p>

<quote who="Linus Torvalds">

<p>David, pipe down.</p>

<p>You seem to like the approach Donald has taken. But take it from me, it DOES
NOT WORK.</p>

<p>The problem is that maintaining the drivers in their own small universe
means that only those people who follow the driver development will ever
even test them. Which means that people for whom the old drivers are broken
are basically the only ones testing the new drivers - and when a new driver
is finally integrated into the base kernel it won't work for a lot of people
that had a perfectly working driver in the old version.</p>

<p>And don't even bother telling me it doesn't happen.  It happened to _me_
more than once. I decided that I should try to fetch Donalds latest and
greatest _despite_ the fact that he hadn't even bothered to send it to me or
to Alan, and it simply didn't work on the very basic hardware that I had.</p>

<p>I fixed the tulip driver at least twice to work with the media detection,
and sent Donald email about what I had done and why (why: without those
fixes it would notever get a link on the machine that I used). I don't know
if my fixes ever actually made it into Donalds version, because after the
second time I just stopped bothering trying to re-fix the same thing, and I
never updated his driver again.</p>

<p>In contrast, what Jeff and others have done have been of the type where
immediately when a fix is made, it is released. Which means that if there
are problems with it, people who follow new kernel releases will know.
Immediately. Not in a few months time when the next "driver release"
happens.</p>

<p>This is what Jeff means with "closed source".  Yes, the sources are there.
Yes, they get released every once in a while. But Donald doesn't let people
_participate_. He thinks he is the only one who should actually touch the
driver, and then he gets very upset when things change and others fix up
"his" drivers to take into account the fact that the interfaces changed.</p>

<p>I accept patches from anybody. I accept patches from people other than Jeff.
If somebody sends me a bugfix for a driver, and it is so obvious that even I
can tell that it must be better than the current code, I will apply it.
Obviously, in many cases I cannot make a good judgement (because I don't
know the hardware or other issues well enough), and that is when having a
maintainer is important.</p>

<p>If anybody thinks that being the maintainer equals being in 100% control,
then I don't think they have understood the TRUE meaning of Open Source.
Open source is about letting go of complete control. Accept the fact that
other people are wonderful resources to fixing problems, and let them help
you.</p>

<p>It's about accepting the fact that open source means that interfaces will
change. Not whining about it. And when somebody else steps forward that does
a better job of maintaining a driver, accept it gracefully.</p>

</quote>

<p>Jeff also replied to David:</p>

<quote who="Jeff Garzik">

<p>Donald's development is not open AT ALL.  Read
Donald's own description of how he developed the 2.3 network drivers and
interface (pci-netif). He disappears for many months, creates a design
without interfacing with kernel developers, and then appears again with a
code drop.</p>

<p>It is classic cathedral style of development.  Read Eric Raymond's paper on
why the bazaar method is far, far superior. The Linux kernel is the bazaar
method, and this is the central conflict which forced the kernel and Donald
drivers to diverge.</p>

<p>Yes, the end result of Donald's work is open source, but his development is
not open at all. And therein lies the problem [which existed far longer than
I have been hacking on the net drivers...]</p>

</quote>

<p>Donald replied to Jeff:</p>

<quote who="Donald Becker">

<p>A quick search of the two very active Tulip
mailing lists reveals that you have contributed nothing until this year.
Apparently you were not even a subscriber until then, and know nothing about
the very open way development has been done. Yet you willing throw around
pejorative phrases like "cathedral style" -- a hot button in this community.</p>

<p>For those not interested what superficially appears to be a kernel power
grab, there are issue underlying all of what appears to be a personal
conflict.</p>

<p>
<ol>

<li>Should the kernel source code interfaces, for well-understood
     interfaces, be stable? (We are solidly committed not having a binary
     interface, so bringing that up is a red herring.)</li>

<li>Given that development kernels are frequently unstable in some
    unexpected way, is is reasonable force testing of driver changes
    combined with unknown other changes?</li>

<li>Given that the kernel continues to exponentially increasing in size,
    should all development go through the latest development kernel?</li>

</ol>
</p>

<p>I feel the network driver interface from 1.2.* through 2.2.* is the cleanest
interface in the kernel. It's possible to add most new drivers to the kernel
without modifying or recompiling the kernel source. I like to think that I
influenced the clean design.</p>

<p>Compare that to the filesystem code, which requires that the kernel be
reconfigured and recompiled if you wish to add a new filesystem. Or a new
block driver, where there is a similar situation with block.h. Both the VFS
layer and the block driver interface should be very well understood, but the
nicely designed interfaces were quickly corrupted with ugly hacks.</p>

<p>I think the continued viability of a monolithic, single-point kernel source
tree should be questioned. The average *compressed* patch size for the 51
kernel patches since 2.3.1 is over 346KB, totaling just under 18MB. When
uncompressed, that's over 1MB per patch, far more than it's possible for
anyone to reasonably review.</p>

<p>The usual justification for this scale of change is that only the developers
should be using the development source tree. But the "official" advice to
anyone with device problems, frequently repeated on the kernel mailing list,
is to run the latest development kernel.</p>

</quote>

<p>To Donald's statement that the network driver interface from 1.2.x through
2.2.x was the cleanest in the kernel, Linus replied:</p>

<quote who="Linus Torvalds">

<p>You're basically the only one thinking so.</p>

<p>The fairly recent changes in 2.3.x (the so-called "softnet" changes) are
just incredibly more readable and robust than the old crap was that I don't
see your point at ALL.</p>

<p>Just about every single network driver out there was SERIOUSLY broken wrt
SMP and locking. I know, I had fixed many of them. The games the drives
played with timeouts, "dev->interrupt", "dev->tbusy" etc were just
incredibly baroque, and had absolutely NOTHING to do with "clean".</p>

<p>All of that crap is gone, and it was much overdue.</p>

<p>And it required every single networking driver to change.  Tough.  But
that's the advantage of open source - in a closed source binary interface
world we would have been basically unable to clean things up. We would have
had to maintain some ridiculous backwards compatibility layer, making
drivers and networking harder to understand.</p>

<p>The PCI layer changes are similar. Yes, we basically got rid of the old code
that used to have "slot/fn" arguments to the PCI access functions. Instead,
the functions got cleaned up, and you have to use "struct pci_device"
instead, forcing drivers to be a bit more structured. Changes.</p>

<p>You seem to think that changes are bad. I disagree. I think a cleaner
interface is worth just about ANY changes.</p>

</quote>

<p>Jeff also replied to Donald, saying that his FTP site appeared not to have
been updated for 3 months. He quoted several file date-stamps, to which
Donald replied:</p>

<quote who="Donald Becker">

<p>There is a reason for that for those dates, which
you should have picked up on. That was when the driver development issue
last came up, and I was thoroughly flamed for separate driver development
lists, especially by Jeff. I was told that my contributions were no longer
needed.</p>

<p>I decided to take a few month break from my driver update schedule, which
was taking up most of my waking hours, to work on Scyld and the Beowulf
software. I provide driver updates to clients that value them and write new
drivers, but left the kernel development merges to those that obviously
wanted control of them.</p>

<p>Trace back to the beginning of the current thread: this round of finger
pointing was started because there are driver bugs that haven't been
addressed, and 2.4 is about to come out.</p>

<p>It must have seemed like a good idea in Autumn '99, when the kernel was
"just about to be frozen" in preparation for late-'99 2.4 release, and money
was pouring into anything with "Linux" in the name, to believe that my
Ethernet driver development could be better done elsewhere. There were many
companies that could suddenly see that PR value in contributing to the
kernel. And certainly there are developers that want to see everything
brought under the central planning of the linux-kernel list. But replacing
my efforts is perhaps not as easy as it first appears. Nonetheless, the
decision was made months ago, and it would be very difficult to reverse it
now.</p>

</quote>

<p>Jeff replied:</p>

<quote who="Jeff Garzik">

<p>Oh good grief, save the conspiracies for X-Files.</p>

<p>I won't speak for the motivations of others, but for me the 2.3.x kernel net
drivers weren't getting updated, so I decided to play a small part in
correcting that situation.</p>

<p>This has nothing to do with money, or control.  Just broken drivers.</p>

</quote>

<p>Elsewhere in an entirely different subthread, Donald argued:</p>

<quote who="Donald Becker">

<p>I'm in the increasingly untenable position of
being expected to maintain drivers for the current and older kernels, but
not having any influence over the new development exactly because of that
backwards compatibility. It's no fun being responsible for just the old
versions, especially after I did years of unpaid development work.</p>

<p>There were many interface changes added incrementally in the 2.3 kernels.
Some with added without consideration of, or even in opposition to,
cross-version compatibility. And few of those interface changes were
designed, as opposed to just hacked in. When I proposed an new PCI detection
interface I wrote a skeleton driver, converted several of my drivers,
demonstrated that it worked with several hardware classes and wrote a usage
guide. But the few day hack was added because the patches were incremental
(even if misdesigned and broken).</p>

</quote>

<p>Linus replied:</p>

<quote who="Linus Torvalds">

<p>Donald, that's not true, and you know it.</p>

<p>Neither I nor anybody else has expected you to maintain the drivers for
quite a long time now - you just didn't seem to have the interest, and a lot
of people have acknowledged that. That is why there ARE new maintainers for
things like tulip and eepro100, whether you like it or not.</p>

<p>You did not lose influence of the drivers because you want to maintain
backwards compatibility. You lost influence over the drivers simply because
you never bothered to send in your changes. Don't start blaming anybody
else.</p>

<p>You were more interested in making sure your drivers worked with old kernels
than you were in making sure they worked with new ones. And now you're
surprised that they are only used with old kernels? I don't see why.</p>

</quote>

</section>

<section
  title="Philosophy Of Having Debugging Code In The Kernel"
  subject="[bugfix] SMP, shm-2.3.52-A0"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg00307.html"
  posts="12"
  startdate="15 Mar 2000 00:00:00 -0800"
  enddate="19 Mar 2000 00:00:00 -0800"
>

<p>In the course of discussion, Ingo Molnar explained, <quote who="Ingo
Molnar">we want to keep 'permanent debugging code' out of the main kernel,
as much as possible. There is no problem in having separate debugging
patches (such as IKD, which is a much more capable debugging tool than plain
asserts). Permanent debugging code pollutes the kernel over time and
degrades readability and maintainability.</quote> Jeremy Fitzhardinge
replied, <quote who="Jeremy Fitzhardinge">Properly used, asserts are not
debugging code so much as executable design constraints. They are really
useful as in-line documentation. assert(arg != NULL) is much more powerful
than a /* arg cannot be NULL */ comment. The issue of whether the assert
actually generates code is secondary; the code *should* run the same either
way.</quote> But Linus Torvalds explained his approach:</p>

<quote who="Linus Torvalds">

<p>I've had this problem before, and I don't like
it.</p>

<p>I've worked on projects where the above happened, and it turned out that
people ended up doing extra work just to make sure that the asserts were
"right", instead of realizing that the thing that the assert "documented"
was no longer worth maintaining.</p>

<p>I donot like asserts. I like temporary debugging aides, and I like them just
as long as they are _seen_ as temporary debugging aides.</p>

<p>99% of all asserts I've ever seen have been a complete waste of time. They
were useful when the code was written, because the code was buggy (or more
often the code was not buggy, but all the "surrounding" code that depended
on that piece of functionality had not been updated to new semantics). But
they become either a liability or just worthless over time.</p>

<p>That's just my opinion, of course. I know that my views on debugging are
pretty much scoffed at by a lot of people: I don't like debuggers either
(for somewhat similar reasons - my strongly held personal belief is that
debuggers tend to cause the _symptoms_ to be fixed rather than the actual
underlying bugs that you fix when you think about the problem on a source
level).</p>

<p>This is why I like BUG(). Not because it is any different from "assert()" in
any real sense, but because it does not have the psychological mindset
associated to it that "assert()" has..</p>

</quote>

</section>

<section
  title="Spam On linux-kernel"
  subject="Fantastic filter for linux-kernel"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg00101.html"
  posts="4"
  startdate="15 Mar 2000 00:00:00 -0800"
  enddate="17 Mar 2000 00:00:00 -0800"
>
<topic>FS: ReiserFS</topic>
<topic>Spam</topic>

<mention>Mike A. Harris</mention>

<p>Mike A. Harris said that the following procmail recipe would catch virtually
all spam coming to linux-kernel:</p>

<blockquote>

<code>

:0 W<br />
* ^Sender: owner-linux-.*@vger\.rutgers\.edu<br />
* ! ^(((To|Cc):)|( )).*linux.*@vger\.rutgers\.edu<br />
JUNK

</code>

</blockquote>

<p>Dominik Kubla replied that</p>

<blockquote>

<code>

:0 W<br />
* ^Sender: owner-linux-.*@vger\.rutgers\.edu<br />
* ! ^TO_.*linux.*@vger\.rutgers\.edu<br />
JUNK

</code>

</blockquote>

<p>might be better <quote who="Dominik Kubla">as per procmail manual, or you
might lose resent/redistributed or bcc-ed emails, which are rare on lmkl but
still should be considered "legal"...</quote></p>

<p>Andrew Morton thought this was a clever solution, and added, <quote
who="Andrew Morton">This, and a resolution of the utterly abysmal lag at
vger would make lkml a more pleasant place to be.</quote> Jason Gunthorpe
also added, <quote who="Jason Gunthorpe">Yeah, the ~6 (?) hour lag
sucks</quote> [...] <quote who="Jason Gunthorpe">It is particularly pointed
with the recent reiserfs threads, I read a message on the reiser list and
then a half day later the cc comes up here. I guess I'm on a bad exploder or
something. :&lt;</quote></p>

</section>

<section
  title="Jiffies Wraparound"
  subject="jiffies wraparound"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg00289.html"
  posts="7"
  startdate="15 Mar 2000 00:00:00 -0800"
  enddate="17 Mar 2000 00:00:00 -0800"
>

<p>Nicholas Vinen had read in "Linux Device Drivers" that the jiffie count
would wrap after a year of uptime, and that this could cause strange
behavior. He asked if any auditing/fixing had been done to work around this,
and Andrea Arcangeli replied, <quote who="Andrea Arcangeli">We found and
fixed all the design problem related to jiffies wrap arounds and audited all
the drivers before 2.2.x.</quote> Lech Szychowski added anecdotally, <quote
who="Lech Szychowski">I've got one machine that's been up and running since
Sep 24, 1996. That's two wraps already; haven't seen any strange things
happening.</quote> In a later message, he clarified that his box had been up
for around 1270 days, or almost three and a half years.</p>

</section>

<section
  title="Makefile Bug Fix"
  subject="[PATCH] Additional patch for toplevel Makefile driver lists"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg01037.html"
  posts="6"
  startdate="18 Mar 2000 00:00:00 -0800"
  enddate="20 Mar 2000 00:00:00 -0800"
>

<mention>Linus Torvalds</mention>

<p>Brian Gerst posted a 3-line makefile patch, and explained, <quote who="Brian
Gerst">Some shells (bash 2.x specifically) don't like environment variables
with dashes in them. This patch makes them not exported. This problem
doesn't show up in the other makefiles because they do not export all their
variables to the environment like the toplevel Makefile does.</quote> He
added, <quote who="Brian Gerst">Linus, this is a resend of the patch to you.
I'm not certain it made it to you the first time.</quote> Linus Torvalds
replied that this seemed to be working around a misfeature, as opposed to
making a proper feature to begin with. Brian replied with a new patch,
explaining, <quote who="Brian Gerst">How does this look as a first stab? The
magic is in the MAKEFILES variable. It causes the sub-makes to read in
.config before the rest of the Makefile instead of having to add it to every
single file. I do not know if this is specific to GNU make or not. I tested
it with i386, and I checked the rest of the arches for variables that needed
to be exported.</quote> Linus was very pleased with the patch, in spite of
the fact that the config file would be read and parsed multiple times. It
seemed fundamentally correct to him, and he asked if anyone disagreed. Jamie
Lokier replied, <quote who="Jamie Lokier">The alternative is reading and
parsing the environment variables, and they have to be copied via the execve
too. I should think there's not a lot of difference between the two --
except the config file approach works :-)</quote> End Of Thread.</p>

</section>

<section
  title="Removing Tests From ext2 Mounts"
  subject="Patch to make ext2 mounts go faster...."
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_0003_03/msg01321.html"
  posts="12"
  startdate="20 Mar 2000 00:00:00 -0800"
  enddate="20 Mar 2000 00:00:00 -0800"
>
<topic>FS: ext2</topic>

<mention>Stefan Monnier</mention>
<mention>Vojtech Pavlik</mention>

<p>Theodore Y. Ts'o posted a patch against 2.3.99-pre2, and announced, <quote
who="Theodore Y. Ts'o">The following patches makes ext2 mounts go faster by
removing the pointless counting of all of the free blocks and inodes in the
bitmaps to make sure they match up with the block group descriptors. The
checks take a huge amount of time, and are completely duplicated by the
checks done by fsck. Furthermore, the things which they check (the free
blocks/inodes counts), if wrong, won't critically impact ext2 performance.
Hence, by removing this check, we speed up the mounting of ext2 filesystems
significantly. I've been recommending that people mount filesystems "-o
check=none" for a while. This simply makes this the default.</quote> Nasser
Abbasi felt that the patch was wrong, because 'mount' should always check to
see if it was or was not mounting a clean filesystem; but Stephen C. Tweedie
explained quickly, <quote who="Stephen C. Tweedie">That still happens: there
is an entirely separate set of data structures in the superblock which keep
track of uncleanly-umounted filesystems.</quote> But Nicholas Vinen also
replied to Nasser, coming out against the patch. He said that since the
mount option existed in userspace (-o check=none), that userspace solution
was better than going to the lengths of patching the kernel. Theodore and
Vojtech Pavlik both replied that the checks were unnecessary to begin with;
and Oliver Xymoron also replied to Nicholas, <quote who="Oliver Xymoron">No,
it's best to have extensive checks in user space rather than simple, yet
expensive, checks in the kernel. The checks have been there forever and
haven't caught much that isn't caught by the dirty fs flag.</quote> But
Michael Weller disagreed, pointing out that in the unpatched situation, it
would still be easy for experienced users to add the "nocheck" option to
their '/etc/fstab', while inexperienced users would not know enough to
enable tests that were not on by default. Stefan Monnier reiterated that the
tests really didn't belong in the kernel; and Theodore also replied to
Michael:</p>

<quote who="Theodore Y. Ts'o">

<p>There are only two problems with your thesis:</p>

<p>
<ol>

<li>The check, although it is quite time consuming, only checks the bitmaps
blocks to see if they match with the superblock group descriptors. On
filesystems with 4k blocks, this means that you only catch errors that occur
in 0.009% of the filesystem. (On filesystems with 1k blocks, you're cecking
0.03% of the filesystem --- in both cases, it's well less than a tenth of a
percent.) Granted, the bitmap blocks get written a lot, but it still means
that a large number of potential disk corruptions might not get noticed by
the check.</li>

<li>If there are problems, the kernel simply prints a warning. Many of the
non-experienced users are likely to not notice or ignore the warning
messages which appear at boot-time anyway.</li>

<li>If someone *really* wants to do a potentially time-consuming
minimalistic check, I can add it to e2fsck (it's basically means skipping
passes 1 through 4 and only doing pass #5), but quite frankly, I'm still not
convinced its worth the cost/benefit ratio. Still, people who are really
paranoid could use this if they really want.</li>

</ol>
</p>

</quote>

<p>End of thread.</p>

</section>

</kc>
