Changelog

Every release, every change

The complete release log for MooseFS — from 4.0.0 (February 2017, which introduced erasure coding) through the current 5.0.x stream. Entries are listed reverse-chronologically and grouped by major version. Each release lists every change verbatim, prefixed with the component it touches.

Looking for the high-level story instead? See the history page. For supported version windows and end-of-life dates, see versions.

Jump to: 5.0 4.59 4.58 4.57 4.56 4.55 4.54 4.53 4.52 4.51 4.50 4.40–4.49 4.30–4.39 4.20–4.29 4.10–4.19 4.0–4.9

5.0.x current stream — April 2026 onward

5.0.2

  • master fixed a parts sorting bug in case of more than one EC set (PRO only)
  • cs fixed a bug preventing background chunk testing
  • cs added CRC check to localsplit
  • master replaced some error constants returned by master with more appropriate ones

5.0.1

  • cs removed aggressive fadvise calls
  • all fixed some security issues
  • all better client → chunkserver authentication
  • daemons added possibility to define config options using environment and argv

5.0.0

  • master+tools added multi-locations (PRO only)
  • master setting archive flag in chunks only according to effective storage class
  • all improved module authentication, added metalogger authentication, added I/O authentication
4.59.x active maintenance stream — April 2026 onward

4.59.2

  • cs fixed bug preventing background chunk testing

4.59.1

  • cs fixed potential OOB read

4.59.0

  • all changed license handling (pro only)
  • all fixed some security issues
4.58.x Sep 2025 – Apr 2026

4.58.5

  • cs removed aggresive fadvise calls

4.58.4

  • all added spec files for Fedora, changed autogen.sh to bootstrap.sh
  • all added printflike macro to mfslog, fixed all printflike macros, fixed some syslog args
  • common silenced address sanitizer unnecessary warning
  • common fixed masterresolver (potential segfault when the last name was empty — pro only)
  • common added protection against double initialization of strerr
  • master added expected chunk versions to syslog messages

4.58.3

  • master+tools fixed conditions for reversible storage class
  • daemons fixed small security issue (clearing auxiliary groups before setuid)
  • libmfsio fixed descriptor resize function

4.58.2

  • master changed timeouts used in master to master connections (pro only)
  • client fixed test for overlapping requests in read-ahead algorithm
  • all fixed typos and spelling errors

4.58.1

  • master fix for segfault in flocklocks.c
  • cli fixed handling disconnected chunkservers
  • cli import fixes in cli mode
  • tools improved error messages in mfssetfacl
  • tools fixed parsing numerical groups in mfssetfacl
  • master prevent setting archive flag for files that are already in trash

4.58.0

  • master fixed support for partial readdir
  • client added reading dirs in parts
  • client added listxattr cache
  • client redesigned readdir caches
  • client added mfsreaddirplusminto option needed for readdirplus
4.57.x Dec 2024 – Aug 2025

4.57.8

  • crc fixed crc calc for CPU’s that can’t access memory on non even addresses (i.e. arm-hf)
  • cs less disk ops for idle servers
  • debian updated postinstall scripts
  • nbd fixed restoring nbd devices after sleep/hibernate
  • cli fixed displaying master’s and chunkserver’s charts data
  • systemd added start/stop timeouts to chunkserver systemd parameters

4.57.7

  • all joined packages cgi and cgiserv to a new gui package
  • gui added dedicated GUI server
  • gui gui refactor
  • cli cli refactor
  • gui added support for Prometheus metrics
  • master fixed freeing waiting locks from data structures
  • daemons added condition to skip socket routines when poll returned zero
  • daemons fixed disabling OOM killer
  • client removed using potentially dangerous sprintf function

4.57.6

  • master fixed predefined storage classes
  • master fixed csipmap initialization issue (no csmap after start/restart)
  • master fixed lock listing (case of posix_locks and flocks being in the same packet)
  • master fixed chunk recovery conditions during read and lookup
  • master changed description of default storage classes
  • man added manpage for mfsmount.cfg file
  • man added subsections to all man pages and reworded some of them

4.57.5

  • master added the number of localsplit operations to the total split counter
  • master fixed chunk copies and EC matrix counters when both copies and parts are present
  • master fixed sending changelog rotate packet to metalogger (CE version only)

4.57.4

  • chunktool added recursive mode and option to throw away damaged chunks

4.57.3

  • mfsio added support for xattr and acl
  • master added protection against setting too long xattr
  • master fixed case when user changes only grace period in quota

4.57.2

  • mount added ‘fake’ system.posix_acl* xattrs to listxattr
  • gui added cluster traffic charts, updated names
  • cli added checks for wrong integer values in options
  • freebsd changed port base name in freebsd from moosefs4 to moosefs
  • master added KEEP_LEADERSHIP option
  • gui charts legend update

4.57.1

  • master fixed bug in case of making space for ec parts marked for removal
  • gui fixed tmp maintenance time display
  • gui fixed graph summary bar display
  • master fixed changelog rotation issues
  • mfsio fixed mutex initialisation issue
  • autoconf updated configure.ac for new PKG_PROG_PKG_CONFIG macro
  • daemons added timestamp to info file
  • master added meta info to info file
  • gui fixed asyncio for python <3.7

4.57.0

  • all added storage class priority, description and export group
  • master added storage class group allowance to exports.cfg
  • master changed predefined storage classes in new MFS instances
  • all removed support for python 2.7
  • master always resolve master hostname on info command (PRO only)
  • master added to supervisor in ‘simple mode’ broadcasting LEADER IP to all FOLLOWERs (PRO only)
  • master added info for changelog.c
  • daemons warnings if a variable is defined more than once in a config file
  • bdev added test for posix compliant ioctl prototype
  • freebsd moved port files from sysutils to filesystems
  • master fixed chunkserver registration in DEPUTY mode (PRO only)
  • all added names to some constants used across the system
  • all added new charts data (total data I/O from all clients)
  • metasearch added printing paths for trash and sustained items
  • master fixed constants in metadata.c
