Úgy tűnik, a Linux 7.3 végre befogadja a FailFS-t

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A közelmúltban szó volt a NULLFS-ről, mint „teljesen kataton, minimális pszeudo fájlrendszerről”. Most pedig úgy néz ki, hogy a Linux 7.3-ban érkezik a testvérprojektje, a FailFS.

A NULLFS egy véglegesen üres és csak olvasható könyvtárat biztosít, ahol minden keresés ENOENT hibakóddal (nincs ilyen fájl/könyvtár) fut zátonyra. A hamarosan érkező FailFS ezzel szemben minden, a fájlrendszert elérő műveletre EOPNOTSUPP hibakódot ad vissza, ami a Linuxban azt jelzi, hogy az adott művelet nem támogatott.

Christian Brauner a következőket írta a FailFS VFS-be történő beolvasztását előkészítő, „vfs-7.3.failfs” nevű Git ágról:

"A failfs egyetlen példányát a rendszerindítás korai szakaszában csatolja fel a kernel a kern_mount() hívással, így logikailag elkülönül minden mount névteretől.

Mivel ez a csatolás egyetlen mount névtérnek sem tagja, minden rá történő mountolás meghiúsul. Semmi sem csatolható rá. Nem lehet klónozni OPEN_TREE_CLONE-nal, és nem jelenik meg sem a statmount()/listmount() hívásokban, sem a /proc//mountinfo alatt. A fájlrendszert nem regisztrálják, ezért nem látszik a /proc/filesystems listában, és felhasználói térből sem lehet felcsatolni.

Így a folyamatok teljesen le tudják vetkőzni a fájlrendszer-állapotukat. Ha egy folyamat gyökérkönyvtára vagy aktuális könyvtára failfs-en van, akkor minden elérési út feloldását egy konkrét fájlleíróhoz kell kötnie, különben minden keresés elbukik. Az abszolút elérési utak, az abszolút szimbolikus linkek és az AT_FDCWD-hez viszonyított keresések egyszerűen meghiúsulnak. A későbbi javítócsomagok egy új, FD_FAILFS_ROOT nevű fájlleíró-sentinelen keresztül teszik majd elérhetővé, amelyet az fchdir() és az új fchroot() rendszerhívás ismer.

Érdekesség, hogy a PT_INTERP alapú dinamikus bináris futtatás működése miatt ez jelenleg a dinamikus binárisok futtatását is megakadályozza, mivel a betöltők abszolút elérési utakat használnak (lásd a selftesteket)."

A FailFS-t nem lehet klónozni, nem lehet felhasználói térből felcsatolni, és nem lehet rá semmit rá-mountolni. Maga a FailFS driver kódja a tényleges driver-részben kevesebb mint kétszáz sornyi.

Mivel Brauner már beemelte a FailFS-t egy VFS.Git ágba, és kifejezetten „7.3”-ra jelölte, jó eséllyel a Linux 7.3 merge ablakában, még ebben a hónapban benyújtják – feltéve, hogy Linus Torvalds vagy más ismert kernel fejlesztő nem emel kifogást ellene.