<?xml version="1.0" ?>

<kc>

<title>Kernel Traffic</title>

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

<issue num="30" date="05 Aug 1999 00:00:00 -0800" />

<stats posts="1051" size="4313" contrib="379" multiples="157" lastweek="116">

<person posts="40" size="199" who="David Olofson " />
<person posts="34" size="173" who="Riley Williams " />
<person posts="27" size="81" who="&quot;Stephen C. Tweedie&quot; " />
<person posts="24" size="78" who="" />
<person posts="20" size="157" who="Alexander Viro " />
<person posts="18" size="68" who="" />
<person posts="18" size="65" who="&quot;Khimenko Victor&quot; " />
<person posts="18" size="62" who="&quot;Jones D (ISaCS)&quot; " />
<person posts="15" size="60" who="Paul Barton-Davis " />
<person posts="15" size="47" who="Steve Dodd " />
<person posts="14" size="60" who="Steve Underwood " />
<person posts="14" size="45" who="Alan Cox " />
<person posts="13" size="53" who="Rik van Riel " />
<person posts="13" size="47" who="Richard Black " />
<person posts="12" size="40" who="Ingo Molnar " />
<person posts="11" size="56" who="Gerard Roudier " />
<person posts="11" size="45" who="Marc Mutz " />
<person posts="11" size="31" who="Tim Waugh " />
<person posts="11" size="30" who="" />
<person posts="10" size="45" who="Kurt Garloff " />
<person posts="10" size="37" who="Philipp Rumpf " />
<person posts="10" size="33" who="Richard Gooch " />
<person posts="10" size="32" who="Rik van Riel " />
<person posts="10" size="28" who="Jamie Lokier " />
<person posts="9" size="54" who="Artur Skawina " />
<person posts="9" size="23" who="" />
<person posts="8" size="33" who="Ove Ewerlid " />
<person posts="8" size="28" who="&quot;Mike A. Harris&quot; " />
<person posts="8" size="28" who="Pavel Machek " />
<person posts="8" size="25" who="Bill Huey " />
<person posts="8" size="24" who="&quot;Albert D. Cahalan&quot; " />
<person posts="7" size="27" who="Gerald Aigner " />
<person posts="7" size="23" who="Oliver Xymoron " />
<person posts="7" size="22" who="Ralf Baechle " />
<person posts="6" size="64" who="Robert de Vries " />
<person posts="6" size="29" who=" (Harvey J. Stein)" />
<person posts="6" size="17" who="Terje Malmedal " />
<person posts="6" size="17" who="Andi Kleen " />
<person posts="6" size="15" who="Meelis Roos " />
<person posts="5" size="31" who="Benno Senoner " />
<person posts="5" size="17" who="&quot;Andre M. Hedrick&quot; " />
<person posts="5" size="16" who="Zack Weinberg " />
<person posts="5" size="15" who="Modemch " />
<person posts="5" size="14" who="&quot;Ethan C. Baldridge&quot; " />
<person posts="5" size="12" who="George Bonser " />
<person posts="4" size="90" who="Jakub Jelinek " />
<person posts="4" size="39" who=" (david parsons)" />
<person posts="4" size="25" who="prodigal " />
<person posts="4" size="22" who="&quot;Robert H. de Vries&quot; " />
<person posts="4" size="22" who="&quot;Robert A. Morris&quot; " />
<person posts="4" size="19" who="=?iso-8859-1?Q?J=F6rg?= Pleumann " />
<person posts="4" size="14" who="Matthew Wilcox " />
<person posts="4" size="13" who="merblich " />
<person posts="4" size="13" who="Bjorn Wesen " />
<person posts="4" size="13" who="&quot;Mike A. Harris&quot; " />
<person posts="4" size="13" who="Ed Hall " />
<person posts="4" size="13" who="Fred Reimer " />
<person posts="4" size="13" who="Dominik Kubla " />
<person posts="4" size="12" who="&quot;M.Brands&quot; " />
<person posts="4" size="12" who="Robert Norris " />
<person posts="4" size="12" who="Ulrich Drepper " />
<person posts="4" size="12" who="Benny Amorsen " />
<person posts="4" size="12" who="NIIBE Yutaka " />
<person posts="4" size="12" who="BOSZORMENYI Zoltan " />
<person posts="4" size="12" who="" />
<person posts="4" size="12" who="Jan Kara " />
<person posts="4" size="11" who="Wakko Warner " />
<person posts="4" size="11" who="Matthew Kirkwood " />
<person posts="4" size="11" who="Mark Lord " />
<person posts="3" size="29" who="David Woodhouse " />
<person posts="3" size="16" who="&quot;David Olofson&quot; " />
<person posts="3" size="14" who="Olaf Dietsche " />
<person posts="3" size="12" who="Sam Roberts " />
<person posts="3" size="12" who="Hormuzd KHOSRAVI " />
<person posts="3" size="12" who="Linus Torvalds " />
<person posts="3" size="12" who="Paul Jakma " />
<person posts="3" size="12" who="Jan Bobrowski " />
<person posts="3" size="12" who="Joe Julian " />
<person posts="3" size="11" who="Daniel Kobras " />
<person posts="3" size="10" who="Richard Henderson " />
<person posts="3" size="10" who="Greg Lindahl " />
<person posts="3" size="10" who="Rick Hohensee " />
<person posts="3" size="10" who="Borislav Deianov " />
<person posts="3" size="10" who="Andreas Schwab " />
<person posts="3" size="10" who="Gerhard Mack " />
<person posts="3" size="10" who="Jason Gunthorpe " />
<person posts="3" size="10" who="Keith Owens " />
<person posts="3" size="10" who="&quot;Adam D. Bradley&quot; " />
<person posts="3" size="10" who="Robert Dinse " />
<person posts="3" size="9" who="Frank van Maarseveen " />
<person posts="3" size="9" who="Marc Lehmann " />
<person posts="3" size="9" who="&quot;Barrett G. Lyon&quot; " />
<person posts="3" size="9" who="&quot;John P. Looney&quot; " />
<person posts="3" size="9" who="Mike " />
<person posts="3" size="9" who="Peter Desnoyers " />
<person posts="3" size="9" who="Stefan Hendrata " />
<person posts="3" size="9" who="Eric Lammerts " />
<person posts="3" size="8" who="Jeff Garzik " />
<person posts="2" size="30" who="Philip Gladstone " />
<person posts="2" size="17" who="" />
<person posts="2" size="14" who="Thierry Vignaud " />
<person posts="2" size="13" who="&quot;DoMiNo&quot; " />
<person posts="2" size="12" who="James Bottomley " />
<person posts="2" size="10" who="Harald Koenig " />
<person posts="2" size="9" who="Hugo Varotto " />
<person posts="2" size="8" who="&quot;Robert Brooks&quot; " />
<person posts="2" size="8" who=" K@canine.wipinfo.soft.net" />
<person posts="2" size="8" who="&quot;Vijay G. Bharadwaj&quot; " />
<person posts="2" size="7" who="Thorsten Kranzkowski " />
<person posts="2" size="7" who="" />
<person posts="2" size="7" who="Bernd Paysan " />
<person posts="2" size="7" who="&quot;Dumb Kid&quot; " />
<person posts="2" size="7" who="The Doctor What " />
<person posts="2" size="7" who="Martin Mares " />
<person posts="2" size="7" who="Oliver Mueschke " />
<person posts="2" size="7" who="David Schleef " />
<person posts="2" size="7" who="Neal Cardwell " />
<person posts="2" size="7" who=" (Harald =?ISO-8859-1?Q?Nordg=E5rd-Hansen?=)" />
<person posts="2" size="7" who="Shevek " />
<person posts="2" size="7" who="Jens Benecke " />
<person posts="2" size="7" who="Johnnie Peters " />
<person posts="2" size="7" who="&quot;Jim Nance&quot; " />
<person posts="2" size="6" who="Raul Miller " />
<person posts="2" size="6" who="Michael Berg " />
<person posts="2" size="6" who="Paul Ashton " />
<person posts="2" size="6" who="Tim Ricketts " />
<person posts="2" size="6" who="Graffiti " />
<person posts="2" size="6" who="Arnaldo Carvalho de Melo " />
<person posts="2" size="6" who="" />
<person posts="2" size="6" who="Russell Coker " />
<person posts="2" size="6" who="Dancer " />
<person posts="2" size="6" who="Pauline Middelink " />
<person posts="2" size="5" who="Martijn van Oosterhout " />
<person posts="2" size="5" who="Arvind Sankar " />
<person posts="2" size="5" who="Dan Kegel " />
<person posts="2" size="5" who="Philip Blundell " />
<person posts="2" size="5" who="Willy Tarreau " />
<person posts="2" size="5" who="&quot;David S. Miller&quot; " />
<person posts="2" size="5" who="Ingo Oeser " />
<person posts="2" size="5" who="Stanislav Krasilovskiy " />
<person posts="2" size="5" who="Mofeed Shahin " />
<person posts="2" size="5" who="" />
<person posts="2" size="5" who="&quot;Enrique Bernal&quot; " />
<person posts="2" size="5" who="Mark Hahn " />
<person posts="2" size="5" who="Aaron Tiensivu " />
<person posts="2" size="5" who="Perez " />
<person posts="2" size="5" who="Karsten Strand " />
<person posts="2" size="5" who="Benjamin LaHaise " />
<person posts="2" size="5" who="Matthew Jacob " />
<person posts="2" size="5" who="Gregory Maxwell " />
<person posts="2" size="4" who=" (Preston F. Crow)" />
<person posts="2" size="4" who="&quot;=?iso-8859-1?Q?Magnus_N=E4slund?=&quot; " />
<person posts="2" size="4" who="Dan Hollis " />
<person posts="2" size="4" who="Jos Hulzink " />
<person posts="2" size="4" who="Paul Mackerras " />
<person posts="2" size="4" who="" />
<person posts="2" size="4" who="&quot;Giuliano Pochini&quot; " />
<person posts="1" size="67" who="&quot;Robert H. de Vries&quot; " />
<person posts="1" size="37" who="&quot;Beinum van, Gerlach&quot; " />
<person posts="1" size="32" who="Joseph Pranevich " />
<person posts="1" size="30" who="&quot;Forever shall I be.&quot; " />
<person posts="1" size="21" who="Jeff Garzik " />
<person posts="1" size="12" who="Mark Gray " />
<person posts="1" size="10" who="&quot;Sunshine&quot; " />
<person posts="1" size="10" who="&quot;Maciej W. Rozycki&quot; " />
<person posts="1" size="10" who="Walter Hofmann " />
<person posts="1" size="7" who="Kuniyasu SUZAKI " />
<person posts="1" size="7" who="Benjamin Redelings I " />
<person posts="1" size="6" who="&quot;Fagerburg, Eric D&quot; " />
<person posts="1" size="6" who="" />
<person posts="1" size="6" who="&quot;Joseph H. Buehler&quot; " />
<person posts="1" size="6" who="Peter Chang " />
<person posts="1" size="6" who="&quot;Carlo M. Arenas Belon&quot; " />
<person posts="1" size="5" who="Ulf Jaenicke-Roessler " />
<person posts="1" size="5" who="Andreas Bombe " />
<person posts="1" size="5" who="Elena Nistal " />
<person posts="1" size="5" who=" (Ulf Jaenicke-Roessler)" />
<person posts="1" size="5" who="Elmer Joandi " />
<person posts="1" size="5" who="" />
<person posts="1" size="5" who="Eric Brunet " />
<person posts="1" size="5" who="Kastus Shchuka " />
<person posts="1" size="5" who=" (Scott Lurndal)" />
<person posts="1" size="5" who="Christer Weinigel " />
<person posts="1" size="5" who="&quot;Lennert Buytenhek&quot; " />
<person posts="1" size="5" who=" (H.J. Lu)" />
<person posts="1" size="4" who="Benjamin Redelings I " />
<person posts="1" size="4" who="Manfred Spraul " />
<person posts="1" size="4" who=" (Kevin Buhr)" />
<person posts="1" size="4" who="Stefan Traby " />
<person posts="1" size="4" who=" (Wim Ten Have)" />
<person posts="1" size="4" who="Mark Gebhardt " />
<person posts="1" size="4" who="&quot;Pascal A. Dupuis&quot; " />
<person posts="1" size="4" who="Chip Salzenberg " />
<person posts="1" size="4" who="Rens Houben " />
<person posts="1" size="4" who="" />
<person posts="1" size="4" who="Horst von Brand " />
<person posts="1" size="4" who="Walter Lundby " />
<person posts="1" size="4" who="&quot;Anthony Barbachan&quot; " />
<person posts="1" size="4" who="Mike Jagdis " />
<person posts="1" size="4" who="Paul Ashton " />
<person posts="1" size="4" who="Patrick Lerda " />
<person posts="1" size="4" who="Roger Gammans " />
<person posts="1" size="4" who="Roger Larsson " />
<person posts="1" size="4" who="Joel Jaeggli " />
<person posts="1" size="4" who="=?iso-2022-jp?B?GyRCP1w6ak0tOS8bKEI=?= Kuniyasu SUZAKI " />
<person posts="1" size="4" who="&quot;Manfred Spraul&quot; " />
<person posts="1" size="4" who="Andreas Tobler " />
<person posts="1" size="4" who=" (Linus Torvalds)" />
<person posts="1" size="4" who="&quot;Jason A. Diegmueller&quot; " />
<person posts="1" size="4" who=" (Alexander Schulz)" />
<person posts="1" size="4" who="Anton Ivanov " />
<person posts="1" size="4" who="Dale Botkin " />
<person posts="1" size="4" who="David Ford " />
<person posts="1" size="4" who="Rob Riggs " />
<person posts="1" size="3" who="Alan Modra " />
<person posts="1" size="3" who="Jan Kasprzak " />
<person posts="1" size="3" who="William Stearns " />
<person posts="1" size="3" who="Sean McEwan " />
<person posts="1" size="3" who=" (Marc MERLIN)" />
<person posts="1" size="3" who="Heinz-Ado Arnolds " />
<person posts="1" size="3" who="Eric Brunet " />
<person posts="1" size="3" who="Clemens Huebner " />
<person posts="1" size="3" who="Alexandre Hautequest " />
<person posts="1" size="3" who="David Wragg " />
<person posts="1" size="3" who="The Dirty Doctor " />
<person posts="1" size="3" who="Craig Milo Rogers " />
<person posts="1" size="3" who=" (Rogier Wolff)" />
<person posts="1" size="3" who="Yuko Kashiwazaki " />
<person posts="1" size="3" who=" (Frank =?iso-8859-1?Q?Matthie=DF?=)" />
<person posts="1" size="3" who="&quot;Peter J. Braam&quot; " />
<person posts="1" size="3" who="Ronald Verlaan " />
<person posts="1" size="3" who="Meino Christian Cramer " />
<person posts="1" size="3" who="Gary Simmons " />
<person posts="1" size="3" who="Rob Lesan " />
<person posts="1" size="3" who="" />
<person posts="1" size="3" who="Pascal Eeftinck " />
<person posts="1" size="3" who="Jay Thorne " />
<person posts="1" size="3" who="Micahel Zappe " />
<person posts="1" size="3" who="Masahiro Adegawa " />
<person posts="1" size="3" who="&quot;Richard B. Johnson&quot; " />
<person posts="1" size="3" who="Eugene Morozov " />
<person posts="1" size="3" who="&quot;Raj, Ashok&quot; " />
<person posts="1" size="3" who=" (Chris Hirsch )" />
<person posts="1" size="3" who="Martin Tessun " />
<person posts="1" size="3" who=" (H. Peter Anvin)" />
<person posts="1" size="3" who="Tim Walberg " />
<person posts="1" size="3" who="&quot;Chris Jones&quot; " />
<person posts="1" size="3" who="Horst von Brand " />
<person posts="1" size="3" who="Thierry Danis " />
<person posts="1" size="3" who="Scott White " />
<person posts="1" size="3" who="Karim Yaghmour " />
<person posts="1" size="3" who="Douglas Gilbert " />
<person posts="1" size="3" who=" (Miquel van Smoorenburg)" />
<person posts="1" size="3" who="flippie " />
<person posts="1" size="3" who="Giuliano Procida " />
<person posts="1" size="3" who="Thomas Molina " />
<person posts="1" size="3" who="&quot;VALETTE Eric&quot; " />
<person posts="1" size="3" who="Isaac Connor " />
<person posts="1" size="3" who="&quot;Jonathan Miles&quot; " />
<person posts="1" size="3" who="&quot;Kevin O'Connor&quot; " />
<person posts="1" size="3" who="&quot;Christian Groessler&quot; " />
<person posts="1" size="3" who="Andreas Jaeger " />
<person posts="1" size="3" who="Steve Dodd " />
<person posts="1" size="3" who="Francis GALIEGUE " />
<person posts="1" size="3" who="VoIP " />
<person posts="1" size="3" who="&quot;dony&quot; " />
<person posts="1" size="3" who="Iain McClatchie " />
<person posts="1" size="3" who="Mike Whiten " />
<person posts="1" size="3" who=" (Bob_Tracy)" />
<person posts="1" size="3" who="Paul Wouters " />
<person posts="1" size="3" who="fvw " />
<person posts="1" size="3" who="David Ford " />
<person posts="1" size="3" who="Mike Touloumtzis " />
<person posts="1" size="3" who="Bryn Paul Arnold Jones " />
<person posts="1" size="3" who="Junichi Saito " />
<person posts="1" size="3" who="Richard Shih-Ping Chan " />
<person posts="1" size="3" who="Khimenko Victor " />
<person posts="1" size="3" who="&quot;Christopher E. Brown&quot; " />
<person posts="1" size="3" who="Rolf Fokkens " />
<person posts="1" size="3" who="Brian Gerst " />
<person posts="1" size="3" who="Ben Armstrong " />
<person posts="1" size="3" who="Trevor Larson " />
<person posts="1" size="3" who="Richard Yoo " />
<person posts="1" size="3" who="Arjan Filius " />
<person posts="1" size="3" who="&quot;S . Arun&quot; " />
<person posts="1" size="3" who="Mitchell Blank Jr " />
<person posts="1" size="3" who="Jan Echternach " />
<person posts="1" size="3" who="Paul Rusty Russell " />
<person posts="1" size="3" who="shane yan " />
<person posts="1" size="3" who="Dirk Moerenhout " />
<person posts="1" size="3" who="&quot;Marty Leisner&quot; " />
<person posts="1" size="3" who="Balazs Miklos " />
<person posts="1" size="3" who="Paul Gortmaker " />
<person posts="1" size="2" who=" (Gary L. Hennigan)" />
<person posts="1" size="2" who="Adrian Bridgett " />
<person posts="1" size="2" who="Ron Flory " />
<person posts="1" size="2" who="Michal Jaegermann " />
<person posts="1" size="2" who="Geert Uytterhoeven " />
<person posts="1" size="2" who="&quot;Manuel J. Galan&quot; " />
<person posts="1" size="2" who="Brian Kelly " />
<person posts="1" size="2" who="Matthew Harrell " />
<person posts="1" size="2" who="Lucca " />
<person posts="1" size="2" who="Chris Zwilling " />
<person posts="1" size="2" who="&quot;Gregory T. Norris&quot; " />
<person posts="1" size="2" who="Thomas Gschwind " />
<person posts="1" size="2" who="&quot;Aaron J. Grier&quot; " />
<person posts="1" size="2" who="Gary Lawrence Murphy " />
<person posts="1" size="2" who="&quot;Nietzel, Earle R&quot; " />
<person posts="1" size="2" who="Olaf Kirch " />
<person posts="1" size="2" who="Hubert Tonneau " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Nix " />
<person posts="1" size="2" who="Mogens Kjaer " />
<person posts="1" size="2" who="Jeremy Fitzhardinge " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="Nick Burrett " />
<person posts="1" size="2" who="Lars Kellogg-Stedman " />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Barry Bevel&quot; " />
<person posts="1" size="2" who="Erik McKee " />
<person posts="1" size="2" who=" (Arjan van de Ven)" />
<person posts="1" size="2" who="Arjan van de Ven " />
<person posts="1" size="2" who="Steven Suson " />
<person posts="1" size="2" who="Stefan Parvu " />
<person posts="1" size="2" who="Michael Denroak " />
<person posts="1" size="2" who="Chad Miller " />
<person posts="1" size="2" who="Robert Milkowski " />
<person posts="1" size="2" who="Tom Eastep " />
<person posts="1" size="2" who="Marc " />
<person posts="1" size="2" who="&quot;B. James Phillippe&quot; " />
<person posts="1" size="2" who="&quot;Garst R. Reese&quot; " />
<person posts="1" size="2" who="&quot;Michael O'Cleirigh&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="FOONET Administrator " />
<person posts="1" size="2" who="Bill Anderson " />
<person posts="1" size="2" who="" />
<person posts="1" size="2" who="&quot;Leslie F. Donaldson&quot; " />
<person posts="1" size="2" who="Daniel Roesen " />
<person posts="1" size="2" who="Todd " />
<person posts="1" size="2" who="&quot;Michel Eyckmans (MCE)&quot; " />
<person posts="1" size="2" who="&quot;Alexander Maryanchick&quot; " />
<person posts="1" size="2" who="Roman Drahtmueller " />
<person posts="1" size="2" who="Josip Gracin " />
<person posts="1" size="2" who="=?iso-8859-1?q?Dominik=20Weis?= " />
<person posts="1" size="2" who="&quot;M. Berglund&quot; " />
<person posts="1" size="2" who="Ayyadevara Seetharma Sarma " />
<person posts="1" size="2" who="George Staikos " />
<person posts="1" size="2" who="Steve Willer " />
<person posts="1" size="2" who="Erez Zadok " />
<person posts="1" size="2" who="Jeremy Katz " />
<person posts="1" size="2" who="&quot;Muzaffer Kal&quot; " />
<person posts="1" size="2" who=" (Davide Libenzi)" />
<person posts="1" size="2" who="Juhana Sadeharju " />
<person posts="1" size="2" who="Pekka Riikonen " />
<person posts="1" size="2" who="Oliver Neukum " />
<person posts="1" size="2" who="Nomad the Wanderer " />
<person posts="1" size="2" who="John Hassey " />
<person posts="1" size="2" who="Howard Chu " />
<person posts="1" size="2" who="Xinyan Zan " />
<person posts="1" size="2" who="David Trcka " />
<person posts="1" size="2" who="Nils Bokermann " />
<person posts="1" size="2" who="&quot;Ma.&quot; " />
<person posts="1" size="2" who="ListBoy " />
<person posts="1" size="2" who="Andrzej Krzysztofowicz " />
<person posts="1" size="2" who="Dag Wieers " />
<person posts="1" size="2" who="winfried szukalski " />
<person posts="1" size="2" who="Thomas Sailer " />
<person posts="1" size="2" who="Michael Liao " />
<person posts="1" size="2" who="ramudu " />
<person posts="1" size="2" who="I Lee Hetherington " />
<person posts="1" size="2" who="Kelvin Edwards " />
<person posts="1" size="2" who="Thomas Bierweiler Mailing list " />
<person posts="1" size="2" who="wu_yb " />
<person posts="1" size="2" who="Leo Hau " />
<person posts="1" size="2" who="&quot;Sujan M. Swearingen&quot; " />
<person posts="1" size="2" who="" />
<person posts="1" size="1" who="Tseng Chou Ming (Soft Eng) " />