4.56.x Jul – Sep 2024

4.56.6

  • cgi+cli fixed bugs in CLI mode introduced by new GUI features

4.56.5

  • gui changed links to knobs

4.56.4

  • master fixed counters for chunks with both arch and trash flags
  • tools fixed usage string in makesnapshot tool
  • gui a lot of small improvements (auto refresh, color themes, etc.)

4.56.3

  • gui face lift

4.56.2

  • master fixed temporarily removing chunkservers on ELECT and DEPUTY states (PRO only)

4.56.1

  • man added moosefs(7) man page
  • all changed allocation for dynamic structures (makes compilers happy)
  • client fixed dns mutex issue (usage before init)

4.56.0

  • all added instance configuration consistency tests (resolver + masters configs — PRO only)
4.55.x Jun 2024

4.55.3

  • master+cs+metalogger added debug infos to masterconn.c files
  • mount added resolver infos to .params

4.55.2

  • master added log messages whenever a client tries to connect with wrong password or no password

4.55.1

  • master fixed removing inode record in posix locks in FOLLOWER when last lock is removed
  • master fixed removing waiting locks on client disconnection (posixlocks.c and flocklocks.c)
  • cli fixed units in some chart data tables

4.55.0

  • master added DEPUTY state (PRO only)
4.54.x Apr – May 2024

4.54.2

  • mount fixed fsname generation (subfolder with leading / issue)

4.54.1

  • mount fixed supplementary groups cache (permission problems with samba)
  • mount fixed order of options in case of overriding defaults from mfsmount.cfg

4.54.0

  • tools fixed ignoring partially applied patches (case of entry changed from directory to file etc.)
4.53.x Jan – Apr 2024

4.53.7

  • tools fixed buffer management in multithreaded version of mfspatch
  • tools fixed job queue closing issue
  • gui+cli added detecting master in USURPER state
  • tools added/changed/fixed messages printed by mfspatch

4.53.6

  • master fixed reporting storage class property “can be fulfilled” in gui (downgraded redundancy level)
  • tools printing socket errors to stderr instead of stdout

4.53.5

  • master fixed memory leak in xattr.c (only during patch applying)

4.53.4

  • tools added patch position handling to mfspatch tool
  • tools added to mfspatch ignoring more errors when run in force mode
  • tools fixed symlink content test

4.53.3

  • tools added multithreaded version of mfspatch tool
  • master fixed applying ADDATTR changelog
  • tools fixed time printer in new time parser

4.53.2

  • tools added reporting progress on signal in mfspatch tool

4.53.1

  • tools added support for hardlinks in mfspatch tool
  • master fixed parsing mintrashretention and maxtrashretention in exports.cfg and added new time parser

4.53.0

  • master+tools+gui+cli added labels_mode overrides for all label expressions
  • master added csipmap.cfg with non regular IP mappings for chunkservers
  • master added support for STRICT/STD modes in all EC cases
4.52.x Nov 2023

4.52.1

  • master added support for STRICT and STD label modes in EC
  • master added special case of modification EC chunk in STRICT mode with no valid chunkservers for copies

4.52.0

  • all removed supervisor package (mfssupervisor added to master package)
  • supervisor added mfssupervisor with limited functionality to community edition
  • gui use all charts in master chart comparison table
  • master fixed times in root node in new mfs instances
4.51.x Oct – Nov 2023

4.51.1

  • master added protection against loading chunks or nodes with the same id
  • gui added protections against javascript injection

4.51.0

  • all added dynamic default grace period in quotas
  • tools added usage percents to quota tool
  • all added human friendly way of defining time periods in configs
  • mount added changing working directory to root (/) when the process daemonizes
  • tools fixed time related conversions
  • bdev fixed unmap protocol
  • mount added displaying ctime in attribute list
4.50.x Aug 2023 — CE/PRO codebase re-aligned

4.50.0

  • all removed libmfspro library and prepared PRO/CE versions the way it was in MooseFS 3.x
4.40.x – 4.49.x Jun 2022 – Jul 2023

4.49.0

  • master added trashflag fixing

4.48.1

  • master fixed trashflag handling for snapshotted chunks (bug intr. in 4.46.0)

4.48.0

  • client fixed “invalid” region sent by clients in “writeend” packet (bug intr. in 4.40.1)
  • master ignoring “invalid” regions sent by bugged clients (versions < 4.48.0)
  • master+client added “invalidation offset” to “chunk has changed” packet

4.47.1

  • cs added condition for minimal chunks to local rebalance

4.47.0

  • all added ‘per chunk mode’ to storage classes — arch bit set using chunk modification time
  • tools added displaying chunk mtime to mfsfileinfo
  • master do not take into account invalid chunks and chunks with wrong versions
  • tools fixed retrieving path and checksum in case of chunks with wrong version
  • master fixed calculating disconnected servers in chunkserver chart
  • cs added limit for hdd path length (PATH_MAX-100)
  • all changed fgets to getline

4.46.1

  • master added changelog reservation for delayed FOLLOWER (PRO only)
  • master moved chunk priority enqueue in case of local-split
  • master fixed condition for chunks locked to future date
  • master changed order of cases in do_jobs

4.46.0

  • master added storage classes and file counts to chunk records
  • master changed file counts data structure (8 bytes saved per chunk)
  • master fixed timeout during metadata transfer caused by waiting for socket closing

