Alexander Aring fra Red Hat, som arbejder med subsystemer IEEE 802.15.4, DLM, og flock/fcntl i Linux-kernen, præsenterede en specialiseret filsystem DLMPFS i udviklernes mailingliste. Det foreslåede filsystem giver et lag for distribuerede filblokeringer, implementeret på basis af DLM (Distributed Lock Manager) og ramfs. Implementeringen af DLMPFS er tilgængelig som et sæt patches til Linux-kernen 6.19.
DLMPFS gør det muligt at arbejde med en fælles filhierarki for flere værter, oprette og slette filer og kataloger, samt anvende og fjerne filblokeringer ved hjælp af standardfunktionerne flock() og fcntl(). DLMPFS tillader dog ikke at læse og skrive data i filer, men begrænser sig til blokeringens operationer. En anden begrænsning er, at man kun kan bestemme blokeringens tilstand, hvis man kender den fulde filsti til den blokerede fil (DLM kræver ressourcenavnet for at bestemme blokeringen).
Med DLMPFS kan man nemt tilpasse eksisterende applikationer, der er afhængige af at anvende blokeringer gennem API'erne flock/fcntl, til brugen af distribuerede blokeringer, der dækker flere værter i et cluster, uden behov for at indføre specialiserede distribuerede filsystemer til datalagring.
DLMPFS adskiller sig fra det allerede eksisterende tilsvarende filsystem DLMFS ved at anvende API'erne flock/fcntl i stedet for det filsystem-specifikke API for OCFS2. Der er planer om at tilføje distribuerede blokeringer, som er markeret i POSIX-specifikationen, og muligheden for at tilslutte forskellige backends til integration ikke kun med DLM, men også med andre distribuerede blokeringstjenere, såsom NFS lockd.
Eksempel på brug (på den anden node vil blokeringen på filen /mnt/lock blive fjernet efter 20 sekunder): Node 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Node 2: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"
Kilde: opennet.ru
