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

 ( trey | 2010. december 13., hétfő - 16:33 )

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ás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

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

Ha rootoltál, a Recovery-ben már most is megcsinálhatod: File system-> Convert to ext2/ext4, csinál egy backupot az SD-re, format, copy - kb 40 másodperc.

~ubuntu, os x~

mhm. nem rootoltam.
ezen a téren inkább maximálisan user maradok, kényelmi okokból.

viszont ez logikusan hangzik, köszi, már értem.

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

Már csak kényelmi okokból is érdemes rootolni... :)

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

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

hw-es wear leveling, miegymás?

Gondoltam ra, de ez nem jellemzo a mobilokban sem.

---
pontscho / fresh!mindworkz

http://osl.sed.hu/~havasi/ubifs/#ubi


Amit nem lehet megirni assemblyben, azt nem lehet megirni.

Nem gyozott meg. De a neven jot rohogtem. :)

---
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

nem teljesen, az az RFS ből csinál talán ext3-at.

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

Uhh...
Nem errol van szo, olvass utana a temanak:)

tompos

Politikustól (F. Lajos) hallottam ezt egy tv interjúban kb 20 éve: "Arról kérem, amiről itt beszélünk, szó sincs."
--
CCC3

+1.

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??

Talán mert az ubi lassabb.
Én az nem tudom, hogy egy mezei ext4 hogy a retekbe fogja a hibás NAND blokkokat kezelni?
Gyanús, hogy peccselt ext4 lesz az.

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)

Ubi az MTD-re ül rá.
+1 layer

De sokkal biztonságosabb. Ma az van egy sd kártyával, vagy bármilyen usb flash drive-al, ha bekrepál rajta a vezérlő elektronika még a Kürt sem menti meg róla az adatokat. Ubi-nál a közvetlen hozzáférés miatt amíg van ép flash-cella azok tartalmát meg lehet menteni.

Az már rég rossz, ha az EXT4 a legalkalmasabb ilyen célra
----------------
http://www.youtube.com/watch?v=qrQuR1LHAVI

> Az már rég rossz, ha az EXT4 a legalkalmasabb ilyen célra

Tegyük fel, hogy nem "az EXT4 a legalkalmasabb ilyen célra". Az akkor nem "rég rossz"? :-)))

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

?

Ez tök komoly. Fedoráéknál szépen le van dokumentálva a Deployment Guide-ban, hogy logikai köteten gyorsabb bizonyos esetekben az EXT4.

--
robyboy

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

És mennyire fog használni a kártyának, illetve az akkuidőnek a folyamatos írás, naplózás?
--
Discover It - Have a lot of fun!

milyen folyamatos írásról beszélsz? hogy jön ez a naplózáshoz?

A naplózásra, a fájlrendszer journal-ra gondoltam, mint "folyamatos írás".
--
Discover It - Have a lot of fun!

a journalt csak akkor írja, ha ír valamit a fájlrendszerre, nem folyamatosan. egyébként pedig a journaling adott esetben kikapcsolható.

"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

szerintem a noatime még asztali gépen is vállalható, hát még egy telefonon

Inkább már musthave.

Persze. Van 1-2 dolog ami függ tőle.... de megoldható.
csak a pontosság kedvéért írtam.
Mondjuk gondolom előbb-utóbb lesz majd nagy teszt, és kiderül, hogy melyik FS miért jobb.

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

akkor minek ext4? +1
--
Discover It - Have a lot of fun!

mert gyors?

mi előnye lesz az ext4-nek?

--
Dropbox:
https://www.getdropbox.com/referrals/NTI3NzY1ODQ5