4.45.3

  • cli fixed defaults for class id in matrix
  • master added waiting for socket closing after metadata sending

4.45.2

  • master always try to fix the undergoal status of chunk before writing data
  • cs fixed checksum sparsification in local-split operation
  • master fixed chunk job exit reasons (“info” report)
  • master fixed double locks in new replication data structure
  • master fixed status returned by undergoal_replicate in case of replication error
  • master fixed deciding if undergoal chunk can be fixed
  • master moved setting of chunk operation to inline function
  • all prepared set of function for debugging
  • master fixed a bug in counting number of servers occupied by EC parts
  • master changed reformat priority name to ioready
  • master added using bucket allocator for lock replication structure

4.45.1

  • mfsio added support for password in MD5 format

4.45.0

  • master added last modification time to each chunk (stored in lockedto field)
  • master replication locks moved to separate data structures

4.44.4

  • master fixed bug in sorting chunkservers during selection for chunk creation

4.44.3

  • tools added ignoring NOP packets received from chunkserver

4.44.2

  • mfsio added minimal master version accepted for connection — as an option

4.44.1

  • master+libpro added check for valid metaid in meta_load function
  • master fixed termination during metadata save issue (introduced in 4.40.1)
  • cs changed ‘read/write’ to ‘receive/send’ in messages

4.44.0

  • master+gui+cli added filtering chunk matrix by storage class
  • master fixed chunk matrix counters in chunk_load function

4.43.2

  • master changed format of chunk job info

4.43.1

  • master added more detailed chunk job info

4.43.0

  • libpro added support for long license format with long JSON string
  • mfsio fixed Windows issues
  • master adjusted priority queues algorithm

4.42.0

  • master+cs added support for getting content of file pointed by config option
  • master added support for syslog packets

4.41.1

  • all verified and unified all messages log levels
  • all added options to filter messages (min level) and to elevate log levels sent to syslog

4.41.0

  • all new mfslog.c file — prepared for keeping all logs centralised
  • master changed default ATIME_MODE to 2
  • master fixed atime/mtime/ctime preservation during snapshot

4.40.4

  • mfsio fixed lookup cache issues

4.40.3

  • all using SIGUSR1 instead of SIGINFO even on system where SIGINFO is defined
  • mfsio added using full path lookup with cache

4.40.2

  • master added process termination when changelog can’t be stored locally

4.40.1

  • master+client added offset and size to “writeend” and “invalidate” packets
  • master+client added support for “working flags” and added “working cache invalidator” flag
  • master+client try to keep cache on open when all correct invalidations performed
  • tools added support for winattr, eattr, facl and xattr in patch tool
  • supervisor+master added support for “fake” metadata save with crc check
  • master added protection against running background metadata saver twice
  • master added ignoring scheduled metadata save when forced metadata save in progress
  • nbd added option to ignore locks during block device mapping
  • tools added “small changes” switch to mfspatch tool

4.40.0

  • master new packet ‘set all attributes’ (for mfspatch)
  • master fixed lookup in cases of . and ..
4.30.x – 4.39.x Feb 2021 – May 2022

4.39.0

  • mfsio split mfsio.c into internal api (used for both — windows client and posix libmfsio) and simple translating layer
  • master added a safeguard so a regular user cannot create a block and/or character device
  • tools added support for sockets in mfspatch tool

4.38.4

  • master added checking condition similar to replication in case of localsplit
  • cs added reporting delete and replicate commands received from master during registration

4.38.3

  • all fixed windows compatibility issues in some files
  • common added support for WSAPoll in portable.h (windows only)
  • common added support for GetTickCount64 in clocks.h (windows only)

4.38.2

  • cs added truncated chunks detector

4.38.1

  • tools added retry after failure (connection with mount/master)

4.38.0

  • tools added new ‘patch’ tool for remote backups

4.37.6

  • metatools added option to load chunk identifiers from file to mfsmetasearch

4.37.5

  • cli fixed handling table with disconnected chunkservers

4.37.4

  • tools fixed removing acl in mfssetfacl (anding group with mask)
  • tools fixed parser in mfssetfacl (username without user:)

4.37.3

  • man updated manpages for all tools
  • tools fixed acl_spec parser (protection against users named user, group etc.)

4.37.2

  • mount removed forcing direct mode when file has been opened with O_APPEND (cache problems reported on Linux)
  • mount added logging offset changes when data is appended

4.37.1

  • master reduce function stack frame usage (slow down due to use -fstack-clash-protection by some OS’es)
  • master fixed file mode in changelog (problem with mask when parent has default ACLs)
  • tools refactoring in all tools

4.37.0

  • master,cs,gui+cli separate high speed rebalance status from classic overloaded status
  • master,gui+cli added FOLLOWER delay chart (PRO only)
  • tools added import subcommand for mfsscadmin
  • netdump added displaying command length
  • mount increased acceptable answer size in master proxy (needed for trash tools)
  • cs removed chunk creations and deletions requested by replicator from corresponding charts

4.36.6

  • cs added background attributes scan (reload + storage limit)
  • gui added exit after CS section when there are no active masters
  • master when chunk has both bits ARCH and TRASH set then system will use TRASH class (if defined) first and then ARCH (if defined)

4.36.4

  • cs added support for new .chunkdb format to mfschunkdbdump (intr. in 4.36.3)
  • master fixed reporting partial ec as wrong version
  • freebsd added mfschunkdbdump with manpage to plist file