</stats>

<section
  title="FAT Inherently Broken; COMA Workaround Removed"
  subject="Linux 2.2.11pre2 proposed patch"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_03/msg00767.html"
  posts="34"
  startdate="19 Jul 1999 00:00:00 -0800"
  enddate="26 Jul 1999 00:00:00 -0800"
>
<topic>FS: FAT</topic>

<mention>Zoltan Boszormenyi</mention>

<p>Alan put 2.2.11pre2 up on <a
href="ftp://ftp.uk.kernel.org/pub/linux/kernel/alan/proposed-2.2.11pre2.gz">ftp://ftp.*.kernel.org/pub/linux/kernel/alan/proposed-2.2.11pre2.gz</a>
and posted a changelog against 2.2.10. Linus Torvalds replied, <quote
who="Linus Torvalds">Looks good, except aic7xxx is wrong version ;) Tssk,
tssk.</quote></p>

<p>One of Alan's changes was "FAT now uses cluster numbering for inode info",
which Alexander Viro took exception to. Alexander replied to the
announcement:</p>

<quote who="Alexander Viro">

<p>It doesn't. It generates inumbers on the fly. Cluster numbering is unusable
for that - truncate() *shouldn't* change inumber. FAT *has* no file invariants
that would survive (a) rename, (b) truncate(), (c) write and (d) umount. Of
all those umount give the least pain wrt races. New code guarantees constant
inumbers for opened files.</p>

