Portál AbcLinuxu, 7. května 2025 21:30
Podpora systémů souborů v trvalé paměti...Kdyby raději konečně přijali do hlavní vývojové větve overlayfs nebo aufs. Případně obě řešení - aby si mohl vybrat každý co mu lépe vyhovuje. Udělali by lépe.
Tohle není argument, ale plácnutí do vody.
Ne. To je zcela zásadní argument. Byl v případě ReiserFS a je i v případě jakékoli jiné cool, ale nedotažené featury. Je mi jasné, že tento argument nezní dost přesvědčivě pro zástup lidí, kteří se vývojem jádra - a zejména hledáním chyb v něm - nezabývají, ale zato mají hromadu zkušeností typu "používám to už n let a prostě mi to funguje". Ale oni naštěstí nejsou tím, kdo rozhoduje, co bude v mainline.
V kernelu je řada věcí v mnohem horším stavu než zrovna tohle.
To, že je z historických důvodů v jádře kód, který je ošklivý a problematický, v žádném případě neospravedlňuje bezhlavé přidávání dalšího. Navíc se to až na řídké výjimky vesměs týká spíš koncových driverů zařízení. Filesystém je něco trochu jiného a pravidla jsou tam mnohem přísnější. Ne náhodou je poškození filesystému považováno za závažnější typ chyby než úplný pád systému.
Jasně. Jako byl v okamžiku přidání skvěle dotažený ext4.
Máte nějaké konkrétní příklady obtížně udržovatelného kódu nebo (v té době) známých vážných chyb, nebo jde jen o - vašimi slovy - "plácnutí do vody"?
Osobně mám dojem že se nové věci do jádra přidávají spíš z pozice ekonomické síly jejich vendora než kvality.
Na základě čeho máte ten pocit? Pokud za něčím stojí ekonomicky silný subjekt, tak to samozřejmě hraje roli, ale spíš nepřímo: je pochopitelně jednodušší něco rozsáhlejšího vyvinout a dotáhnout do akceptovatelné podoby, pokud někdo zaplatí vývojáře, kteří by se tomu naplno věnovali.
Obávám se, že podobné konspirační teorie o tom, jak jacísi tajemní "oni" zlovolně brání začlenění užitečných featur do jádra, jsou jen názorným příkladem pravidla "čím méně toho o problematice vím, tím snazší je mít o ní jasno". Jakmile si dohledáte konkrétní pull requesty, námitky maintainerů a důvody odmítnutí, začne se ukazovat, že je to vlastně celé trochu jinak.
Jeden historický bud jen tak namátkou.Hádám, že jste se asi neobtěžoval přečíst si, v čem ten bug spočíval, že ne? Ten "bug ve filesystému" byl ve skutečnosti chybou aplikací, které nesprávně očekávaly nějaké specifické chování, v tomto případě že soubor je na disk zapsán okamžitě poté, co ho aplikace uzavře. Takové očekávání je chybné, protože nic takového garantováno není a pokud aplikace chce mít soubor skutečně okamžitě zapsaný na disk, musí si o to říct například pomocí fsync(). Opravovalo se to ve filesystému - pouhou změnou výchozího nasstavení IIRC - protože takhlě blbě napsaných aplikací bylo moc.
Věci za kterými stojí velké firmy (Red Hat, Oracle, Google) se dostaly do kernelu celkem bez keců poměrně rychle - přes to, že jejich použitelnost byla diskutabilní.Určitě máte nějaký příklad, že? Včetně té diskutabilní použitelnosti, prosil bych.
Aufs je s námi už poměrně dost dlouhou dobu, ale protože za jeho vývojem nestojí velká firma, tak v jádře stále není.Zatímco fakt, že je to 16000 nebo kolik řádků totálně nepřehledného kódu, ve kterém se vyzná asi tak jeden člověk, žádnou souvislost nemá...
Přitom nic nebrání tomu, aby to bylo přidané jako experimentální modul.Jakmile se to jednou dostane do jádra, musí se o to někdo starat. To brání tomu, aby to bylo přidáno jako experimentální modul. Slovo experimentální na tom nic nemění.
Pokud jde o overlayfs, tak podle toho co vím jde o věc napsanou přímo dle doporučení vývojářů kernelu. O zařazení se uvažovalo již u jádra 3.10 Dnes se připravuje jádro 3.17 a stále není začleněno ani jedno řešení.Podle rychlého googlení se na overlayfs stále pracuje - když o něj tak stojíte v mainline, můžete pomoci.
Věci za kterými stojí velké firmy (Red Hat, Oracle, Google) se dostaly do kernelu celkem bez keců poměrně rychle - přes to, že jejich použitelnost byla diskutabilní.
Příklad? To, že vy osobně něco považujete za těžko použitelného, zdaleka neznamená, že to nemůže být velmi užitečné pro druhé. Myslíte snad, že ty firmy, které jste jmenoval, jen tak pro zábavu financují vývoj něčeho, co nemají v úmyslu používat? Občas samozřejmě ano, ale většinou se investuje do toho, co má zřejmý smysl.
A hlavně: užitečnost je jen jednou z podmínek pro to, aby se kód dostal do mainline.
O zařazení se uvažovalo již u jádra 3.10 Dnes se připravuje jádro 3.17 a stále není začleněno ani jedno řešení.
Nepíšete ovšem proč. Díval jste se, jestli od té doby byly nějaké pull requesty, a pokud ano, jak bylo zdůvodněno zamítnutí?
předpokládám, že pokud by mělo jedno, nebo druhé řešení nějaké zásadní bugy, tak by se to nejspíš projevilo
To je velmi odvážný předpoklad. Linux se dnes používá na extrémně širokém spektru zařízení a velmi rozmanitými způsoby. Jsou chyby, které se projevují jen na určitých architekturách, jen s mnoha procesory (což pro někoho nemusí znamenat 64, ale spíš 4096), spoustou paměti nebo třeba mnoha SCSI zařízeními.
Mimochodem, jádro 3.10 vyšlo před necelými 15 měsíci. Z hlediska vývoje něčeho tak komplexního to není až tak dávno, jak to na první pohled vypadá.
Já přeci nemám nic proti tomu, že se do jádra přidávají věci důležité pro jiné, a které osobně nepoužívám.To o vás ale předřečník netvrdil, že ne? Jo a ten příklad chybí...
Nejsem vývojář kernelu a na sledování komunikace o tom co se kde šustne nemám čas.Ale když vám odpovídá člověk, který AFAIK do vývoje kernelu vidí, tak ignorujete, co říká...
Mě nedělá problém si čas od času kernel opatchovat, ale soudím že vývoj a údržba takových věcí mimo hlavní vývojovou větev sebou nutně nese opruz navíc.Ano, je pochopitelné, že byste byl radši, kdyby ten opruz někdo řešil za vás. Jenže ten někdo vůbec nemusí být původní vývojář toho kódu, ale někdo, komu to spadlo na hlavu poté, co se původní vývojář na kód vykašlal.
A řekl bych že v případě některých technologií je to spíš otázka politiky než zdrojového kódu. Z toho co vím se o to, že zatím k začlenění overlayfs nedošlo nejvíc zasloužila jedna ... která zakalila vodu a pak zase chcípnul pes.Takové tvrzení by bylo vhodné podložit odkazy na relevantní diskuzi třeba na LKML... jinak to není nic jiného, než to plácnutí do vody.
Obvyklé je, že konkrétní výhrady sdělí příslušný maintainer subsystému v odpovědi na pull request (nebo sérii patchů). Pokud tomu tak v tomto případě nebylo, pak očekávám, že vy poskytnete odkaz na e-mail, kterým byl pull request zamítnut, abychom mohli posoudit, zda šlo opravdu jen o vágní výmluvy. Pokud jste tu odpověď ve skutečnosti nečetl a přesto tady stále mlžíte o temných silách a moci peněz, pak to dost vypovídá o vaší věrohodnosti.
Já jsem například jako poslední našel tohle. Al Viro tam přednesl zcela konkrétní technické výhrady. Nejsa specialistou na VFS a filesystémy, netroufám si posuzovat jejich závažnost a relevanci. Vy ano?
Pokud tím člověkem co "AFAIK do vývoje kernelu vidí" máte být vyNe. Ten příklad věcí, které "se bez keců dostaly do mainline díky podpoře velké firmy přes to, že jejich použitelnost byla diskutabilní" asi nebude, co?
soudím že vývoj a údržba takových věcí mimo hlavní vývojovou větev sebou nutně nese opruz navíc
To rozhodně ano. Ale i tak tomu občas dá někdo přednost před tím, aby svůj kód upravil do akceptovatelné podoby.
Nejsem vývojář kernelu a na sledování komunikace o tom co se kde šustne nemám čas.
Přesto by neměl být takový problém, pokud vás overlayfs tak moc zajímá, dohledat příslušnou komunikaci ve veřejných archivech příslušných mailing listů. Rozhodně by to bylo přínosnější než bez dostatečných informací šířit mlhavé náznaky typu
A řekl bych že v případě některých technologií je to spíš otázka politiky než zdrojového kódu. Z toho co vím se o to, že zatím k začlenění overlayfs nedošlo nejvíc zasloužila jedna ... která zakalila vodu a pak zase chcípnul pes … ale jeho kód je stále údajně fuj fuj fuj. Takže jsme v situaci, kdy v mainline není pro jistotu nic.
A sorry, na pocit, že kdo nemaže, ten do jádra nejede, mám plné právo.
To určitě máte. Jen byste ho neměl vydávat za nic víc než za osobní pocit někoho, kdo to dění vlastně nijak moc nesleduje a ten pocit si utváří na základě kusých informací z druhé ruky.
Osobně mám dojem že se nové věci do jádra přidávají spíš z pozice ekonomické síly jejich vendora než kvality.
Proto také ignoruji trekkerovy a Kubečkovy výzvy abych dohledával věci, které momentálně stojí zcela mimo moji pozornost.
Aha. Takže na jedné straně vás overlayfs tak moc zajímá a jeho absence v mainline tak moc trápí, že po diskusích spřádáte konspirační teorie o tom, jak ho maintaineři bez vážného důvodu odmítají přijmout, ale na druhou stranu je zcela mimo vaši pozornost ověřit si, jak to je s tím (ne)začleněním ve skutečnosti (dogooglit se k tomu threadu, na který jsem odkazoval odpoledne, mi netrvalo ani pět minut). Zajímavé…
Začlenění do mainline podle mě výrazně zvyšuje šanci na to, že se najde někdo, kdo případné bugy najde, případně ne příliš dobrý kód napíše jinak a lépe.Ano, tuhle teorii zastávali i jiní. Zkusilo se to u btrfs a ukázalo se, že to zase tak moc dobře nefunguje, vývoji se pak stejně věnovali víceméně ti samí lidé, které tenkrát platil Oracle. Se stejnou myšlenkou vznikl staging strom a taky to není žádný zázrak. Proto na tenhle argument vývojáři mainline už neslyší, i přesto že si Aleš Kapica myslí, že u overlayfs by to určitě fungovalo.
Proto také ignoruji trekkerovy a Kubečkovy výzvy abych dohledával věci, které momentálně stojí zcela mimo moji pozornost.Ještě že je na co se vymluvit...
Zrovna začlenění Btrfs bylo pro mne doslova požehnání.Nesouvisí s rychlostí vývoje v mainline a mimo.
A rozhodně nemám pocit, že by tím jeho vývoj nějak utrpěl - právě naopak.AFAIK vývojáři jádra měli pocit opačný. A pokud říkáte, že nemáte čas sledovat vývoj jádra, tak oni ho IMO mají.
V podstatě je to jediný souborový systém, který svými možnostmi tvoří na linuxu protiváhu k ZFS.Taktéž nesouvisí s rychlostí vývoje v mainline a mimo.
A pokud si něco Aleš Kapica myslí, tak to taky dříve nebo později bude. Prozatím se mi nestalo, že bych v oblasti IT někdy vsadil na špatného koně.Ehm, Reiser4? Navíc jste stále mimo téma, nejde o žádné koně, ale o to, že začlenění do mainline projektům většinou nepomáhá k urychlení vývoje.
Evidentně však ten důvod unikl i vám
Na to, že mu - podle vás - unikl, ho popsal dost přesně. Přinejmenším podstatně přesněji než vy…
Nějak jsem si nevšimnul.
Očividně. Já ale ano.
Jediný link k věci byl od vás, jenže z doby kdy o jádře 3.10 ještě nebylo potuchy.
Byl to poslední (nejnovější) submit, který jsem našel. Pokud vy víte o nějakém novějším, očekávám, že se podělíte o odkaz. A mimochodem, pokud by byla tato série přijata, objevila by se v mainline právě ve verzi 3.10 (nebo, chcete-li, 3.10-rc1), takže je mi záhadou, z čeho vychází vaše tvrzení, že tehdy "o jádře 3.10 ještě nebylo potuchy").
V době, kdy jsem používal Reiser4 vývoj Btrfs teprve začal, takže nemyslím, že bych jeho používáním nějak šlápnul vedle.Opravdu nedokážete udržet myšlenku přes 2 příspěvky? Psal jste o sázení na špatného koně. Vzhledem k tomu, jak Reiser4 dopadl (nijak), vám ho jako dobrého koně těžko někdo uzná.
Pokud jde o vývojáře jádra, tak je vcelku logické aby dění kolem kódu sledovali. Jenže mě na rozdíl od nich, nebo některých mých kolegů, vývoj který bezprostředně souvisí s kernelem neživí.Přesto tady ale dáváte fundované názory na to, proč začleněn nebyl.
Evidentně však ten důvod unikl i vám, jinak byste uvedl odkaz na konkrétní s tématem související vlákno, místo toho otírání o mou osobu, jimž plevelíte tuhle diskuzi.Zajímavé, když vy něco tvrdíte, ale neuvedete příklad a nedáte link, je to v pořádku, protože "nesledujete dění okolo jádra". Když ho neuvedu já - protože je to hledání na půl minuty, což byste měl zvládnout - je to otírání o osoby a plevelení diskuze... LMGTFY: http://lwn.net/Articles/600106/ , třeba Dovolil bych si ocitovat první odstavec
Whiteout is now a special char device instead of a symlink, this breaks compatibility with previous versions. See attached conversion script (takes upperdir as argument).To mi opravdu nepřijde jako kód vhodný pro začlenění do mainline. Pokud nebudete chtít jenom plácat do vody, můžete si před další diskuzí dohledat reakce na ten mail, ze kterých je docela dobře vidět, že se ten kód pořád vyvíjí...
Překrytá vrstva je pro nás zajímavá spíš z opačného důvodu.Pro vás. Jenže někdo jiný může mít jiné potřeby mezi které patří možnost plně využívat overlay jako standardní filesystém. A standardní filesystém musí mít možnost mazat soubory.
Proto se hledá nějaké obecně použitelné řešení. Z praktického hlediska je to však zcela parciální problém.... jehož řešení nicméně zjevně není triviální.
Řekl bych, že k této změně bylo přikročeno právě proto, aby se vyšlo vstříc rozmarům vývojářů jádra
Na základě čeho byste to řekl? Na základě svých hlubokých znalostí VFS? Tak hlubokých, že aniž byste sledoval tu komunikaci (což jste sám přiznal), okamžitě poznáte, jestli je vhodnější řešení Miklose Szerediho nebo Al Vira?
Ale hlavně jde o to, abyste pochopil, že to, co se děje, je normální technická diskuse a přirozený vývoj, ne vrtošivé rozmary někoho (koho označujete hvězdičkami), kdo si postavil hlavu, protože toho druhého nemá rád nebo od něj nedostal úplatek.Tak zrovna o tomhle mám silné pochybnosti.
To je ovšem velmi svérázná (dez)interpretace.
Načež jako čertík z krabičky vyskočil Okajima se svými technickými připomínkami.
Takže ty připomínky nakonec jsou technické (i podle vás). To jsou mi věci… Nemluvě o tom, že Okajima není maintainerem příslušného subsystému, takže jeho výhrady vůbec nemusejí být důvodem k odmítnutí.
Ale jak už jsem řekl, mnohem větší problém vidím v tom, že do vydání 3.17 zbývá jen pár dnů.
Co vím, tak…
Raději si konečně přečtěte ty thready, ať můžete operovat něčím, co opravdu víte. A už jsem se ptal jednou: vy se opravdu cítíte tak kovaný ve VFS a filesystémech, abyste si troufal posoudit, které technické připomínky jsou relevantní "konkrétní" a které jsou jen pokusem o zdržování? (Kromě toho, že je mi záhadou, co by to zdržování komu vlastně přineslo.)
A pokud jde o pečlivost čtení. Szeredi hned v prvním mailu píše, že by chtěl kód začlenit do řady 3.18, takže mi uniká spojitost s vydáním stable verze jádra 3.17.
Asi to bylo naivní, ale doufal jsem, že bavíme-li se v diskusi pod Jadernými novinami, budou mít všichni zúčastnění aspoň základní představu, jak vývojový cyklus funguje. A bude jim tedy jasné, že aby se kód implementující novou funkci (přesněji cokoli, co není jen oprava chyby) dostal do 3.18, je potřeba, aby byl přijat do příslušného subsystému před začátkem příslušného merge window, tj. před vydáním 3.17 (přičemž čím dříve, tím lépe). Teoreticky je sice možné, že by to prošlo i po jeho začátku, ale bylo by to hodně neobvyklé a Linux takové věci nevidí rád (velmi mírně řečeno).
Na to mu Szeredi odpověděl, s tím že co si pamatuje, tak aufs aby mohlo fungovat, některé věci z mainlainu odstraňovalo.Jste si jistý, že jste si tu diskuzi přečetl pořádně?
Pokouší se o to spousta lidí a jak lze snadno nahlédnout v gitu, docela často i úspěšně. Jen to chce rozumět tomu, jak věci fungují a nebrat každou připomínku jako akt vyhlášení osobní války.
Jistě, někdy je frustrující, když třeba posíláte čtvrtou verzi patche kvůli coding style a pořád ještě nikdo nenapsal, jestli je tohle vůbec správný způsob, jak problém řešit. Ale stačí pár zkušeností s hledáním a opravováním problémů ve zdrojácích projektů (i výrazně menších), které takhle přísnou "štábní kulturu" nemají, aby člověk pochopil, že to není samoúčelné.
asi dvakrát jsem nějaký one-liner poslal a stačilo mi ke spokojenosti, že to lidi najdou googlem v LKML, když už se nikdo nenamáhal to zařadit
Málokdy stačí jen LKML (pokud vůbec u něčeho). Je potřeba si přečíst Documentation/SubmittingPatches
a podívat se do MAINTAINERS
(nebo rovnou použít scripts/get_maintainer.pl
). Když se to pošle správným adresátům, bývá reakce hodně rychlá.
mix technického deliria (sada dvě stě patchů)
Já jich ve větvi overlayfs.current
vidím patnáct.
Moje schránka doručené pošty vypadá, jako by vlak naboural přepravující e-maily a pak se na něj ještě zřítilo letadlo s nákladem e-mailů.nemělo by to být spíš
Moje schránka doručené pošty vypadá, jako by naboural vlak přepravující e-maily a pak se na něj ještě zřítilo letadlo s nákladem e-mailů.?
Moje schránka doručené pošty vypadá, jako by vlak přepravující e-maily naboural do jiného vlaku přepravujícího emaily a pak se na něj ještě zřítilo letadlo s nákladem e-mailů.
Tohle taky moc ne:
většina jádra na téhle úrovni pracuje s pamětí pomocí stránky struktury
Dokud jsem si to otrocky slovo od slova nepřeložil zpátky, vůbec jsem netušil, co by mohla být ta "stránka struktury" (hint: je-li něco v originále "psacím strojem", je to obvykle kód a ten je lepší nepřekládat).
A o kousek dále:
To například vylučuje nulové kopírování vstupně-výstupních síťových operací se souborem uloženým v zařízení NVM.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.