4.36.3

  • cs added ‘shared’ mode for each hdd with optional available space limit (size or percent)
  • master wait with next replication when previous returned status ‘time out’
  • cs changed calculation of estimated disk usage (using real disk usage from stat instead of file length)
  • cs added ‘percent’ limit modes for hard drives

4.36.2

  • master fixed handling writecounter on failed write operations
  • gui fixed compatibility with MFS 3.0 issue
  • cs added timeout to replicator (const 150 seconds) with progress check
  • all changed trashtime to trashretention in code, manpages etc.

4.36.1

  • cs fixed NOP handling during write to chunk
  • mount increased waiting time for write finish
  • cs added option to switch between mmap and malloc (default set to malloc)
  • client removed using mmap for master buffer allocations

4.36.0

  • master+tools fixed quick version of mfsfileinfo (support for EC4)
  • man updated man pages
  • master+cs added error message when a config file can’t be loaded
  • client fixed invalidating directory cache after unlink, rmdir and rename
  • cs fixed cond variables leaking

4.35.1

  • libpro updated API for version 4.35
  • mount fixed printing version on MacOS

4.35.0

  • master+cli+gui added info about maintenance mode with timeout (how many seconds left)
  • cs added stalled jobs detection
  • cs added more jobs info to report (avg job time, max job time etc.)
  • master reduced number of copies that will be cleaned up on each call after chunkserver disconnection

4.34.2

  • master fixed state switching (made DUMMY the final state — PRO only)
  • cli added chart data type ‘all’ — an alias to all charts (master and chunkserver)
  • cli when in chunkserver data host and port are not specified then all available chunkservers will be used

4.34.1

  • master added job exit reasons to info file
  • master fixed failed jobs algorithm (rebalance stalled when there was low rebalance probability)

4.34.0

  • master made chunks always readable after ‘mfsfilerepairing’ them (will return zeros when chunks are missing)
  • master fixed logical error (master without metadata could become ELECT and then LEADER which led to segfault)
  • all new feature: minimum file length needed for being moved from KEEP to ARCH mode in storage class

4.33.2

  • cs+master removed register protocols compatible with pre 2.0 versions

4.33.1

  • cs fixed crc data in info packets (*_CHUNK_CHECKSUM, *_CHUNK_CHECKSUM_TAB, *_CHUNK_INFO)
  • mount added NOP packets to master proxy (fixed query error on long requests from tools)
  • metasearch fixed parsing hex numbers with letters
  • master added changelog after automatic version fix in chunk_do_jobs
  • master added doing extra chunk job when chunk is removed from delay queue

4.33.0

  • cs+gui added clearing last hdd errors in chunkservers
  • cli added JSON output (pull request by Aleksander Wieliczko)

4.32.1

  • gui fixed using & in javascript URLs
  • cs added tracking of busy chunks (don’t send chunk status when chunk is busy)
  • master removed tracking of busy chunks
  • master added chunk deletion delay after replication (mainly during EC<->COPY conversion)
  • master fixed emergency save in FOLLOWER
  • gui added tooltips to charts
  • master always return MFS_ERROR_EAGAIN when number of valid copies is zero but goal equivalent is higher than zero
  • master+cs fixed overflows in old charts (only for 3.x gui compatibility)
  • cgiserv fixed error/redirect responses (pull request for 3.x by @Eronana)

4.32.0

  • metatools new tool mfsmetasearch
  • cs+master added to load packet info about disk scanning and removals
  • master never use registering chunkserver as a destination place for replication (potential race between replication and chunk registration)
  • master do not check files when system is during chunkserver disconnections, registration etc.
  • cs reduce number of chunks per packet sent by chunkserver during registration (avoid master clog)
  • master kill meta store process after becoming LEADER
  • master+cs prepare system for integrity testing between master and chunkserver
  • master fixed handling copy sgid for directories on FOLLOWER and during restore from changelog
  • master added new charts data (total data I/O from all clients) [sic]
  • master+supervisor added option to force metadata store (PRO only feature)
  • charts fixed leap years calculation for years that are multiples of 400
  • master fixed changelog order between unlock and close file or session
  • master removing good chunks from list of missing chunks sent to cli/gui
  • master+cs changed packet for access to nonexistent chunk (from “chunk lost” to “chunk doesn’t exist” — prevents turning off replications)
  • client added limit for sustained parents that can be stored
  • master fixed handling license quotas (PRO only feature)

4.31.9

  • master fixed changelog rotation (intr. in 4.31.1)

4.31.8

  • master take into account parts on the same servers in redundancy level calculations (for example — do not remove copies when all parts are still on the same server after split)
  • cs force fsync and close after replication

4.31.7

  • master fixed redundancy level calculating algorithm (intr. in 4.31.5)
  • master fixed localsplit missing part mask
  • master fixed restore mode (missing cache initialisation)
  • master fixed version sent in chunk deletion (invalid and wrong version chunks)

4.31.6

  • master removed redundancy level fixes from loop (loop uses different algorithm, so can’t fix counters)
  • master changed rebalance replication from low-priority to high-priority (avoid race between rebalance and other replications)
  • master changed chunkserver connection info dumped on INFO/USR1 signal

4.31.5

  • gui added chart color keys
  • mount fixed mfsmount freeze on OSX (secondary groups handling on ‘access’)
  • mount removed OSX defines workaround (no longer needed)
  • master fixed default paths for mfsexports.cfg and mfstopology.cfg
  • master split fail limits into undergoals / overgoals / wronglabels
  • master changed redundancy level calculating algorithm (take into account duplicated parts on the same server)

4.31.4

  • cs fixed reconnecting in replicator (intr. in 4.29.2)
  • master added experimental job limiting options

4.31.3

  • master added replication/deletion info (INFO/USR1 signal)
  • master reducing CPU usage in chunk loops (fail limit per class)