<p>The bottom line - inumbers on FAT will suck anyway. There is no inodes
in normal sense. And inumbers changing after reboot are *much* better than
exploitable races. On FAT usage of (old) inumbers for any backup stuff was
broken - rename() would go unnoticed.</p>

</quote>

<p>Another one of Alan's changes was to remove the COMA workaround, and
recommend people just use set6x86 if they have that Cyrix CPU bug. Zoltan
Boszormenyi said sarcastically that in that case, they might as well remove
the f00f bugfix as well. Alan defended the change, and there was a
discussion about which fix was enabled in which version and then switched
for which other fix.</p>

</section>

<section
  title="TCP Vegas Patch Announced"
  subject="[PATCH] TCP Vegas implementation available"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_03/msg00861.html"
  posts="19"
  startdate="20 Jul 1999 00:00:00 -0800"
  enddate="27 Jul 1999 00:00:00 -0800"
>
<topic>Modems</topic>
<topic>Networking</topic>

<mention>Rik van Riel</mention>

<p>Neal Cardwell announced that his TCP Vegas patch
(for network congestion control) against 2.2.10/2.3.10 was at <a
href="http://www.cs.washington.edu/homes/cardwell/linux-vegas/">http://www.cs.washington.edu/homes/cardwell/linux-vegas/</a>.
He added:</p>

