MooseFS v3.0.113 Release Notes

Release Date: 2020-05-12 // 13 days ago
  • Dear MooseFS Users,

    We are happy to announce that MooseFS 3.0.113 is now stable!

    🛠 This is both bugfix and feature release. Apart from fixing the issues that were recently found, it introduces:

    • 👌 Support for new extra attributes: immutable, appendonly, undeletable.
      📇 Extra attributes are MooseFS-specific feature that allows you to add / manage a small portion of metadata to files on MooseFS. There are several extra attributes and they change file system behaviour (apart from new ones mentioned above there are several more – please refer to man mfseattr for more information).
    • Topology grouping when new chunks are about to be created,
    • Readonly mode and locking in MooseFS Block Device,
    • Changing subfolder during internal rebalance,
    • 🔧 Official labels format defined in chunkserver configuration,

    and several more features.

    🚀 This release improves Chunkserver a lot (registering chunks to Master Server, reporting damaged chunks, internal rebalance, reloading, calculating size limits, handling inode limits on underlying file systems). It also adds new and improves existing workarounds to issues related to OS's kernels and improves directory entry invalidator introduced in MooseFS 3.0.112.

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically):
    👷 @borkd, @eleaner, @jSML4ThWwBID69YC, @onlyjob, @rafamiga, @tamas-ac.
    👍 Thank you for your valuable time, input, and help with making MooseFS better!

    (If I forgot to mention somebody, I am sorry and please let me know!)

    🚀 Please find a complete list of fixes and new features that this release includes, below:

    • 🚚 (master) removed unnecessary debug syslog messages
    • (check) increased usleep tolerance due to some operating systems (issue #351)
    • (master) changed condition that decides if master should wait for more chunks during I/O
    • (mount) delayed setting channel for fuse notifications (very rare segfault in libfuse2 during init)
    • ✅ (client+master) changed conditions for ancestor test in getattr (issue #350)
    • (cs) added parameter for number of chunks to be send in single register packet
    • ✅ (cs) fixed reporting damaged chunks in testing function (issue #352)
    • 🚚 (cs) removed some unnecessary damaged chunk notifications
    • ✅ (client) changed open test in setattr (related to issue #350)
    • 🛠 (master) fixed handling truncate for open files (related to issue #350)
    • (master) added uid mapping in setfacl function
    • 👍 (master+client) added support for atomic truncate with open
    • 🛠 (master+client) fixed keep cache conditions
    • 🔧 (cs) introduced official label format defined in chunkserver configuration
    • (nbd) added readonly mode and locking (issue #353)
    • 🛠 (cs) fixed condition in choosing disks for internal rebalance
    • ↪ (mount) added workaround in access for a bug in FreeBSD kernel (issue #354)
    • 🛠 (cs) fixed master reconnection conditions (reload usually shouldn't cause reconnection)
    • 🛠 (freebsd) fixed FreeBSD port (makeports.sh)
    • (master) changed disk removal detection algorithm (issue #356)
    • 🛠 (cs) fixed calculating size limits
    • (cs) added handling inode limits on local filesystems on chunkservers (issue #358)
    • (master) added topology grouping when new chunks are about to be created (prefer closer servers)
    • (master) added more error messages to bgsaver
    • (cs) added changing subfolder during internal rebalance (related to issue #326)
    • 🌲 (master+cs) added optional logging of long function execution times
    • 🛠 (all) fixes of small errors found by static code analysers
    • 🐧 (mount) turn off dentry invalidator for Linux kernels >= 4.19 (related to issue #357)
    • 🔊 (master) changed condition that checks timestamp in changelogs (less prone to small clock differences)
    • (daemons) added time refresh function (for future use)
    • (cgi+cli) changed mark for removal state name UNKNOWN –> PENDING (related to issue #359)
    • (client) decreased max IDLE time in writer module from 1s to 0.1s
    • ⚡️ (client) update inode in dentry invalidator
    • 🛠 (tools) fixed mfscopyeattr, mfsseteattr and mfs*archive tools
    • 👍 (master+client) added support for new eattrs: immutable, appendonly, undeletable (setting new undeletable extra attribute appropriately can help with issues like #357)
    • (client) silenced kern.proc.filedesc syslog messages on FreeBSD (issue #360)

    Best regards,
    Piotr / MooseFS Team


Previous changes from v3.0.112

  • Dear MooseFS Users,

    MooseFS 3.0.112 is now stable!

    🛠 This release is a bugfix and feature release. It introduces support for disabling individual filesystem commands in Master Server (configurable in mfsexports.cfg) and respecting them on the Client side (issue #344). It also adds support for STRICT and LOOSE mode in KEEP and ARCHIVE (issue #249). This release fixes various other issues too, including a workaround for Linux kernel bug related to EBUSY issue by adding directory entry invalidator (issue #98).

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically):
    🐧 @borkd, @Damien9527, @linux-ops, @MonkeyFang, @onlyjob, @pault28, @tnktls.
    👍 Thank you for all your valuable input, help and making MooseFS better!

    (If I forgot to mention somebody, I am very sorry and please let me know!)

    🚀 Please find a complete list of fixes and new features that this release includes below:

    • ⚠ (cs) silence stupid compiler warning
    • 🛠 (client) fixed handling LOCKED and EAGAIN status in readdata
    • (client) added handle info to .oplog messages
    • 👍 (all) added support for disabling individual filesystem commands in mfsexports.cfg
    • 👍 (client) added handling read/write/readdir disables on client side (better error messages)
    • (client) added session paramaters to .params file
    • 🛠 (tools) fixed packet reallocation error
    • (master) changed syslog message for locked chunks
    • 🐧 (client) added dentry invalidator (needed in Linux with kernel < 4.19 – EBUSY issue)
    • 🛠 (master) fixed memory leaks in xattr and posixacl modules
    • (cs) when chunk can't be located always send to master info about lost chunk
    • 🛠 (supervisor, master, cs) fixed buffer overrun in mastersupervisor code (HA only, intr. in 3.0.107)
    • 🚀 (master) changed algorithm of reusing csid in chunk module (adding released csid to the end of free list)
    • 👍 (all) added support for STRICT and LOOSE mode in KEEP and ARCHIVE
    • 🛠 (master) fixed segfault during appending chunks of file with positive length and no chunks
    • 🛠 (metadump) fixed bugs introduced in version 3.0.106
    • (master) added protection between never-ending desyncing between newer LEADER and older FOLLOWER (HA only)
    • 🛠 (master) fixed slices with to set to 0 in mfsappendchunks
    • 🚚 (master) removed starting protection time from client communication module
    • 🛠 (man) fixed typo in mfsappendchunks man page

    Best regards,
    Piotr / MooseFS Team