4.31.2

  • master stop treating chunks with one copy and goal one as endangered in master charts
  • gui fixed printing values in javascript charts
  • all fixed dumping current config values on INFO/USR1 signals

4.31.1

  • master added METADATA_SAVE_OFFSET option
  • master added limits per storage class for chunk jobs

4.31.0

  • master+cs+gui new client-side charts with new options
  • cs added assertions for pthread related functions in mainserv.c

4.30.2

  • libpro fixed changing error number to string

4.30.1

  • all added support for dangerous configuration options
  • cs added timeout for replicator
  • master+cs added support for new charts (new CHARTS_DATA packet)

4.30.0

  • master+cs added way to first register chunks that are needed for I/O operations
4.20.x – 4.29.x Dec 2019 – Feb 2021

4.29.1

  • master added inode virtual length for append mode
  • mount moved rwlock from descriptor to inode (fixes append issues)
  • cli+gui added “Marked for removal” filter to “Disks”
  • gui changed method of charts selection in charts comparison
  • gui added using htmlentities function for various strings
  • mount added parents of CWDs to sustained inodes (workaround for FreeBSD problem)

4.29.0

  • master added support for total quota
  • gui+cli added message before printing stacktrace on exception
  • master+gui+cli added new license file format (licenses with string types)

4.28.2

  • master fixed reference time used to synchronise lockto field between masters
  • master fixed handling disconnection of chunkserver with pending localsplit operations

4.28.1

  • all fixed timeout handling in sockets.c library

4.28.0

  • mount added symbolic link cache timeout
  • master added option to define inode reuse delay
  • master+tools erasing chunk during mfsfilerepair is optional now (new flag -d)

4.27.1

  • master fixed chunk timeout issue (take into account localsplit operation)

4.27.0

  • cs added space and chunks charts
  • cs added checking access to all folders before scan
  • master+cs new charts
  • master new session stats
  • master+client sending form client to master true number of operations
  • master+gui+cli new license data

4.26.10

  • nbd+mfsio added options to configure mfs parameters in block device

4.26.9

  • master+gui added support for labels mode in all copy-like modes
  • master fixed rebalance algorithm
  • master added support for CHUNKS_UNIQUE_MODE

4.26.8

  • master servers in ‘rebalance’ state are now allowed to be used in replication
  • master unified conditions for conversions COPY<->EC

4.26.7

  • master added option for restricting incompatible clients
  • master added simple fulfilment calculation for EC classes

4.26.6

  • master added protection against listing too big directory

4.26.5

  • master fixed EC data being sent for mfsscadmin list command
  • tools skipped displaying arch delay when arch mode is set to FAST
  • tools improved check for archive time options
  • master fixed some scenarios in do_jobs and calculate_endanger_priority functions

4.26.4

  • master fixed EC4 chunk matrix data sent to gui

4.26.3

  • master+gui added displaying unmapped IP in chunkserver list
  • master fixed serious HA issue introduced in 4.24.0

4.26.2

  • master+gui split EC table into EC8 and EC4 tables

4.26.1

  • nbd added support for config with initial mappings
  • nbd added support for user defined block sizes

4.26.0

  • master implementation of EC 4+N

4.25.0

  • master fixed timestamp using to clear locks in chunks section of metadata file

4.24.2

  • master fixed handling ‘marked for removal’ EC parts

4.24.1

  • master added ignoring empty filenames
  • master+cs added protections against accidentally running a PRO installation without PRO features
  • master fixed chunk copies counters overflow
  • client prepared for 4+N EC mode
  • cs prepared localsplit for 4+N EC mode

4.24.0

  • nbd fixed nbd listing
  • pro moved PRO features to dynamically downloadable library
  • cs removed condition that caused chunks to be forever locked
  • cs added timeout in waiting for locked chunks
  • all changed to hex all chunkid logged to syslog
  • cs changed port number from hex to dec in replicator module
  • master fixed scenario with not enough servers and parts on servers marked for removal
  • mount added printing open/create mode to the oplog
  • mount fixed opening file after using lookup cache

4.23.5

  • nbd fixed packet size
  • nbd added chdir("/")
  • cgiserv added chdir("/")

4.23.4

  • tools,man fixed mfsfacl tools and manpages

4.23.3

  • all fixed memory leak in new logger

4.23.2

  • client+master fixed handling keepcache and direct flags
  • gui changed time format
  • cs added logging info when .chunkdb is not written to disk
  • master fixed alphabetical order of commands detected in changelog
  • tools fixed small issues in trash management tools

4.23.1

  • tools fixed mfsfacl tools
  • tools added trash management tools

4.23.0

  • master optimized reaction to status NOTDONE received from chunkserver
  • cs changed queue limit to max workers (limited dynamically)
  • master fixed treating chunk delete status

4.22.2

  • cs fixed deadlock condition on mutexes

4.22.1

  • mount fixed truncating files open with O_APPEND flag
  • cs added disk rebalance when all designated source disks are already empty
  • mount added additional info to .params file
  • master+cs added check against EACCES after lockf
  • master fixed access checks in snapshot
  • tools fixes in trash tools

4.22.0

  • master+client added support for new extra attributes: immutable, appendonly, undeletable
  • master moved multilan management to separate source file
  • master fixed using multilan in LEADER IP mapping
  • master added using multilan mapping in chunkserver list

