Ted Ts'o: ext4 lesz az Android 2.3 fájlrendszere

Címkék

Tim Bray egyik írásában azt olvashatjuk, hogy az Android a 2.3-as (kódnevén "Gingerbread") kiadástól fájlrendszert vált. Az eddig alkalmazott YAFFS-ról ext4-re. Bray arra hívja fel a fejlesztők figyelmét, hogy mivel az ext4 sokkal agresszívebben pufferel, még fontosabb, hogy a fejlesztők gondoskodjanak arról, hogy az adatok megfelelően kiírásra kerüljenek permanens adattárolóra, ha arra van szükség. Ted Ts'o, az ext* fájlrendszerek guruja nem aggódik annyira Bray figyelmeztetése miatt. Ted "Android will be using ext4 starting with Gingerbread" című írása itt olvasható.

Hozzászólások

az láma kérdés, hogy hogy a fenébe fogunk migrálni?
gondolom csak az új készülékekkel lesz megoldható...
vagy reinstall.

vagy rosszul gondolom?

-----------------------------
http://aftermodern.hu

CyanogenMod alatt remekül működik ~5 hónapja ext2/ext4-gyel 2.2 - 2.2.1

~ubuntu, os x~

Ebben csak az a vicces, h nem is olyan reg meg a HUP is hangos volt attol, h flash drive-ra nem az igazi az ext* mert csunyan kinyirja azzal, h nem osztja szet a terhelest megfeleloen. Ennek oromere most teloba kerul ahol a flash meg annyira sem cserelheto, mint mondjuk egy usb pendrive. :) Mondjuk nem is rossz otlet. Tegyuk fel, h ket-harom ev alatt kinyirja a telot, a juzer pedig mehet ujat venni. :)

---
pontscho / fresh!mindworkz

Alapvetően két lehetőség van: vagy raw eszközre ubifs/yaffs, és akkor ők maguk intézik a levelinget, vagy pedig blokkeszközre ext4/btrfs. Az utóbbinál vagy hardveres leveling van, vagy FSR-hez hasonló megoldás, a fájlrendszernek ezekről nem kell tudnia (sőt, ilyenkor nem is lehet ubifs-t/yaffs-t használni).

"with 2.3, an increasing proportion of devices, notably including the Nexus S, are going to be moving from YAFFS to the ext4 filesystem"

Vagyis nem feltétlenül mindegyik fog Ext4-et használni.

egyébként írják is a kommentekben:
"our main motivation here was to select a filesystem to work on top of emmc which has built-in block rotation and translation and looks like a regular block device (similar to ssds on desktop systems)"

a lagfix nevű hack pont ezt csinálja galaxy S-en

Sync-elni annak kell, aki cache-el.

1. Ha egy program sync-el, de nem cache-el, akkor egyáltalán nincs cache, a diszk kattog -> kőkorszak.

2. Ha a programok mind megírják maguknak a cache-elést, akkor felesleges volt modern os-eket fejleszteni.

Következmény: Ha valaki a 21. században azt javasolja, hogy "a fejlesztők gondoskodjanak arról, hogy az adatok megfelelően kiírásra kerüljenek permanens adattárolóra", az a megértés hiányáról tesz bizonyságot.
--
CCC3

Mér beszél zöldeket a tsóka?

"But unlike Ubuntu’s running on random PC’s, with users downloading the latest (possibly buggy) Nvidia drivers, handset manufacturers test their systems very carefully before they let them ship. So if there are any problems, they tend to be found before the phone ships to end-users."

Unlike IOs, ami azon a vason fut csak amit a gyártó alárak, az Android arra van kitalálva, hogy minden baszom ketyerére rá lehessen húzni (pl. akár szifonyra :) ), tehát nem indulhatunk ki abból, hogy az adott install le lett tesztelve gyárilag.

"So at least in my experience, my Nexus One has been very reliable; it’s never crashed on me. So the chances of random crashes when you exit the 3D game ... are very remote."

Nem csak a kernel zuhanhat meg. Ha egy app leblokkolja az inputot vagy a videót, akkor se lehet sok mindent tenni pávörgombon túl. (ha PC + kábel kéznél van, adb-n keresztül talán meg lehet oldani a szitut, de nem az Avegage Joe-nak). A 3rdparty appok, ugyanúgy mint a 3rdparty vas, bizonytalanságot visznek a helyzetbe. [szerk: mondjuk gondolom van szinkronizálás csúnya kikapcsnál is]

