Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia Tuesday TopDrive KupDnes Navrcholu Bomba NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor ke zprávičce Ext4 pomohlo odhalit „špatně“ napsané aplikace

Yenya
Yenya (neregistrovaný)
16. 3. 2009 17:25

RE: Ext4 pomohlo odhalit „špatně“ napsané aplikace

celé vlákno
Tady je trochu problem s tim, ze u mnoha typu souboru aplikacni programator nechce striktne "vynutit ulozeni". Pokud programator dela open("config.tmp"), write(), close(), rename("config.tmp", "config"), tak vicemene chce "budto starou nebo novou verzi dat, je mi to jedno" (POSIX nic takoveho negarantuje, nicmene v podstate vsechny filesystemy se takhle nejak chovaly (az po XFS/ext4/ZFS/vse co dela odlozenou alokaci).

Alternativa open("config.tmp"), write(), fsync(), close(), rename("config.tmp", "config") je zbytecne silna. Aplikaci obvykle nezajima aby na disku byla ta novejsi data - chce budto konzistentni stara, nebo konzistentni nova data (nejlepe aniz by aplikace musela cekat na nejakou diskovou operaci). Coz prostredky POSIXu bohuzel neni jak jadru rict - fsync() je prilis silne. Myslim ze pristup ext4 ve 2.6.30+ (vynutit alokaci a tedy i zapis dat pred metadaty pri close() a truncate()) je vicemene spravny.

-Yenya, http://www.fi.muni.cz/~kas/blog/