4.21.8

  • nbd added read-only mode and locking
  • cs fixed condition in choosing disks for internal rebalance
  • mount added workaround in access for a bug in FreeBSD kernel
  • cs fixed master reconnection conditions
  • master changed disk removal detection algorithm
  • cs fixed calculating size limits
  • cs added handling inode limits in local filesystems on chunkservers
  • master added topology grouping when new chunks are about to be created
  • master added more error messages to bgsaver.c
  • cs added changing subfolder during internal rebalance
  • mount turn off dentry invalidator for Linux kernels ≥ 4.19
  • master changed condition that checks timestamp in changelogs
  • gui+cli changed mark for removal state name UNKNOWN->PENDING
  • client decreased max IDLE time in writer module from 1s to 0.1s
  • client update inode in dentry invalidator
  • master fixed trash recover
  • client silenced kern.proc.filedesc syslog messages on FreeBSD

4.21.7

  • master changed condition that decides if master should wait for more chunks during I/O
  • mount delayed setting channel for fuse notifications
  • client+master changed conditions for ancestor test in getattr
  • cs added parameter for number of chunks to be send in single register packet
  • cs fixed reporting damaged chunks in testing function
  • client changed open test in setattr
  • master fixed handling truncate for open files
  • master added uid mapping in setfacl function
  • master+client fixed keep cache conditions
  • cs introduced official label format defined in chunkserver configuration

4.21.6

  • master added protection for never ending desyncing between newer LEADER and older FOLLOWER
  • master fixed slices with to set to 0 in mfsappendchunks
  • man fixed typo in mfsappendchunks man page

4.21.5

  • cs when chunk can’t be located always send to master info about lost chunk
  • supervisor,master,cs fixed buffer overrun in mastersupervisor.c
  • master changed algorithm of reusing chunkserver ids
  • master fixed segfault during appending chunks of file with positive length and no chunks

4.21.4

  • master fixed memory leaks in xattr.c and posixacl.c
  • master fixed checking disable flags in mfsrmsnapshot

4.21.3

  • client fixed deadlock in dentry invalidator

4.21.2

  • client added dentry invalidator

4.21.1

  • all added support for multiple ip/hostnames separated by colon or semicolon for masterhost definitions
  • all added protection against ip duplicates in master resolver
  • master fixed for reading data during cleanup after chunkserver disconnection

4.21.0

  • master,gui+cli added support for disabling individual filesystem commands in exports
  • client added handling read / write / readdir disables on client side
  • client added session parameters to .params file

4.20.6

  • master introduced replication limits for ‘reformat priority’
  • cs silence compiler warning
  • client fixed handling LOCKED and EAGAIN status in readdata

4.20.5

  • cs added protections against segfaults

4.20.4

  • cs changed allocation of duplicated chunks from malloc to mmap
  • client reading in O_WRONLY no longer causes EACCES
  • metadump printing dots for non-printable characters made optional

4.20.3

  • cs fixed bug that may lead to creating much more chunks in one subfolder
  • cs added option for controlling subdirectory selection algorithm for newly created chunks
  • cs prevent potential dumping deleted chunks to .chunkdb
  • client added options for setting behavior when master returns unavailable chunks or no space status
  • gui fixed logo and icon
  • master turning off sending NOP commands to unregistered clients and supervisors
  • cs fixed reporting wrong number of hours in duplications removal message
  • master fixed reading scenario in EC mode with missing data parts
  • cs redesigned duplicates removal procedure to do it in groups of 100 files
  • cs introduce mypread and mypwrite macro
  • cs added check for changed crc before every chunk file close
  • 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
  • cs fixed condition in internal rebalance procedure
  • cs added option for setting duplicates retention time in hours
  • cs fixed memory leak in removing disk with duplicates
  • cs removed unnecessary attribute reading when chunk duplicates are detected

4.20.2

  • master fixed TRASH_RECOVER not moving file from trash to normal space
  • master+cs+supervisor fixed using NOP packets

4.20.1

  • master fixed LEADER-FOLLOWER desync case related to archive flag

4.20.0

  • master added glob patterns to trash list and sustained list
4.10.x – 4.19.x Sep 2018 – Dec 2019

4.19.0

  • master fixed interpreting MOVE changelog (NEXTSEPARATOR macro)

4.18.7

  • cs added allowance for starting with invalid entries in mfshdd.cfg

4.18.6

  • mfscgiserv fixed handling redirects (bug intr. in 4.18.3)

4.18.5

  • master fixed missing handling FORCE_TIMEOUT packet

4.18.4

  • master fixed rmdir packet size

4.18.3

  • master fixed sign in reporting time difference
  • cgiserv added content-type: text/plain to gui outputs with errors
  • cs fixed memory leak in local-split operation

4.18.2

  • freebsd detecting new fuse version in the kernel and adjusting behavior

4.18.1

  • mount+master fixed few small issues related to POSIX compliance (checked by pjdfstest)
  • freebsd fixed compatibility with libfuse3 on FreeBSD

4.18.0

  • mount,master added support for EXCHANGE and NOREPLACE flags for move / rename
  • mount,master added support for O_TRUNC flag for open
  • mount added support for readdirplus
  • mount workaround for bug in fuse (wrong lock_owner in flush)
  • mount fixed deadlock in readdata.c
  • all changed preferred C standard from C99 to C11 and added tests for atomics
  • mount move read/write structures initialisation from open to read / write
  • mount,mfsio added a new data structure for keeping files’ lengths
  • configure added option disable_all, added summary at the end

4.17.5

  • mount added support for libfuse3

4.17.4

  • master added support for multiple LANs
  • master fixed length of empty directories (1 instead of 0)

4.17.3

  • cs added info logs to bgjobs.c (tasks summary)

4.17.2

  • cs experimental version with unlimited queue

