MooseFS PRO 5.1.0: Per-Mount and Per-User I/O Limits Arrive
MooseFS PRO 5.1.0 is now available as a maintenance release focused on improving reliability across the MooseFS ecosystem while introducing simple I/O quality-of-service (QoS) limits. The release brings updates and fixes to the Master, Chunkserver, Client, and Metalogger, including improvements that are particularly important for deployments using multi-location configurations and the block device driver.
Better control over Client I/O
One of the key additions in MooseFS PRO 5.1.0 is simple I/O QoS support. The Master and Client can now limit the number of I/O operations per second on a per-mount and per-UID basis, with root excluded from the per-user limit. Administrators can configure these limits using the new opslimit and opsperuidlimit options in mfsexports.cfg.
This gives administrators a straightforward way to control I/O activity and manage resource usage across mounts and users, without introducing a more complex QoS configuration.
Easier license consistency checks
Another small but useful addition to the Master is mfslicinfo, a new command-line tool for checking license consistency across Master servers in an instance. This is particularly useful during administrative operations such as replacing a license, when it is important to verify that all Masters are reporting the same license.
Rather than having to check each Master individually, administrators now have a dedicated tool for performing this consistency check.
Important Master reliability fixes
A number of changes in 5.1.0 address edge cases in the Master’s handling of chunks, locations, and filesystem operations. The chunk loop previously reported two incorrect exit reasons, and both have now been corrected. The Master also provides better diagnostic information when a module’s IP address is not mapped to a location: the module’s name is now included in the log message when it is assigned to the default location.
The release also changes how the Master handles statfs, with the inode number now taken into account when processing the operation. Alongside this, several issues affecting location management have been resolved, including problems with Chunkserver-to-location mappings stored in csdb and the interaction between IP remapping and locations.
Better misconfiguration safeguards in multi-location setups
One of the more important fixes in this release concerns the Master’s protection against deleting the last remaining copy of a chunk. Under certain conditions involving an incorrect multi-location configuration, that protection could fail.
This behavior has now been corrected. For deployments relying on multi-location configurations, this is an especially significant improvement because it strengthens the protection around the final available copy of a chunk when location configuration does not match the expected setup.
Chunkserver improvements
The Chunkserver receives a useful improvement to its behavior during low-speed rebalancing. Previously, when a disk was the destination of a low-speed rebalance, it could be blocked from accepting new chunks while the operation was in progress.
With 5.1.0, that destination disk can continue accepting new chunks during the rebalance. This makes low-speed rebalancing less disruptive to normal chunk placement and allows the disk to continue participating in regular operations while the rebalance proceeds.
The release also introduces a new I/O timeout option for the Chunkserver. Very long-running I/O operations can now be treated as disk errors, with the behavior controlled through the new configuration option. This provides administrators with another mechanism for dealing with storage devices whose I/O operations take an unusually long time to complete.
Client improvements and fixes
The Client side of the release brings several improvements aimed at correctness and reliability. The mfsio library and the Master have received fixes to improve POSIX compliance, and Doxygen documentation has been added.
Mount option handling has also been clarified. The -p option now takes priority over the mfspassword and mfsmd5pass options when mounting. This gives the explicit -p option precedence when more than one password-related configuration mechanism is present.
For users of the block device driver, 5.1.0 includes a particularly important memory-safety fix. A use-after-free issue in the driver has been resolved, and the driver’s unmap protocol has also been corrected.
Client write operations have received attention as well. A bug that could result in incorrect timeout handling during writes has been fixed, improving the Client’s behavior when write operations encounter timeout conditions.
More visibility into Metalogger write errors
Metalogger now checks for write errors and logs them when they occur. While this is a relatively focused change, it gives administrators a clearer indication when a write operation fails and makes those problems easier to identify during troubleshooting.
Should you upgrade?
Yes, especially if your deployment uses multi-location configurations or the block device driver.
The multi-location fix is particularly important because it addresses a scenario where an incorrect configuration could undermine the Master’s protection against losing the last copy of a chunk. The release also resolves a use-after-free issue in the block device driver, making the upgrade especially relevant for environments that rely on that functionality.
For other deployments, MooseFS PRO 5.1.0 still offers a useful collection of operational improvements. The new I/O controls provide more flexibility for managing Client workloads, while the fixes around rebalancing, timeouts, location handling, logging, and Client operations improve the overall reliability of the platform.
Overall, MooseFS PRO 5.1.0 is a focused maintenance release that combines practical new functionality with fixes for several important edge cases. For administrators running multi-location environments or using the block device driver, it is a particularly relevant update.