Александър Аринг (Alexander Aring) от компанията Red Hat, който поддържа подсистемите IEEE 802.15.4, DLM и flock/fcntl в ядрото на Linux, представи в пощенския списък на разработчиците на ядрото специализирана файлова система DLMPFS. Предложената ФС предлага слой за разпределени файлови блокировки, реализиран върху DLM (Distributed Lock Manager) и ramfs. Реализацията на DLMPFS е налична под формата на набор от пачове към ядрото на Linux 6.19.
DLMPFS позволява работа с обща за няколко хоста йерархия на файлове, създаване и изтриване на файлове и директории, както и поставяне или сваляне на блокировки върху файлове с помощта на стандартните функции flock() и fcntl(). Въпреки това, DLMPFS не позволява записване и четене на данни от файлове, ограничена е само до операции с блокировки. Ограничение е също така, че е възможно да се определи статусът на блокировката само ако се знае пълният файлов път към блокирания файл (DLM изисква името на ресурса за определяне на блокировката).
С DLMPFS може лесно да се адаптират съществуващи приложения, свързани с поставянето на блокировки чрез API flock/fcntl, за използване на разпределени блокировки, обхващащи няколко хоста в клъстера, без необходимост от участие на специализирани разпределени ФС за съхранение на данни.
DLMPFS се различава от вече съществуващата подобна ФС DLMFS с това, че използва API flock/fcntl вместо API, специфично за ФС OCFS2. В плановете е добавянето на разпределени блокировки, отбелязани в спецификацията POSIX, и възможността за свързване на различни бекенди за интеграция не само с DLM, но и с други мениджъри на разпределени блокировки, като NFS lockd.
Пример за употреба (на втория възел блокировката на файла /mnt/lock ще бъде свалена след 20 секунди): Възел 1: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'" Възел 2: mount -t dlmpfs -o clname=$CLUSTERNAME none /mnt touch /mnt/lock flock /mnt/lock -c "echo 'acquired'; sleep 20; echo 'released'"
Източник: opennet.ru