4.17.1

  • cs fixed NOP packets ping-pong
  • client fixed NOP flooding in write module
  • cs fixed race condition in bgjobs.c (jobhash)
  • cs+mount added new status returned to mount when queue is full and support for it

4.17.0

  • master added NOP command to changelog
  • master+supervisor added time check
  • cs fixed behavior when job queue is full
  • cli+gui added time data to master servers

4.16.3

  • master take write replication counters into account in server ordering for chunks
  • master changed calculating replication limits in chunk rebalance procedure

4.16.2

  • master+gui/cli added syncstate INIT

4.16.1

  • master added restore run mode

4.16.0

  • 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 LEADER
  • master changed condition for removing chunk from data structures

4.15.0

  • master added userfiles and matchedfiles to TRASH_LIST and SUSTAINED_LIST
  • master fixed LEADER/FOLLOWER desync on SETCHUNK command
  • cli+gui fixed shebang in python scripts
  • master better hard links handling
  • master added limit for number of hard links allowed for one object
  • master added option for automatic removal of unused chunkservers
  • metadirinfo fixed segfault when output filename not specified
  • chunktool added file name fixing option
  • all changed chunk replication and deletion charts into two color charts
  • all added new charts with number of chunk creations and internal changes
  • 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

4.14.1

  • cs added reporting socket error when poll returns POLLERR
  • cli fixed ‘free space’ in plain mode

4.14.0

  • cs new split operation
  • master using new split operation
  • master added lookup for paths (for future use)

4.13.4

  • nbd added option for specifying subfolder on MFS for block devices

4.13.3

  • nbd fixed segfault when filename not specified
  • client fixed size of waiting threads counter (rare deadlock in write module)
  • cli fixed status returned in case of master name resolution failure
  • netdump fixed using deprecated function pcap_lookupdev

4.13.2

  • master fixed labels in EC mode

4.13.1

  • cs fixed exiting protocol
  • cs fixed data race in bgjobs.c (jobid)
  • cs added internal rebalance chart

4.13.0

  • cs added new version in chunk header (1.1)
  • chunktool+cs added testing crc for non existing blocks in chunks 1.1
  • mount fixed changing processname

4.12.5

  • cs fixed removing chunks from data structures when marking disk as damaged
  • cs fixed handling ‘damaged’ disks with chunks on reload
  • cs unlink duplicates a week after detection
  • tools added displaying number of chunk blocks in mfsfileinfo
  • cs fixed crc values for non existing blocks
  • master added error messages for fork errors
  • gui fixed handling encodings
  • gui added timestamp
  • gui fixed chart.cgi url

4.12.4

  • master fixed condition detecting if there are all available chunks
  • mount added .params pseudofile with mfsmount working parameters
  • supervisor added reloading config parameters on SIGHUP

4.12.3

  • cs fixed descriptor handling in replicator

4.12.2

  • client added ignoring _netdev option
  • master added defining “rackid” as string paths in mfstopology.cfg
  • master fixed desync on adding damaged chunk
  • master added changelog save mode

4.12.1

  • tools fixed parsing option -o in mfsscadmin
  • freebsd added libmfsio to plists

4.12.0

  • master,cs,client,metalogger added MATOxx_FORCE_TIMEOUT option
  • client fixed handling network timeouts
  • master increased mmap allocation block size
  • client fixed handling internal packets with size zero
  • client fixed symlink cache handling

4.11.4

  • master fixed trash “race” between setting trash flag and removal
  • master changed adding trash and sustained elements during load
  • debian removed chown -R from startup scripts

4.11.3

  • master fixed gid array parsing during metadata restore

4.11.2

  • master fixed log rotation on FOLLOWERs

4.11.1

  • master fixed quota handling in FOLLOWERs

4.11.0

  • linux import post installation scripts from 3.x
  • all prepared everything for PRO version

4.10.2

  • tools import new tools sources

4.10.1

  • all sync changes with 3.0.103
  • cs proper disconnection from master during reload
  • metatools added new metatool mfsmetadirinfo
  • mount added extremely fast pseudo-random generator visible as .random
  • mount added option to load master password from given file

4.10.0

  • master close listen sockets after fork operation
  • daemons fixed waitpid condition
  • daemons added optional processname_set function
  • master added subprocess for saving downloaded metadata in background
  • bdev changed block devices management
4.0.x – 4.9.x Feb 2017 – Jul 2018 — the original 4.x line, starting with erasure coding

4.9.0

  • master+client added space reservation for superuser
  • cs added optional high speed internal rebalancing
  • bdev new module for Linux — dedicated block device
  • master added test for metadata download overlapping
  • master added configurable metadata downloading block size
  • cs added data pre-caching posix_fadvise(WILLNEED) before reading chunk data

4.8.0

  • master+gui+cli changed meaning of redundancy level in EC definitions
  • mount increased master-proxy timeouts

4.7.1

  • cs fixed metaid handling
  • cs changed recover/join replication (decreasing disconnection/timeout probabilities)
  • master added clearing snapshot eattr on file/directory modifications

4.7.0

  • master added support for trash/sustained tools
  • master fixed HA bug (uninitialized variable might cause everlasting ELECT)
  • master fixed scenarios with goal equal to number of servers

4.6.1

  • cs added using posix_fadvise(...DONTNEED) for tested chunks

4.6.0

  • master added support for new trash+sustained commands in mfstools
  • master added new chunk priority (unfinished EC)
  • master make undergoal replications respect topology
  • master fixed sending replications to servers with invalid copies
  • all fixed differences in defaults between source, config and manpages
  • all added nobreak macro to explicitly inform compiler that intentionally there was no break before following case
  • mount added mfssuid and mfsdev options to mount

4.5.5

  • master added option for not moving empty files to trash by default