"So at least in my experience, my Nexus One has been very reliable; it’s never crashed on me."

Hát igen, szerencsés ember. Nekem meg már crash-elt néhányszor a Nexus (hivatalos Google-s Android builddel, normál használat mellet).

Unlike IOs, ami azon a vason fut csak amit a gyártó alárak, az Android arra van kitalálva, hogy minden baszom ketyerére rá lehessen húzni (pl. akár szifonyra :) ), tehát nem indulhatunk ki abból, hogy az adott install le lett tesztelve gyárilag.

Ez így nem igaz. Az, hogy az Android platform egy jól összerakott rendszer, és egy gyártó (vagy akár néhány önkéntes) könnyen tudja portolni egy olyan HW platformra, amin már eleve fut a Linux (ez kb. az összes, a piacon ma kapható, gyártók számára érdekes HW-t fedi) messze nem ugyanaz, mint az, hogy letöltöd az Internetről az Ubuntu CD-t, belököd a sarki boltból vett legolcsóbb PC-be, és azt várod, hogy ugyanolyan jól működjön, mint a legtrendibb netbookon, vagy a legdrágább, csillió magot tartalmazó szerveren.

Az Android platform (AOSP) nem végfelhasználóknak készül, pontosan olyan, mint a vanilla kernel. Fel lehet tenni bármire, de senki nem várja el, hogy egy stabil, kitesztelt rendszert kap így.

A hivatalos, gyártók által támogatott Android telepítőkészleteknél (itt most a Cyanogenmod-ot is gyártónak tekintem pl.) biztos lehetsz abban, hogy az adott HW-re, amire telepíted, le lett tesztelve.

Egy átlagos Linux disztró esetében, mint az Ubuntu, még márkás gép esetében sem lehetsz biztos abban, hogy az adott konfiguráción tesztelték.

Hát igen, szerencsés ember. Nekem meg már crash-elt néhányszor a Nexus (hivatalos Google-s Android builddel, normál használat mellett).

Totál crash, újraindítással, vagy "csak" pár alkalmazás szállt el? Hányas build?

Nekem ez egyáltalán nem jellemző, bár tény, hogy az enyémen fél napig volt hivatalos build, azóta saját fejlesztésekkel patchelt AOSP froyo fut rajta.

Üdv,
Gergely

Ui: Egyébként egyáltalán nem vagyok Nexus fan, a G1-es fejlesztési célra sokkal jobb volt. Egy erősebb HW-vel updatelt G1-es a fejlesztők számára sokkal inkább megfelelne, mint a Nexus vagy a Nexus S.

A hivatalos, gyártók által támogatott Android telepítőkészleteknél (itt most a Cyanogenmod-ot is gyártónak tekintem pl.) biztos lehetsz abban, hogy az adott HW-re, amire telepíted, le lett tesztelve.

Egy átlagos Linux disztró esetében, mint az Ubuntu, még márkás gép esetében sem lehetsz biztos abban, hogy az adott konfiguráción tesztelték.

OK, értem a különbséget, de azért mégiscsak tény, hogy időnként be tud halni, azért furcsállom, hogy abból indul ki egy technikai döntés, hogy "á, mi úgyse crash-elünk".

Totál crash, újraindítással, vagy "csak" pár alkalmazás szállt el? Hányas build?

Újra kellett indítani (vagy újraindult egyszercsak? már nem emlékszem). Hát ha egyszer N1 hivatalos builddel, akkor az mindig a legfrissebb, nem? Már nem emlékszem arra se, hogy a mostani FRG83D-s időszakban volt vagy a megelőző FRG83-asban. Egyszer vagy kétszer volt ilyen.

(Kicsit off, de most meg, a T-s 3G kiesésnél olyan volt, hogy (amidőn kipróbáltam h egy reboot visszahozza-e a 3G-t), hogy nem akart elindulni. Teljsen tégla volt, jól be is fostam (bár nem unlockoltam, de Mo.-n vett N1-re nincs gari [itthon]). Végül kiszedtem a SIM-et és akkor bepöccent.)

