New DLMPFS File System Proposed for Linux Kernel

Red Hat’s Alexander Aring, the maintainer of the IEEE 802.15.4 subsystem, DLM, and flock/fcntl in the Linux kernel, recently introduced DLMPFS to kernel developers. DLMPFS is a specialized file system that provides a layer for distributed file locking, implemented based on DLM (Distributed Lock Manager) and ramfs. The implementation of DLMPFS is available in the form of patches for the upcoming Linux kernel 6.19 release.

DLMPFS enables users to work with a shared file hierarchy across multiple hosts, allowing them to create and delete files and directories, and set or remove locks on files using standard flock() and fcntl() functions. However, DLMPFS does not support reading or writing data from files; it is designed solely for managing locks. Additionally, a limitation of DLMPFS is that it requires the full file path to determine the lock status, as opposed to a resource name.

This new file system makes it easy to adapt existing applications that rely on flock/fcntl API for locking to work with distributed locks across multiple hosts in a cluster, without depending on specialized distributed file systems for data storage.

DLMPFS distinguishes itself from the existing DLMFS by using flock/fcntl API instead of the FS-specific API like OCFS2. Future plans for DLMPFS include adding distributed locks as per the POSIX specification and the capability to integrate with various backends, not limited to DLM but also other distributed lock managers like NFS lockd.

An example of using DLMPFS is when a lock on the /mnt/lock file on the second node is automatically released after 20 seconds. This showcases the flexibility and convenience of the distributed locking mechanism offered by DLMPFS.

/Reports, release notes, official announcements.