4.5.4

  • master+mount fixed handling read-only filesystems (ro flag in exports and lookup-open lflags)

4.5.3

  • mount decreased memory usage (fixed handling buffers allocated per thread)

4.5.2

  • master do not store chunk replication lock time
  • all setting correct errno when read returns 0 (in sockets.c)

4.5.1

  • mount fixed double free of plock_data structure
  • tools fixed smode conditions in tools_snapshot.c
  • tools fixed loop condition in mfsscadmin (storage class copy)
  • all silence static code check warnings

4.5.0

  • gui+cli separate chunk counts into COPY and EC in storage class statistics
  • master fixed calculating checksum for “FREE” block in metadata
  • master added test for timestamp order in “FREE” block in metadata

4.4.2

  • cs changed chunk testing routine (new definition is in MB/s per disk)
  • gui added filtering in Disks tab (all servers, one server, disks with errors only)
  • metadump fixed dumping patterns data
  • master fixed trash flag handling during emptying trash

4.4.1

  • gui+cli added reporting last save metadata checksums
  • gui+cli fixed errors during displaying undefined data

4.4.0

  • master fixed inconsistency in calculating realsize when storage class definition has changed
  • master fixed special case of recovering EC data
  • master+cli/gui new chunk loop counters
  • master added regular metadata checksum checking
  • master+cli/gui calculating chunk matrix independently for full-copy chunks and EC chunks
  • master+cli/gui added EC stats in “Meta Info” table

4.3.0

  • master+mount added chunks data cache invalidation after chunksever disconnection and reconnection
  • mount changed (lowered) number of connection retries (depends on I/O retry counter)
  • cli fixed IndexError exceptions during displaying patterns and storage classes
  • cgiserv fixed handling connection close during data sending
  • master rewritten do_jobs routine (handling different chunk state cases)
  • master fixed hanging write operation when chunk is in EC format

4.2.5

  • tools fixed few errors in mfsscadmin
  • master changed replication scheme in changing chunk format from EC to copies
  • cgiserv added ignoring SIGCHLD (should prevent creating zombies)
  • gui/cli fixed displaying arch_delay

4.2.4

  • master changed chunk behavior before modification (try to reach goal before write/truncate)
  • master call chunk_do_job directly in case of chunk modification
  • gui added colors for hard drive status

4.2.3

  • master fixed reversing from ARCHIVE to KEEP mode

4.2.2

  • tools fixed communication bugs
  • cs fixed rare segfault during chunk sending to master after disconnection
  • mount added thread for cleaning released files with delay
  • mount added assertion for lru cache (sustained open files)

4.2.1

  • master+tools added new tool to manage patterns

4.2.0

  • master+tools added support for using atime, mtime and ctime in switching from KEEP to ARCHIVE mode
  • master+tools added reversible flag for switching between KEEP and ARCHIVE
  • master+tools added fast flag for switching from KEEP to ARCHIVE regardless of atime, mtime and ctime

4.1.4

  • master improved priority chunk queues data structures

4.1.3

  • master changed priority chunk queues data structures

4.1.2

  • master fixed changing chunks from EC format to classic format during write operation
  • master disconnect all clients after changing exports and reload
  • mount fixed scenario that may lead to fail assertions

4.1.1

  • mount changed default cache mode on OS X from direct to auto
  • cgiserv added seteuid to mfs or nobody
  • cs+tools use readdir instead of readdir_r on glibc 2.24+
  • debian added support for systemd in debian packages
  • all fixed library dependencies (for libpcap, libz and libm)
  • mount fixed race between deferred open and various lock commands
  • master more chunk debugs and better handling chunk status change
  • cs fixed handling mark for removal
  • master added file with metadata checksums (for future use)
  • master fixed way of sending gids to changelog
  • master added inode checksum for some changes sent to changelog
  • metadump added 0x prefix for fields dumped as hex numbers
  • master fixed ACL mask synchronization issues

4.1.0

  • all temporarily merged all PRO and CE functions to the same source

4.0.8

  • tools fixed trash/sustained size desynchronisation
  • mount fixed handling invalid arguments in posix lock command

4.0.7

  • mount+master added update master version during reconnection
  • master fixed winattr field size in setattr command
  • mount fixed dirattrcache (freezes or inefficiencies during listing directories)
  • gui fixed displaying master charts without LEADER (PRO only)
  • mount added info about using open dir cache in .oplog/.ophistory

4.0.6

  • master removed starting protection time from client communication module

4.0.5

  • mount fixed condition in assertion (read module)

4.0.4

  • mount fixed timeout syslog message during read data
  • mount timed out worker that was able to read anything doesn’t increase try counter
  • mount moved retries counter from file record to request record

4.0.3

  • mount fixed read from split chunk
  • mount fixed support for CREATE/REPLACE flags in setxattr
  • mount added headers for flock defines
  • all added check for poll.h header file
  • master added test for WRITE access on directory during moving between different parents
  • master added clearing suid/sgid during write
  • mount increased performance when reading from chunk divided into parts (EC support)

4.0.2

  • mount fixed reading from chunk divided into parts (EC support)

4.0.1

  • all removed PRO/CE bit from version number

4.0.0

  • all added erasure codes
  • tools added new commands mfsXXXtrashretention (deprecate mfsXXXtrashtime commands)
  • tools added new commands mfsXXXfacl for managing ACLs on non-Linux OS’es
  • master added new storage mode (trash) in storage classes
Next steps

Ready to upgrade?

If you’re moving between major versions, the documentation has the step-by-step upgrade guide. To see which streams are still actively supported, head to the versions page.

How to upgrade    Supported versions    Get help