"Ui: Egyébként egyáltalán nem vagyok Nexus fan, a G1-es fejlesztési célra sokkal jobb volt. Egy erősebb HW-vel updatelt G1-es a fejlesztők számára sokkal inkább megfelelne, mint a Nexus vagy a Nexus S."

Erről mondhatnál többet. Azt értem, hogy a G1 layoutja jóval hacker-friendlybb az IRL billenytűk miatt, de te nem hacker felhasználó vagy elsősorban, hanem fejlesztesz rá. Milyen szempontjaid vannak a készüléket illetőleg? Saját kútfőből arra gondolnék, hogy az a jó, ha olyan, mint ami a célközönség zömének feltehetően van, hogy lásd, hogy megy az app igaziba... azon túl meg tökmindegy, mert a fejlesztés maga úgysem a telón történik.

Erről mondhatnál többet. Azt értem, hogy a G1 layoutja jóval hacker-friendlybb az IRL billenytűk miatt, de te nem hacker felhasználó vagy elsősorban, hanem fejlesztesz rá. Milyen szempontjaid vannak a készüléket illetőleg? Saját kútfőből arra gondolnék, hogy az a jó, ha olyan, mint ami a célközönség zömének feltehetően van, hogy lásd, hogy megy az app igaziba... azon túl meg tökmindegy, mert a fejlesztés maga úgysem a telón történik.

A hardveres billentyűzet azért jó a fejlesztői telefonon, mert lehet az ilyen típusú eszközökre is tesztelni. És azért fontos, hogy "hivatalos" fejlesztői telefon legyen, mert ahhoz jó eséllyel hamar kijönnek az új OS verziók.

Emellett, mivel rengeteg féle Androidos eszköz van, esélyed nincs arra, hogy pont olyan telefonod legyen, ami megegyezik a "problémás felhasználó"-éval.

Abban igazad van, hogy lehet olyan stratégiát követni a készülékvásárláskor, hogy a "gyakori" telefonokból vásárolsz a fejlesztőknek. Ettől függetlenül, az alkalmazásfejlesztőknek fontos, hogy a legfrissebb OS verziókon jól fusson a programjuk, tehát valamilyen szinten a piac előtt járjanak -> olyan telefon (is) kell, amire az gyorsan elérhetővé válik.

A mi helyzetünk annyiban speciális, hogy főleg olyan projekteken dolgozunk, ahol bele kell nyúlni a platformba is, tehát mindenképpen csak olyan eszköz jöhet szóba, amit az AOSP jól támogat. Ez pedig (sajnos) a mindenkori "hivatalos" Google telefon: G1, Nexus One, és most a Nexus S lesz majd, ha minden igaz.

A fejlesztés/tesztelés egyébként Android esetében a telefonon/valódi hardveren folyik, mivel a telefonon a szoftver gyorsabban fut (próbálj videót lejátszani emulátoron), és minden periféria (pl. kamera, szenzorok) elérhető.

Emulátort csak akkor használunk, ha valami miatt a HW nem hozzáférhető.

Üdv,
Gergely

Csak tudnám, hogy miért nem jó nekik a pont erre a célra való Ubifs??

Ez nekem is kérdéses. Az ext4 nem szerencsés fs egy usb drive-ra sem. Az Ubi is akkor használható, ha van raw hozzáférés a nand flash chipek-hez.
A Btrfs elvben használható raw hozzáféréssel és anélkül is (egyébként a meego-ban alap fs lesz)
Az ubi mitől lassabb? Van erről hiteles mérés? (Úgy tudom ubi-nál raw hozzáférés miatt a wear-leveling a fő processzort terheli ezért lehet lassabb, de ha a hw-wear-levelingen megspórolt pénzből gyorsabb proci kerül a mobilba akkor ugyanott leszünk)

Ez esetben az LVM2-t is implementálhatnák, mert az alatt az EXT4 jobban muzsikál.

--
robyboy

"Gondolkozni nehéz, ezért legtöbben ítélnek." - Márai Sándor

"egyébként pedig a journaling adott esetben kikapcsolható."
- ez megoldás... de akkor meg minek egy ext4?
"a journalt csak akkor írja, ha ír valamit a fájlrendszerre"
- meg ugye atime pl.

### ()__))____________)~~~ ################
#"Ha én veletek, ki ellenetek?"#N210/Xubu