All Versions
11
Latest Version
Avg Release Cycle
66 days
Latest Release
13 days ago

Changelog History
Page 1

  • v3.0.113

    May 12, 2020

    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

  • v3.0.112

    March 24, 2020

    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

  • v3.0.111

    February 19, 2020

    Dear MooseFS Users,

    🚀 MooseFS 3.0.111 is now stable! This release adds protections against segfaults in MooseFS Chunkserver module (issue #342).

    👷 We would like to thank @onlyjob and @uu for reporting the issue. Thank you for all your valuable input, help and making MooseFS better!

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

    • (cs) added protections against segfaults (issue #342)
    • 🚚 (cs) removed unnecessary error messages

    Best regards,
    Piotr / MooseFS Team

  • v3.0.110

    February 13, 2020

    Dear MooseFS Users,

    🛠 MooseFS 3.0.110 is now stable! This release is a bugfix release mainly. It addresses issues related to handling duplicated chunks, placing chunks in subfolders on Chunkservers, internal rebalance, fixes FreeBSD-related issues and adds a few other minor fixes.

    🚀 This release also introduces several new config options, new logo and favicon in MFS CGI interface and possibility to dump non-printable characters in metadata dumper.

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically): @borkd, @jSML4ThWwBID69YC, @onlyjob and @smurfix. 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) fixed bug that may lead to creating much more chunks in one subfolder (issues #319, #326)
    • (cs) added option for controlling subdirectory selection algorithm for newly created chunks (issues #319, #326)
    • (cs) prevent potential dumping deleted chunks to .chunkdb
    • (client) added options for setting behaviour when master returns unavailable chunks or no space status (issue #322)
    • 🛠 (cgi) fixed logo and icon (file type for favicon.ico, change to current logotype – issue #328)
    • (master) turning off sending NOPs to unregistered clients (matoml module)
    • 🛠 (cs) fixed reporting wrong number of hours in duplicates removal message
    • (cs) redesigned duplicates removal procedure to do it in groups of 100 files (issue #327)
    • (cs) introduce mypread and mypwrite macro (code cleaning)
    • (cs) added check for changed CRC before every chunk file close (just in case)
    • (cs) never use open chunk as a chunk duplicate that needs to be deleted
    • (cs) never use disk with pending duplicates as destination disk during internal rebalance (issue #327)
    • 🛠 (cs) fixed condition in internal rebalance procedure (issue #327)
    • (cs) added option for setting duplicates retention time in hours (issue #333)
    • 🛠 (cs) fixed memory leak in removing disk with duplicates
    • 🚚 (cs) removed unnecessary attribute reading when chunk duplicates are detected (issue #327)
    • (cs) changed allocation of duplicated chunks from malloc to mmap, decreased memory usage by duplicates
    • (client) reading in O_WRONLY no longer causes EACCES (might be related to issue #334)
    • 🖨 (metadump) printing dots for non-printable characters made optional (issue #332)

    Best regards,
    Piotr / MooseFS Team

  • v3.0.109

    November 30, 2019

    Dear MooseFS Users,

    🚀 MooseFS 3.0.109 is now stable! This release fixes one minor bug in MooseFS CGI Server introduced in 3.0.108 and adds a possibility to allow starting MooseFS Chunkserver with invalid entries in mfshdd.cfg.

    🚀 We would like to thank all the contributors who helped us making this release. Thank you for all your help!

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

    • 🛠 (mfscgiserv) fixed handling redirects (bug introduced in 3.0.108)
    • (cs) added allowance for starting with invalid entries in mfshdd.cfg

    Best regards,
    Piotr / MooseFS Team

  • v3.0.108

    November 30, 2019

    Dear MooseFS Users,
    🛠 MooseFS 3.0.108 is now stable! This release is a bugfix release.

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically): @onlyjob, @Programie, @xandrus. Thank you for all your help!

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

    🚀 Please find the list of fixes that this release includes below:

    • 🛠 (cli+cgi) fixed bug related to masterinfolist
    • 🛠 (master) fixed sign in reporting time difference
    • (cgiserv) added content-type: text/plain to cgi outputs with errors
    • 🛠 (master) fixed rmdir packet size

    Best regards,
    Piotr / MooseFS Team

  • v3.0.107

    November 11, 2019

    Dear MooseFS Users,
    Long-awaited MooseFS 3.0.107 is now stable!

    This release is mainly a bugfix release (and includes a lot of fixes). We strongly recommend to upgrade to this latest version! This release also introduces some new features, including support for libfuse3.

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically): @eleaner, @hradec, @itongqingbo, @njaard, @onlyjob, @steffenb7333. Thank you for all your help!

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

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

    • (master) added NOP command to changelog
    • (master+supervisor) added time check
    • 👷 (cs) fixed behaviour when job queue is full
    • (cli+cgi) added time data to master servers
    • 🛠 (cs) fixed NOP packets ping-pong
    • 🛠 (client) fixed NOP flooding in write module
    • 👷 (cs) fixed race condition in bgjobs module (jobhash)
    • 👍 (cs+mount) added new status returned to mount when queue is full and support for it in client module
    • 👍 (mount) added initial support for libfuse3 (related to issue #302)
    • 👍 (mount) added support for readdirplus (related to issue #302)
    • ↪ (mount) workaround for bug in fuse (wrong lock_owner in flush – issue #305)
    • 🛠 (mount) fixed deadlock in readdata.c (closes issue #306)
    • ✅ (mount+master) fixed few small issues related to POSIX compliance (checked by pjd fstest)
    • ✅ (all) changed preferred C standard from C99 to C11 and added tests for atomics
    • 🚚 (mount) move read/write structures initialization from open to read/write
    • (mount,mfsio) added new inode->fleng map
    • 🔧 (configure) added option disable_all, added summary at the end
    • (freebsd) detecting new fuse version in the kernel and adjusting behaviour
    • 👍 (tools) better handling of unrecognized options
    • 👍 (master) better hard links handling
    • (master) added limit for number of hardlinks allowed for one object
    • (master) added option for automatic removal of unused chunkservers (issue #247)
    • 🛠 (metadirinfo) fixed segfault when output filename is not specified
    • (chunktool) added file name fixing option (issue #276)
    • (all) changed chunk replication and deletion charts into two-color charts (successful/unsuccessful – issue #273)
    • (all) added new charts with number of chunk creations and internal changes (also successful and unsuccessful)
    • (master) added ignoring chunk with id zero sent from chunkserver
    • 📇 (metadump) added option for dumping parts of metadata
    • 🔊 (master) added more logs to background data write subprocess (related to issue #280)
    • 🛠 (master) fixed LEADER/FOLLOWER desync on SETCHUNK command (pro only)
    • 🔧 (cli+cgi) fixed shebang in python scripts (preference for python3 in configure)
    • (master) changed pipe in bgsaver to nonblocking mode
    • (master) added check if the background saving process is alive
    • (master) added lockfile for background saving process
    • 🆓 (master) added protection against time going back in the free inodes list
    • (master) added protection in FOLLOWER against not keeping up with the LEADER (pro only)
    • (master) changed condition for removing chunk from data structures (all chunkservers have to be connected)
    • ⏪ (master) added restore run mode (works similar to mfsmaster -a but without running daemon)
    • (master) take write replication counters into account in server ordering for new chunk creations
    • (master) changed calculating replication limits in chunk rebalance procedure (using actual usage difference)

    Best regards,
    Piotr / MooseFS Team

  • v3.0.105

    May 27, 2019

    🛠 MooseFS 3.0.105 is now stable! This release is mainly a bugfix release, however it also introduces a new feature of specifying subfolder for Block Devices on MooseFS.

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically): @dragon2611, @eleaner, @jkiebzak, @onlyjob, @xandrus. Thank you for all your help!

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

    🚀 Please find the list of fixes this release includes below:

    • 🛠 (nbd) fixed segfault when filename not specified
    • 🛠 (client) fixed size of waiting threads counter (very rare deadlock in write module)
    • 🛠 (cli) fixed status returned in case of master name that can't be resolved (issue #238)
    • (master) improved readability of some functions (related to issue #241)
    • (nbd) added option for specifying subfolder on MFS for block devices (issue #252)
    • 🗄 (netdump) fixed using deprecated function pcap_lookupdev
    • 🛠 (cli) fixed 'free space' in plain mode

    Best regards,
    Piotr / MooseFS Team

  • v3.0.104

    April 01, 2019

    🛠 MooseFS 3.0.104 is now stable! This release includes both bugfixes and new features.

    🚀 We would like to thank all the contributors who helped us making this release, especially (alphabetically): @borkd, @dragon2611, @nickb937, @njaard, @onlyjob. Thank you for all your help!

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

    🚀 Please find the list of fixes this release includes below:

    • 🛠 (master) fixed taking into account labels in classes 1-9
    • 💄 (master) fixed recovering userperm and otherperm in ACL (in practice it doesn't matter – mainly cosmetics)
    • 🛠 (cli+cgi) fixed python3 compatibility issue (casting to int for %X format)
    • 🚀 (master) increased mmap allocation block size (Linux kernel issue – too many mmaps leads to memory not being properly released by the kernel)
    • 🛠 (client) fixed handling internal packets with size zero (client disconnection during chunkserver registration)
    • 🛠 (client) fixed symlink cache handling (potential race condition)
    • (master) added global option for preventing using same ip or same rack for more than one chunk copy
    • (client) added ignoring _netdev option – sometimes needed in case of mounting from fstab
    • (master) added defining rackid as string paths in mfstopology.cfg (introduced optional higher distances between servers)
    • 🛠 (master) fixed desync on adding damaged chunk
    • 🔀 (master) added changelog save mode (background, async and sync)
    • 🛠 (all) fixed issues reported by cppcheck (fixes #179)
    • 👕 (cli+cgi) fixed issues reported by pylint (fixes #180)
    • (cs) added 'damaged' flag to chunk (prevents syslog flooding – issue #192)
    • 🛠 (metatools) fixed conflict with builtin function humanize_number (NetBSD)
    • 👷 (master) better handling chunks with pending high-priority jobs
    • 🌲 (master) long loop detection (log info whenever time between polls is longer than 5 seconds)
    • 🛠 (master) fixed condition that checks if thare are all chunkservers and all chunks available (and using it for detecting ENOSPC condition – issue #201)
    • (mount) added .params pseudofile with mfsmount working parameters (such as cache sizes, timeouts etc.)
    • 🛠 (cs) fixed removing chunks from data structures when marking disk as 'damaged' (issue #207)
    • 🛠 (cs) fixed handling 'damaged' disks with chunks on reload (issue #207)
    • (cs) unlink duplicates week after detection (instead of removing them instantly – related to issue #207)
    • (tools) added displaying number of blocks in mfsfileinfo
    • (master) added error messages for 'fork' errors
    • 🛠 (cgi) fixed handling encodings (issue #206 and #208)
    • (cgi) added timestamp (issue #197)
    • 🛠 (cgi) fixed chart.cgi url (issue #200)
    • 🛠 (cs) fixed crc values for non existing blocks
    • 🛠 (mount) fixed changing processname
    • (supervisor) added reloading config parameters on SIGHUP (aka 'reload' – 'pro' version only)
    • 🛠 (cs) fixed exiting protocol
    • (cs) added internal rebalance chart

    Best regards,
    Piotr / MooseFS Team

  • v3.0.103

    November 23, 2018

    Dear MooseFS Users,

    🛠 MooseFS 3.0.103 is now stable! This release includes both bugfixes and new features.

    Block Device

    The biggest and most awaited feature introduced in this version is support for Block Storage which allows you to skip FUSE layer completely and give a block device instead of a file system layer to the OS on the Client using mbfsbdev instead of mfsmount.

    👀 See more in man mfsbdev.

    This is kind of "feature release" of Block Device - we may improve it or its management in the future. You are very welcome to test it and report any issues by raising a GitHub issue. Your reports will help to make this feature and MooseFS better! 👍 :)

    MooseFS Meta Dirinfo

    The second new big feature is mfsmetadirinfo. It is so-called "offline" implementation of well-known mfsdirinfo -p and similarly allows you to count real space usage of a particular directory precisely, with taking snapshots into consideration. The tool is faster than mfsdirinfo -p and you can use it on your Master Server. The tool operates on a dumped metadata file (e.g. metadata.mfs.back or metadata.mfs).

    👀 See more in man mfsmetadirinfo.

    Extremely fast Pseudo-random Generator

    🚀 This release also includes extremely fast (>1GB/s) pseudo-random generator visible as a virtual file .random in root directory (not listed by ls). You can use it for testing purposes, similarly as you use e.g. /dev/urandom.

    🆕 New Chunk testing routine in MB/s

    MooseFS constantly checks Chunks' checksums in background in order to prevent silent data corruption. This version gives you ability to define speed in MB/s of this checking. It is especially important for big clusters with huge number of small files where definition in chunks per second could reflect in a very long time of whole cluster checking (like years).

    🛠 Complete list of features and fixes in MooseFS 3.0.103

    🚀 Please find the list of fixes this release includes below:

    • 🐧 (bdev) new module for Linux - dedicated block device
    • (metatools) added new metatool mfsmetadirinfo - offline version of mfsdirinfo -p
    • (mount) added extremely fast (>1GB/s) pseudo-random generator visible as a virtual file .random in root directory (not listed by ls)
    • (cs) changed chunk testing routine (new definition is in MB/s per disk)
    • (tools) changed data structure used by mfsdirinfo -p (faster, less memory usage)
    • (cs) added optional high speed internal rebalancing
    • ♻️ (tools) network code refactoring (less code, reconnection to master on error)
    • (master+client) added space reservation for superuser
    • (daemons) added optional processname_set function
    • 🛠 (daemons) fixed waitpid condition
    • (cs) added data precaching (posix_fadcvise(WILLNEED)) before reading chunk data
    • 🚚 (master) remove chunk copy from structures (instead of leaving as INVALID) when replication returned error
    • 📇 (master) close listen sockets after fork (metadata save in background)
    • 📇 (master) added subprocess for saving downloaded metadata in background (pro only)
    • 🛠 (master) fixed mfsrmsnapshot issue (SNAPSHOT flag not set in directories - intr. in 3.0.101)
    • (mount) added option to load master password from given file
    • 🚧 (cs) proper disconnection from master during reload (maintenance mode during reload)

    Best regards,
    Piotr / MooseFS Team