A Linux 6.17 kernel fejlesztési ciklusában jelentős frissítéseket kapott az NFS kliensoldali és kiszolgálóoldali kód, amelyek a hibajavításokra, új funkciókra és kódkarbantartásra egyaránt kiterjednek. A kliensoldalon Trond Myklebust által beküldött változtatások számos stabilitási problémát orvosolnak, míg a szerveroldalon Chuck Lever munkája új képességeket, valamint a teljesítményt és a megbízhatóságot érintő fejlesztéseket hoz a kernel NFS alrendszeréhez.
Tartalomjegyzék

Kliensoldali fejlesztések és új funkciók az NFS-ben
Az NFS kliensoldali kernel frissítések között kiemelt helyen szerepel, hogy a fájlrendszerek közötti váltás során a kliens immár nem örökli automatikusan az NFS fájlrendszer jogosultságait, ezzel megelőzve jogosultsági problémákat. Számos hibajavítás is érkezett, például memóriakezelési akadályok bevezetése az __nfs_lookup_revalidate ébresztésekor, határérték-ellenőrzés javítása az nfs_fh_to_dentry függvényben, valamint allokációs hibák kezelése NFS-alapú loopback eszközöknél történő írás közben.
Az NFSv4 kliens újabb javításokat kapott a listxattr műveletekhez, a SUNRPC kód pedig pontosabban kezeli a TLS figyelmeztetéseket. A pNFS alrendszerben több kritikus korrekció történt, köztük nem inicializált mutató dereferálásának megszüntetése, kiterjedés-kódolási hibák javítása, stripe mapping és lemezcím túlfutások kezelése, valamint az RPC méretkorlátokhoz való alkalmazkodás. A localio kód több versenyhelyzetét is sikerült megszüntetni.
Az NFSv4 mostantól képes lekérdezni a fájlok létrehozási idejét (btime), támogatja a foliok migrációját MIGRATE_SYNC módban, valamint lehetőség nyílt TLS tanúsítványok kernel keyringben való tárolására. A delegációkezelés gyorsabb lett hash-táblás kereséssel, továbbá új nyomkövetési pontok segítik a hibakeresést. A kódbázisban több használaton kívüli változót és struktúramezőt eltávolítottak, ezzel tisztább és karbantarthatóbb kódot hozva létre.
Kiszolgálóoldali újdonságok és hibajavítások
Az NFSD egyik legfontosabb újdonsága, hogy mostantól írási delegációt is adhat azoknak a klienseknek, amelyek csak írási módban (O_WRONLY) nyitják meg a fájlokat. Ez főként azok számára előnyös, akik írás közben a pufferkezelés részeként olvasási műveleteket is végeznek. További változás, hogy megszűnt az NFSv4 COMPOUND műveletek számának korlátozása, így a kliensek akár hosszabb műveletsorokat is egyetlen kérés-válasz ciklusban továbbíthatnak és végrehajthatnak. Emellett ismét engedélyezetté váltak az aszinkron NFSv4.2 COPY műveletek, amelyeket korábban a szolgáltatásmegtagadási kockázatok miatt tiltottak le.
A kiszolgálóoldali kód pontosabb lett a pNFS block/scsi layout dekódolási rutinjainak javításával, a fájlazonosítók kezelésének egyszerűsítésével és a delegációs állapot jobb menedzselésével. A SUNRPC rétegben tisztább hibakódok kerültek bevezetésre az ismeretlen hitelesítési állapotok kezeléséhez, és fejlesztették a szálkezelési események nyomkövetését. A vfs réteg integrációja is változott, immár az új vfs_iocb_iter_read és vfs_iocb_iter_write hívásokra támaszkodva a fájlműveletek során.