<quote who="Neal Cardwell">

<p>You may remember that 2.1
had a Linux implementation that was removed after 2.1.91, due to performance
problems, i gather. Our implementation is unrelated to that 2.1.x
implementation (except, obviously, that they're both Vegas implementations
:-), and makes several critical improvements over that earlier Vegas
implementation:</p>

<ul>

<li>use of fine-grained time stamps (10ms-granularity doesn't cut it)</li>

<li>careful filtering and accounting to cope with delayed ACKs.</li>

<li>speedier slow-start due to increasing cwnd every RTT, just like
traditional TCP congestion control</li>

</ul>

<p>From looking at the older Vegas implementation, i'd guess that these fixes
address many of the performance problems in that implementation. Other fixes
and enhancements are described on the web page.</p>

</quote>

<p>Rik van Riel asked if PPP over analog phone lines would benefit from
Vegas, and Neal replied, <quote who="Neal Cardwell">For scenarios where the
performance of long TCP flows is suffering because traditional TCP congestion
control is driving up the queues on the modem to the point of loss and
suffering massive timeouts, Vegas should help by keeping queues shorter,
keeping RTTs lower, and reducing loss.</quote></p>

</section>

<section
  title="PPP Driver Rewritten"
  subject="new PPP driver"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_04/msg00311.html"
  posts="2"
  startdate="24 Jul 1999 00:00:00 -0800"
  enddate="25 Jul 1999 00:00:00 -0800"
>
<topic>Networking</topic>

<p>Paul Mackerras announced:</p>

<quote who="Paul Mackerras">

<p>I have rewritten the PPP driver, separating the generic part from the async
serial part. The new code is IMHO a lot cleaner than the old ppp.c. There
is now a ppp_generic.c, which implements the ppp network interface units and
the /dev/ppp device, and ppp_async.c, which implements the PPP encapsulation
and framing for async serial lines.</p>

<p>The patch is at <a
href="ftp://cs.anu.edu.au/pub/people/Paul.Mackerras/newppp.patch.gz">ftp://cs.anu.edu.au/pub/people/Paul.Mackerras/newppp.patch.gz</a></p>

<p>It should apply OK against either 2.2.10 or 2.3.10.
You will need a new pppd, which you can get at <a
href="ftp://cs.anu.edu.au/pub/software/ppp/ppp-pre-2.3.9.tar.gz">ftp://cs.anu.edu.au/pub/software/ppp/ppp-pre-2.3.9.tar.gz</a></p>

<p>I did all this before I became aware of Daniel Marmier's post of a week
or two ago. I'm looking at merging his changes and mine.</p>

</quote>

<p>He replied to himself seven hours later, saying:</p>

<quote who="Paul Mackerras">

<p>I should have mentioned that if you want to try my new PPP driver (with
the new pppd), you will need to do</p>

<p>mknod /dev/ppp c 108 0</p>

<p>If you use module autoloading and have PPP as a module, you will need to
add the following to /etc/conf.modules:</p>

<p>alias tty-ldisc-3       ppp_async<br />
alias char-major-108    ppp_generic</p>

</quote>

</section>

<section
  title="New Raw I/O Patches Announced"
  subject="New raw IO patches available for 2.2, 2.3"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_04/msg00701.html"
  posts="4"
  startdate="27 Jul 1999 00:00:00 -0800"
  enddate="28 Jul 1999 00:00:00 -0800"
>
<topic>Capabilities</topic>
<topic>Ioctls</topic>
<topic>Raw IO</topic>

<mention>Matthew Kirkwood</mention>

<p>Stephen C. Tweedie posted a readme and gave a pointer to <a
href="ftp://ftp.uk.linux.org/pub/linux/sct/fs/raw-io/">his raw IO patches</a>,
<quote who="Stephen C. Tweedie">for unbuffered, direct disk IO via standard
Unix character mode raw devices.</quote> He added that the character major
number had moved from 111 to 162, and probably wouldn't change again. The
new patches, <quote who="Stephen C. Tweedie">should work on most 2.2 kernels
(2.2.9 upwards at least), and on 2.3.12-pre5. Due to the extensive file locking
changes in 2.3 recently, it will not work on older 2.3 kernels.</quote></p>

<p>Matthew Kirkwood wanted the /dev/raw RAW_SETBIND ioctl to require
CAP_SYS_ADMIN, and Stephen didn't see the need for the check, but added that
if Matthew really wanted it, he'd accept patches; Matthew gave him one
against 2.3.7pre12.</p>

<p>Under the Subject: <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_04/msg00872.html">Updated
raw IO diffs</a>, Stephen announced a new version, explaining that there was
a one line bug in the 2.2.x patch.</p>

</section>

<section
  title="Timer Patch Announced And Rejected"
  subject="PATCH: POSIX 1003.1b timer minor fixes"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_04/msg00751.html"
  posts="19"
  startdate="27 Jul 1999 00:00:00 -0800"
  enddate="30 Jul 1999 00:00:00 -0800"
>
<topic>POSIX</topic>
<topic>Real-Time</topic>

<mention>Jakub Jelinek</mention>

<p>Robert H. de Vries posted some minor fixes to the timer code, relative to
2.3.12-pre6; Jakub Jelinek added some changes for the SPARC, and in the
course of discussion, Robert explained:</p>

<quote who="Robert H. de Vries">

<p>the implementation I have submitted is the bare bones super minimum
POSIX implementation. Now everybody can add her own special clock/timer
to the kernel. For instance if I would want to add an IRIG-B clock I just
needed to write a device driver for the card and hook it into the system
call infrastructure I have provided. It is not necessary to provide timer
and clock functionality for each CLOCK_^lt;type&gt;. Some clocks cannot
generate interrupts in order to be usable as a timer, but can only be used
as a clock. In that case you just implement the clock_* functions.</p>

<p>Secondly I remember that not too long ago I heard someone ask for greater
precision for the clock function gettimeofday. So someone is interested in
nanosecond precision. So there it is, go ahead, and implement gettimeofday
as clock_gettime(CLOCK_REALTIME, :-).</p>

</quote>

<p>At some point, Linus Torvalds threw some cold water on the party. There
had been criticism of the patch based on timing resolution and accuracy,
and a larger discussion seemed about to erupt, when Linus cut it short with,
<quote who="Linus Torvalds">Note that the kernel patch got dropped due to other
concerns (the non-real-time siginfo part of the patch made the task structure
a lot larger, something I hadn't initially realized but rth set me straight
on that. So the final 2.3.12 won't have it after all, and people should look
into which parts (if any) of this really _has_ to be in the kernel.</quote></p>

</section>

<section
  title="Built-In Kernel Debugger v. 0.5 Announced"
  subject="[PATCH] Built-in Kernel Debugger version v0.5 is available for 2.2.10"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_04/msg00879.html"
  posts="1"
  startdate="28 Jul 1999 00:00:00 -0800"
  enddate="28 Jul 1999 00:00:00 -0800"
>
<topic>Debugging</topic>

<p>Scott Lurndal gave a pointer to <a
href="http://reality.sgi.com/slurn_engr">v. 0.5 of the built-in debugger for
linux (kdb)</a> and listed the many new features and fixes.</p>

</section>

<section
  title="2.3.12pre POSIX Timer Code Space Issue"
  subject="[RFC] RT signals"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_04/msg00936.html"
  posts="7"
  startdate="28 Jul 1999 00:00:00 -0800"
  enddate="29 Jul 1999 00:00:00 -0800"
>
<topic>POSIX</topic>

<p>Jakub Jelinek posted a patch, and said, <quote who="Jakub Jelinek">The
implementation of POSIX timers which made it into 2.3.12pre adds a siginfo_t
nrt_info[SIGRTMIN] array to task structure.  That's 4K if I count well,
which seems a little bit dangerous to me.</quote> Several folks were deeply
disturbed by this, and there was a discussion of how best to keep processes
from having to pass so much data back and forth.  No resolution, though.</p>

</section>

<section
  title="2.2 Winchip Support"
  subject="PATCH: Winchip support (2.2.10-ac12)"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_05/msg00168.html"
  posts="1"
  startdate="30 Jul 1999 00:00:00 -0800"
  enddate="30 Jul 1999 00:00:00 -0800"
>

<mention>Dave Jones</mention>

<p>Dave Jones posted a patch against 2.2.10-ac12, to enable the use of the
CMPXCHG8B instruction, and to report 3DNow! in /proc/cpuinfo for Winchip 2.</p>

<p>Under the Subject: <a
href="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_05/msg00169.html">PATCH:
Winchip support (2.3.12)</a>, Dane posted the same patch against 2.3.12.</p>

</section>

<section
  title="MM; Threading"
  subject="Re: active_mm"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_05/msg00249.html"
  posts="1"
  startdate="30 Jul 1999 00:00:00 -0800"
  enddate="30 Jul 1999 00:00:00 -0800"
>
<topic>Virtual Memory</topic>

<mention>David Mosberger</mention>

<p>Linus Torvalds had a private conversation David Mosberger-Tang, and Cc'd a
lengthy explanation to linux-kernel. David had asked, <quote who="David
Mosberger-Tang">Is there a brief description someplace on how "mm" vs.
"active_mm" in the task_struct are supposed to be used?</quote></p>

<p>Linus replied:</p>

<quote who="Linus Torvalds">

<p>Basically, the new setup is:</p>

<p>

<ul>

<li>

<p>we have "real address spaces" and "anonymous address spaces". The
difference is that an anonymous address space doesn't care about the
user-level page tables at all, so when we do a context switch into an
anonymous address space we just leave the previous address space active.</p>

<p>The obvious use for a "anonymous address space" is any thread that doesn't
need any user mappings - all kernel threads basically fall into this
category, but even "real" threads can temporarily say that for some amount
of time they are not going to be interested in user space, and that the
scheduler might as well try to avoid wasting time on switching the VM state
around. Currently only the old-style bdflush sync does that.</p>

</li>

<li>"tsk-&gt;mm" points to the "real address space". For an anonymous
process, tsk-&gt;mm will be NULL, for the logical reason that an anonymous
process really doesn't _have_ a real address space at all.</li>

<li>

<p>however, we obviously need to keep track of which address space we
"stole" for such an anonymous user. For that, we have "tsk-&gt;active_mm",
which shows what the currently active address space is.</p>

<p>The rule is that for a process with a real address space (ie tsk-&gt;mm is
non-NULL) the active_mm obviously always has to be the same as the real one.</p>

<p>For a anonymous process, tsk-&gt;mm == NULL, and tsk-&gt;active_mm is the
"borrowed" mm while the anonymous process is running. When the anonymous
process gets scheduled away, the borrowed address space is returned and
cleared.</p>

</li>

</ul>

</p>

<p>To support all that, the "struct mm_struct" now has two counters: a
"mm_users" counter that is how many "real address space users" there are,
and a "mm_count" counter that is the number of "lazy" users (ie anonymous
users) plus one if there are any real users.</p>

<p>Usually there is at least one real user, but it could be that the real user
exited on another CPU while a lazy user was still active, so you do actually
get cases where you have a address space that is _only_ used by lazy users.
That is often a short-lived state, because once that thread gets scheduled
away in favour of a real thread, the "zombie" mm gets released because
"mm_users" becomes zero.</p>

<p>Also, a new rule is that _nobody_ ever has "init_mm" as a real MM any more.
"init_mm" should be considered just a "lazy context when no other context is
available", and in fact it is mainly used just at bootup when no real VM has
yet been created. So code that used to check</p>

<pre>        if (current-&gt;mm == &amp;init_mm)</pre>

<p>should generally just do</p>

<pre>        if (!current-&gt;mm)</pre>

<p>instead (which makes more sense anyway - the test is basically one of "do we
have a user context", and is generally done by the page fault handler and
things like that).</p>

<p>Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,
because it slightly changes the interfaces to accomodate the alpha (who
would have thought it, but the alpha actually ends up having one of the
ugliest context switch codes - unlike the other architectures where the MM
and register state is separate, the alpha PALcode joins the two, and you
need to switch both together).</p>

</quote>

<p>David also asked what it meant for threads to be "more soft", since he'd
seen references to that on linux-kernel. He asked if it was related to how
segment registers were being handled on the x86. To that, Linus replied:</p>

<quote who="Linus Torvalds">

<p>It's more a reaction to a (temporary and already removed) naming issue. Ingo
got rid of the 1:1 mapping of "hard" thread structures on the x86 side,
so now we only have one TSS per CPU, and all the kernel thread structures
are completely independent of the CPU-imposed thread structure on x86.</p>

<p>While Ingo was working on it, he called the kernel thread structure
a "soft_thread_struct", while the intel TSS structure was then called a
"hard_thread_struct". That was purely temporary and never saw the light of
day: the real names are "thread_struct" for the kernel thread structure,
and "tss_struct" for the intel TSS.</p>

</quote>

</section>

<section
  title="CLONE_PPID Support In LinuxThreads"
  subject="CLONE_PPID support for LinuxThreads"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9907_05/msg00290.html"
  posts="1"
  startdate="30 Jul 1999 00:00:00 -0800"
  enddate="30 Jul 1999 00:00:00 -0800"
>

<mention>Tim Hockin</mention>

<p>David Wragg announced, <quote who="David Wragg">I have modified LinuxThreads
to support Tim Hockin's CLONE_PPID kernel patch.  The aim is to make the cost
of a pthread_create() approach the cost of a clone(). In existing LinuxThreads,
pthread_create() is many times more expensive due to a context switch to
the manager thread, which does the clone to actually create the thread, and
another context switch back to the thread that called pthread_create(). With
CLONE_PPID the thread calling pthread_create() can do the clone() directly. On
my dual PPro-200 machine this reduces the cost of a pthread_create()
from about 23000 cycles to about 11000 cycles.</quote> He gave URLs to <a
href="http://www.doc.ic.ac.uk/~dpw/linux/glibc-2.1.1-ppid.patch">his
patch against glibc/linuxthreads-2.1.1</a> and <a
href="http://www.doc.ic.ac.uk/~dpw/linux/linux-2.2.10-ppid.patch">Tim's
kernel patch</a>, as well as the <a
href="http://www.doc.ic.ac.uk/~dpw/linux/ppid-libs-0.1.i386.tar.gz">prebuilt
libraries</a>. He explained, <quote who="David Wragg">Once you have rebuilt
glibc with the patch, the easiest way to test the changes is to place the
libc and libpthread binaries into a directory and set LD_LIBRARY_PATH so
that your existing LinuxThreads program will use them.</quote></p>

</section>

<section
  title="Imminent Feature Freeze"
  subject="Re: no driver change for 2.4?"
  archive="http://kernelnotes.org/lnxlists/linux-kernel/lk_9908_01/msg00386.html"
  posts="44"
  startdate="03 Aug 1999 00:00:00 -0800"
  enddate="10 Aug 1999 00:00:00 -0800"
>
<topic>Feature Freeze</topic>
<topic>Networking</topic>

<p>In the course of discussion, Linus Torvalds said:</p>

<quote who="Linus Torvalds">

<p>Feature freeze in about two weeks is the current plan.</p>

<p>In short, people who think they have major requirements had better get
their act together. That means that if ISDN people actually want to try to
get into a real release one of these years, they don't have all that much
time to futz around any more.</p>

<p>And it does mean that if it's not in working order already, it probably
won't make it into 2.4.</p>

</quote>

</section>

</kc>

