turbulentVader van Linux, Linus Torvalds, hij sprong weer in de publieke belangstelling. De ‘openingsmethode’ is nog steeds een bekende formule——vloek. Laten we eerst eens kijken naar de beroemde boze scène van Linus: je code is rotzooi. Ik ga je een week lang in de spam gooien.



En deze keer komt het ‘slachtoffer’ vandaanGooglenEen van de programmeurs, Steven Rostedt.

En hij is niet zomaar een ontwikkelaar, in de woorden van een internetgebruiker: "hij kan als een grote baas worden beschouwd."


Bron afbeelding: commentaargebied "OSC Open Source Community".

Niet alleen dat, afgaande op de tijdlijn zijn de twee partijen al lange tijd met elkaar in botsing.4 dagenvoor een lange tijd...

Dus wat is er aan de hand?

Een "inodes", vier dagen ruzie

Dit verhitte debat vond plaats op de Linux-kernelmailinglijst.

Steven plaatste oorspronkelijk een bericht over de eventfs-patch (event file system).

Concreet wil ik bespreken of inodes (indexknooppunten) uniek moeten blijven.


(Opmerking: inodes zijn een kernconcept in Linux-bestandssystemen. Het is een datastructuur die wordt gebruikt om metagegevens over een bestand of map op te slaan, in plaats van de feitelijke inhoud van het bestand.)

Steven denkt:

Linus stelde eerder voor om dezelfde inode te gebruiken in eventfs om de implementatie van getdents() te vereenvoudigen, wat betekent dat alle bestanden en mappen dezelfde inode zullen gebruiken.

Later bleek echter dat deze praktijk problemen veroorzaakte met de opdracht "find" omdat de map en het bestand dezelfde inode hebben.

Linus ontdekte later dat er op 64-bits machines een gat in de eventfs_inode-structuur zat als gevolg van uitlijning, dat kon worden gebruikt om de inode van de map op te slaan. Dit loste het mapprobleem op, maar het bestand behield nog steeds zijn eigen inode.

Volgens Steven zal deze benadering, aangezien het tar-commando afhankelijk is van de inode om de uniciteit van het bestand te bepalen, de functie van het tar-commando vernietigen:

Momenteel heeft het tar-commando al problemen met tracefs (een variant van het gebeurtenisbestandssysteem), omdat alle bestanden de grootte nul hebben, waardoor tar niets kopieert.

Daarnaast gaf Steven ook zijn eigen oplossing: het wordt aanbevolen om de functie get_next_ino() van de VFS-laag te kopiëren naar de functie tracefs_get_next_ino() van tracefs en een parameter "files" toe te voegen.


Op deze manier is het vereiste aantal inodes vooraf bekend wanneer de eventfs-map wordt gemaakt. tracefs_get_next_ino() zal een nieuwe inode retourneren en de volgende "bestanden" inodes reserveren die de beller kan gebruiken.

Wanneer de inode van een bestand wordt aangemaakt, zal de inode de inode van de bovenliggende map zijn plus de index in de array met bestanden van die map, waardoor elk bestand een unieke inode krijgt.

Een dergelijk voorstel werd echter krachtig tegengewerkt door Linus.

Het kernpunt van Linus is"De inode is niet langer de enige descriptor, en we moeten niet blijven vertrouwen op dit oude mechanisme.".

Steven geloofde het antwoord van Linus echter niet. Hij stond erop:

Alle bestanden en mappen moeten unieke inodes hebben, wat bepaalde aspecten van het bestandssysteem vereenvoudigt.

Na verschillende discussierondes kon Linus echter niet stilzitten, en toen vond de beroemde scène van woede plaats:

Maak de zaken niet zo ingewikkeld.

U begrijpt het doel en de noodzaak van deze functies niet volledig

Je code is onzin.

Beide partijen leken hun eigen mening te hebben, en het spel ging lange tijd heen en weer. De strijd duurde van 26 januari tot 29 januari...


Maar het dramatische is dat terwijl Linus ruzie maakte, hij later de Linux-kernel 6.8-rc2-versie uitbracht.

Hij hoopt dat deze versie problemen uit eerdere versies zal oplossen en moedigt gebruikers aan om deze te testen.

Dit is niet de eerste publieke ‘confrontatie’

Sterker nog, daarvoor ‘confronteerde’ Steven Linus begin 2020 ook publiekelijk tijdens een toespraak tijdens een evenement.

Hij positioneerde zelfs direct het thema van zijn toespraak"Ruzie maken met Linus Torvalds", is de inhoud nog steeds gericht op suggesties voor het verbeteren van de Linux-efficiëntie.


Netizens gaven echter ook hun mening over deze laatste strijd.

Sommige mensen vinden dat historische bagage achterwege moet worden gelaten, terwijl anderen denken dat het slechts een verschil in hun ontwerpconcepten is:


Bron afbeelding: commentaargebied "OSC Open Source Community".