Bylo to známé omezení. XFS byl navržen pro servery, takže se počítalo s tím, že tam je UPS a dochází ke korektnímu odpojení souborového systému. Při nekorektním odpojení mohlo dojít k poškození dat v souborech, do kterých se právě zapisovalo. No a aby XFS signalizoval, že se se souborovým systémem stalo fakt něco špatného a aby po restartu nezačala aplikace vesele používat poškozený soubor (a na poškození by se přišlo později, až by třeba už byly pryč zálohy), při startu XFS takový soubor vynuloval.
Což se samozřejmě nelíbilo těm, kdo neměli ani zálohy ani UPS a byli by rádi aspoň za část toho poškozeného souboru.
Ahoj. Asi bych neřekl, že tam byl vyloženě bug.
Spíš to od začátku bylo u SGI navrženo na servery, co mají určité pracovní prostředí, odpovídající hardware a výkon je priorita. Tzn. podobně jako třeba u serverového JFS to nemá žádný režim se zápisem dat před metadaty (je to podobné jako když u ext4 nastavíš journal=writeback).
Zatímco to zmíněné ext4 má výchozí režim journal=ordered, což zdědilo po ext3, kdy se snaží nejdřív zapsat data, pak metadata přes žurnál. To má samozřejmě určitý vliv na výkon, ale vzhledem k majoritnímu nasazení ext3/4 na běžných počítačích to dávalo/dává smysl jako rozumný kompromis.
Postupem času po portaci XFS přibyla také podpora pro linuxové bariéry zápisu (možná 15-20 let zpátky s jádry 2.6). Což je sice odlišný mechanismus od toho orderingu a zajišťuje to persistentní zápis do disku (třeba přes FUA, nebo explicitním flushování hw cache), ale také to cílí na snížení pravděpodobnosti kritických problémů po neplánovaných výpadcích. Co vím, tak to XFS používá na zápisy do žurnálu a samozřejmě také pokud aplikace explicitně zavolá flush().
Nejdřív se bariéry daly explicitně vypnout (nobarrier), pak tam sice zůstal ten mount option, ale nic to nedělalo, a nakonec to 4.19 odstranili úplně, takže bariéry jsou pořád aktivní.
Ne nikdy tomu tak nebylo ;-) byla tam moznost odstranit barieru a tim jej zrychlit a omezit konsistenci, ale pary jsme testoval a vzdy vse opravil, jen se nesmi pouzivat fsck.xfs ale nejnovejsi xfs_repair
A clovek se nesmi bat, nejhorsi pripad co jsme zazil byl fakt, ze byly poskozeny oba dva journaly , tak jsme je smazal, udelal check vsech 20TB dat a on je pak vytvoril znova ... data se neztratila zadna ...
jediny FS co jsme videl opakovane rozj*** tak ze s tim neslo nic udelat je ten, co nema opravnou utilitu, ma nejaky jako ze export imp[ort s checkem struykjtury, bud to nebezi, teda bezi klidne 20 let ale nic to nedela, nebo solaris tam to dobehne a rekne ze to neumin opravit ... a na moje slova dolo a uz jsme zdilel odkazy, kde za to, za co mi nadavali pak uznali jako oficlni chyby a ze mam pak FS smazat, vycstit bloky, znova vytvorit zpooly, zraidy a obnovit ze zalohy ;-) ---
ZFS je tak smejd a nikoho realne nezajima ;-) , NTFS je shit, zkopirovany HPFS z OS/2 ... dokonce i s bugem z 386, kdyz vnzikl OS/2 HPFS+ nebo tez HPFS.386 - co opravoval chybu poskozeni FS pri svazich nad 20GB nebo 60GB ... to v te dobe nikdo nemel ... no a win2000 u toho znicily NTFS ;-) a ja se valel smichy, ze zkopirovali i ten znamy bug ;-)
ExdFAT neni FS ;-) ten by prohral na plne care, FAT je takova divna struktura, vhodna na zapais medii, tedy velkych souboru s linearnim zapisem a lineranim ctenim, zadny random a jine lahudky ... NTFS linux umi a nuemi - neni vubec urcen na provozovani a to an i kwernelovy modul, ani fuse modul - je urecen na migraci dat a zachranu windows - ne na provoz
Cili zvioli ty nejlepsi FS co linux ma a ty nejpouyzivanejsi ;-) ... ne nadarmo si RH do svych RHEL vybral jako defualt FS XFS ... sice nechapu, proc zrusili BTRFS a odstranili jej tam i z kernelu ;-) chapu se delat v tom raid5 je blbost, jka tvrdim ze i mirror ;-) ... jka tvrdim, ze BTRFGS patri na dikjove pole, nebo SW raidf nad tim ;-) a ziskame tak dedupliokaci, kompresi a super nspshoty, snap clony a blokove replikace vcetne verzovani
Ona to byla hlavně nafouknutá bublina. XFS byl považován za systém pro lidi, kteří vědí, co dělají, před použitím si přečtou dokumentaci. A ti o té vlastnosti věděli a používali XFS jen na serverech zálohovaných UPS. Pokud si někdo nainstaloval XFS, protože někde zaslechl, že je cool, a používal to na počítači bez UPS, byl to jeho problém…