Changelog

MooseFS 4.57.7-1 (2025-06-16) - released PRO and CE on June 16th, 2025

  • (all) joined packages cgi and cgiserv to a new gui package
    Packaging change if you use automatic update scripts that have specified package names, be sure to update them.
  • (gui) added dedicated GUI server
  • (gui) gui refactor
  • (cli) cli refactor
  • (gui) added support for Prometheus metrics
    New feature: users will be now able to collect monitoring metrics from MooseFS GUI to use with the Prometheus system.
  • (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

MooseFS 4.57.6-1 (2025-03-25) – released PRO and CE on April 4th, 2025

  • (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

MooseFS 4.57.5-1 (2025-02-21) – released PRO and CE on March 12th, 2025

  • (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)

MooseFS 4.57.4 (2025-02-17)

  • (chunktool) added recursive mode and option to throw away damaged chunks
    New feature: mfschunktool can now be instructed to check all chunks on a harddrive (path). It will travel the directory tree recursively and analyse all files that could be chunks. If desired, unrepairable chunks can be "thrown away" (moved to a separate location).

MooseFS 4.57.3 (2025-02-04)

  • (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

MooseFS 4.57.2 (2025-01-27)

  • (mount) added 'fake' system.posix_acl* xattrs to listxattr (previously not needed)
  • (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
    New feature: a user can now select one Master Server in a Pro installation, this server will try to assume the LEADER role whenever possible.
  • (gui) charts legend update

MooseFS 4.57.1 (2024-12-20)

  • (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

MooseFS 4.57.0 (2024-12-09)

  • (all) added storage class priority, description and export group
    New feature: from now on it's possible to define a priority for Storage Classes in MooseFS and when a chunk belongs (through snapshots) to more than one Storage Class, it will always choose the class with highest priority.
  • (master) added storage class group allowance to exports.cfg (deprecates mingoal/maxgoal)
    New feature: following the addition of the new priority feature in Storage Classes, we changed the default Storage Classes that are created in a new system. Therefore the mingoal and maxgoal options in exports are no longer relevant and were substituted by a new feature. It's now possible to add each Storage Class to one of 16 groups (numbered 0 to 15, 0 is default if not defined) and to limit the use of storage classes in a mountpoint to certain groups only.
  • (master) changed predefined storage classes in new MFS instances
    New feature: following the addition of the new priority feature in Storage Classes, we changed the default Storage Classes that are created in a new system: a new system will have 4 (CE version) or 6 (PRO version) default storage classes with most commonly used settings. These new classes are fully modifiable and can be deleted (unlike previous default Storage Classes).
  • (all) removed support for python 2.7
  • (master) always resolve master hostname on INFO signal (pro only)
  • (master) added to supervisor in 'simple mode' broadcasting leader ip to all followers (pro only)
  • (master) added info for changelog module
  • (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 storage module

MooseFS 4.56.6 (2024-09-23) – released PRO and CE on September 25th, 2024

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

MooseFS 4.56.5 (2024-09-18)

  • (gui) changed links to knobs

MooseFS 4.56.4 (2024-09-11)

  • (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.)

MooseFS 4.56.3 (2024-08-14) – released PRO on August 16th, 2024

  • (gui) face lift
    New 'look' of the gui interface.

MooseFS 4.56.2 (2024-08-13)

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

MooseFS 4.56.1 (2024-08-06)

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

MooseFS 4.56.0 (2024-07-10)

  • (all) added instance configuration consistency tests (resolver + masters configs - PRO only)
    New feature: from now on MooseFS will test consistency of configuration across modules, all modules test whether they 'see' the same IP number (CE version) or list of IP numbers (PRO version) as the master server(s). In PRO version the consistency of all master modules' config will also be tested. Any discrepancies are logged by the master server (master leader in PRO version).

MooseFS 4.55.3 (2024-06-24)

  • (master+cs+metalogger) added debug infos to masterconn modules
  • (mount) added resolver infos to .params

MooseFS 4.55.2 (2024-06-20)

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

MooseFS 4.55.1 (2024-06-19)

  • (master) fixed removing inode record in posix locks in master-follower when last lock is removed
  • (master) fixed removing waiting locks on client disconnection (both modules: posix locks and flocks)
  • (cli) fixed units in some chart data tables

MooseFS 4.55.0 (2024-06-07)

  • (master) added DEPUTY state (PRO only)
    New feature in MooseFS Pro – the DEPUTY state for Master Server: we added a possibility for a master server that is in ELECT state already for a configured amount of time and is not progressing to LEADER state (no more than half of all chunk servers are connected to it) to go into DEPUTY state instead. A master in DEPUTY state can serve data in read only mode. This is useful in those configurations where the MooseFS instance consists of more than one physical location (two or more server rooms, two or more remote locations like different cities etc.) and the user wants to be able to at least access the data in each location if the connection between them is down. This requires a proper configuration of storage classes (i.e. so that there is at least one copy of each chunk in each location, that can potentially 'disconnect' from other locations'). This will not generate a split-brain scenario, because still only one of the masters can become a LEADER and change the system's metadata.

MooseFS 4.54.2 (2024-05-06)

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

MooseFS 4.54.1 (2024-04-26)

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

MooseFS 4.54.0 (2024-04-04)

  • (tools) fixed ignoring partially applied patches (case of entry changed from directory to file etc.)

MooseFS 4.53.7 (2024-04-02)

  • (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

MooseFS 4.53.6 (2024-03-11)

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

MooseFS 4.53.5 (2024-03-08)

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

MooseFS 4.53.4 (2024-02-23)

  • (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

MooseFS 4.53.3 (2024-02-19)

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

MooseFS 4.53.2 (2024-02-13)

  • (tools) added reporting progress on signal in mfspatch tool

MooseFS 4.53.1 (2024-02-09)

  • (tools) added support for hardlinks in mfspatch tool
  • (master) fixed parsing (min/max)trashretention in exports.cfg and added new time parser

MooseFS 4.53.0 (2024-01-10)

  • (master+tools+gui+cli) added labels_mode overrides for all label expressions
    New option for storage classes: label modes can now be overridden for each state in a storage class, e.g. a storage class can have a STRICT mode in KEEP state and LOOSE mode in ARCHIVE state.
  • (master) added csipmap.cfg with non regular IP mappings for chunkservers
    New configuration option: the REMAP option from mfsmaster.cfg allowed for remapping of modules' IP numbers, but only when suffixes (e.g. last octet) of IPs matched and only prefixes needed to be substituted. Now this functionality is extended by adding a separate config file that allows for full custom mapping of IP numbers.
  • (master) added support for strict/std modes in all EC cases

MooseFS 4.52.1 (2023-11-30)

  • (master) added support for STRICT and STANDARD label modes in EC
    New option for storage classes: the STANDARD, STRICT and LOOSE label modes, so far only available for chunks stored in copy format, were added also for chunks stored in EC format.
  • (master) added special case of modification EC chunk in STRICT mode with no valid chunkservers for copies

MooseFS 4.52.0 (2023-11-15)

  • (all) removed supervisor package (mfssupervisor added to master package)
  • (supervisor) added mfssupervisor with limited functionality to community edition
    New tool for CE version: the mfssupervisor tool was available only in the PRO version, but now is also available in the CE version, to make the 'metadata save on demand' functionality available to CE users.
  • (gui) use all charts in master chart comparison table
  • (master) fixed times in root node in new mfs instances

MooseFS 4.51.1 (2023-11-02)

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

MooseFS 4.51.0 (2023-10-08)

  • (all) added dynamic default grace period in quotas
    New option for quotas: it's now possible to define a quota with a grace period that is substituted by the default period (from mfsmaster.cfg) at the time the quota is exceeded, instead of setting a fixed grace period at the time when the quota is defined.
  • (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

MooseFS 4.50.0 (2023-08-14)

  • (all) removed libmfspro library and prepared PRO/CE versions the way it was in MooseFS 3.x

MooseFS 4.49.0 (2023-07-26) – released PRO on August 9th, 2023

  • (master) added trashflag fixing

MooseFS 4.48.1 (2023-07-21)

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

MooseFS 4.48.0 (2023-05-29)

  • (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

MooseFS 4.47.1 (2023-04-25)

  • (cs) added condition for minimal chunks to local rebalance (avoid moving chunks between servers when there are very small number of chunks)

MooseFS 4.47.0 (2023-04-19)

  • (all) added 'per chunk mode' to storage classes - arch bit set using chunk modification time
    New option for storage classes: it's now possible to define archive delay (time that has to elapse since last modification for state change to ARCHIVE) for individual chunks of a file, according to their mtime (and not the mtime of the file they belong to). It's the recommended option for storing large files with variable local usage, e.g. images of virtual machines.
  • (tools) added displaying chunk mtime to 'mfsfileinfo'
  • (master) do not take into account invalid chunks and chunks with wrong versions in 'mfscheckfile'
  • (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

MooseFS 4.46.1 (2023-04-03)

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

MooseFS 4.46.0 (2023-03-21)

  • (master) added sclasses and fcounts to chunk records (file<->chunk connecting no longer needed after metadata loading)
  • (master) changed fcounts data structure (8 bytes saved per chunk), also fixed memory leak in previous data structures
  • (master) fixed timeout during metadata transfer caused by waiting for socket closing (intr. in 4.45.3)

MooseFS 4.45.3 (2023-03-07)

  • (cli) fixed defaults for classid in matrix
  • (master) added waiting for socket closing after metadata sending

MooseFS 4.45.2 (2023-02-17)

  • (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 (intr. in 4.45.0)
  • (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 of the same chunk
  • (master) changed 'reformat' priority name to 'ioready'
  • (master) added using bucket allocator for lock replication structure

MooseFS 4.45.1 (2023-02-02)

  • (mfsio) added support for password in MD5 format

MooseFS 4.45.0 (2023-01-24)

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

MooseFS 4.44.4 (2023-01-19) – released PRO on February 3rd, 2023

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

MooseFS 4.44.3 (2023-01-17)

  • (tools) added ignoring NOP packets received from chunkserver

MooseFS 4.44.2 (2022-12-21)

  • (mfsio) added minimal master version accepted for connection - as an option

MooseFS 4.44.1 (2022-12-16)

  • (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 not to confuse network errors with disk errors

MooseFS 4.44.0 (2022-12-06)

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

MooseFS 4.43.2 (2022-11-28)

  • (master) changed format of chunk job info

MooseFS 4.43.1 (2022-11-15)

  • (master) added more detailed chunk job info

MooseFS 4.43.0 (2022-11-08)

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

MooseFS 4.42.0 (2022-09-22) – released PRO on November 21st, 2022

  • (master+cs) added support for getting content of file pointed by config option
  • (master) added support for syslog packets (gathering all syslog messages by master)

MooseFS 4.41.1 (2022-09-13)

  • (all) verified and unified all messages log levels
  • (all) added options to filter messages (min level) and to elevate log levels sent to syslog
    New config options that allows the user to select, which messages (which log level) should actually be logged to syslog, plus it's possible to elevate low level messages to higher level (so they actually get logged).

MooseFS 4.41.0 (2022-08-26)

  • (all) new mfslog module - prepared for keeping all logs centralised
  • (master) changed default ATIME_MODE to 2
  • (master) fixed atime/mtime/ctime preservation during snapshot (in HA environment upgrade may cause one time desync)

MooseFS 4.40.4 (2022-08-08)

  • (mfsio) fixed lookup cache issues

MooseFS 4.40.3 (2022-08-01)

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

MooseFS 4.40.2 (2022-07-12)

  • (master) added process termination when changelog can't be stored locally

MooseFS 4.40.1 (2022-07-08)

  • (master+client) added offset and size to "writeend" and "invalidate" packets to minimise invalidated data in cache
  • (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 were performed
  • (tools) added support for winattr, eattr, facl and xattrs in patch tool
  • (supervisor+master) added support for "fake" metadata save with crc check
    New option in mfssupervisor: it's now possible to perform just metadata CRC check on-demand between masters in PRO version, without saving metadata to disk.
  • (master) added protection against running background metadata saver twice
  • (master) added ignoring scheduled metadata save when forced metadata save is in progress
  • (nbd) added option to ignore locks during block device mapping
    New option in block devices that allows the user to ignore locks when creating multiple r/w devices from the same file. This option is geared toward use with programs/filesystem with their own synchronisation mechanisms, as MooseFS does not ensure synchronisation between such devices.
  • (tools) added "small changes" switch to mfspatch tool
    New option in mfspatch tool that allows to create even smaller patches, but requires more time to create a patch file: the tool will not include whole chunks that differ in the patch, but will read them, compare and include only changed fragments.

MooseFS 4.40.0 (2022-06-10)

  • (master) new packet 'set all attributes' (for mfspatch)
  • (master) fixed lookup in cases of . and .. (incorrectly set some attributes in answer)

MooseFS 4.39.3 (2022-05-31)

  • (tools) fixed status returned by mfspatch tool
  • (mount) added invalidate kernel dentry cache in case of snapshot commands
  • (master) added acl's and xattr's to full_directory packet (for future use in mfspatch)
  • (mfspatch) added setting back atime after data read

MooseFS 4.39.2 (2022-05-25)

  • (cs) fixed stalled jobs detection

MooseFS 4.39.1 (2022-05-24)

  • (cs) fixed displaying max task times in debug-info file

MooseFS 4.39.0 (2022-05-12)

  • (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

    MooseFS 4.38.4 (2022-05-09) – released PRO on May 11th, 2022

  • (master) added checking condition similar to replication in case of localsplit

  • (cs) added reporting delete and replicate commands received from master during registration

MooseFS 4.38.3 (2022-05-04)

  • (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)

MooseFS 4.38.2 (2022-04-27)

  • (cs) added truncated chunks detector

MooseFS 4.38.1 (2022-04-25)

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

MooseFS 4.38.0 (2022-04-21)

  • (tools) added new 'patch' tool for remote backups
    New tool that allows to create 'patch' files, describing differences between two snapshots on MooseFS. The tool can be used to backup data from a MooseFS instance to another MooseFS instance or to another fs (not all options available in this case) while copying the smallest number of chunks (file data) and attributes needed.

MooseFS 4.37.6 (2022-04-07)

MooseFS 4.37.4 (2022-03-24)

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

MooseFS 4.37.3 (2022-03-22)

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

MooseFS 4.37.2 (2022-03-15)

  • (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

MooseFS 4.37.1 (2022-03-08)

  • (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

MooseFS 4.37.0 (2022-01-25)

  • (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
    New option in mfsscadmin tool that allows easy copying of storage classes definitions between instances of MooseFS.
  • (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/

MooseFS 4.36.5 (2022-01-13)

  • (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)

MooseFS 4.36.4 (2021-12-20) – released PRO on January 9th, 2022

  • (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

MooseFS 4.36.3 (2021-12-16)

  • (cs) added 'shared' mode for each hdd with optional available space limit (size or percent)
    New configuration option: it's now possible not only to indicate, that a disk used for chunks is shared with some other data, but also to specify limits for space that can be used by chunks. This is useful for instances that share disk with other processes, including another MooseFS instance.
  • (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)
    change needed for the new configuration option listed above, so the disk usage is calculated in the best possible way
  • (cs) added 'percent' limit modes for hard drives

MooseFS 4.36.2 (2021-11-23)

  • (master) fixed handling writecounter on NOTDONE status
  • (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.

MooseFS 4.36.1 (2021-11-17)

  • (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

MooseFS 4.36.0 (2021-10-20)

  • (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

MooseFS 4.35.1 (2021-10-10)

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

MooseFS 4.35.0 (2021-09-28)

  • (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

MooseFS 4.34.2 (2021-09-23)

  • (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

MooseFS 4.34.1 (2021-09-22)

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

MooseFS 4.34.0 (2021-08-27)

  • (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
    New option for storage classes: it's now possible to exclude files shorter than given length from going into ARCHIVE state. This is useful when using the EC format as very short files occupy more space in EC format than in copy format.

MooseFS 4.33.2 (2021-08-20)

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

MooseFS 4.33.1 (2021-08-16)

  • (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

MooseFS 4.33.0 (2021-08-10)

  • (cs+gui) added clearing last hdd errors in chunkservers
  • (cli) added JSON output (pull request by Aleksander Wieliczko)
    New feature: all information provided by mfscli can now be requested in JSON format, for ease of use in scripts and 3rd party monitoring software.

MooseFS 4.32.1 (2021-07-16)

  • (gui) fixed using &amp; 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 master-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)

    MooseFS 4.32.0 (2021-06-29) – released PRO on July 5th, 2021

  • (metatools) new tool mfsmetasearch
    *New tool allows offline (in metadata file) searching for files according to many different search criteria, like chunk IDs, inodes, attributes etc.*

  • (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+supervisor) added option to force metadata store (PRO only feature)
    New option in mfssupervisor tool: it's now possible to save metadata to a file on demand, only on master leader, only on master follower(s) or on all masters.
  • (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 licence quotas (PRO only feature)

    MosseFS 4.31.9 (2021-06-04) – released PRO on June 4th, 2021

  • (master) fixed changelog rotation (intr. in 4.31.1)

MooseFS 4.31.8 (2021-05-10)

  • (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

MooseFS 4.31.7 (2021-04-27)

  • (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 WVER chunks)

MooseFS 4.31.6 (2021-04-23)

  • (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

MooseFS 4.31.5 (2021-04-20)

  • (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)

MooseFS 4.31.4 (2021-04-07)

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

MooseFS 4.31.3 (2021-04-02)

  • (master) added replication/deletion info (INFO/USR1 signal)
  • (master) reducing CPU usage in chunk loops (fail limit per class)
    An additional change to replication algorithm introduced in version 4.31.1 that greatly reduces CPU usage of the master server.

MooseFS 4.31.2 (2021-03-30)

  • (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

MooseFS 4.31.1 (2021-03-26)

  • (master) added METADATA_SAVE_OFFSET option
    New configuration option that allows to set offset to the time metadata is saved by the master. It no longer has to take time on the hour (:00) but can be set by the user to a better time (e.g. no other system processes making scheduled tasks at the same time).
  • (master) added limits per storage class for chunk jobs
    New replication algorithm that greatly increases effectiveness of replications.

MooseFS 4.31.0 (2021-03-24)

  • (master+cs+gui) new client-side charts with new options
  • (cs) added assertions for pthread functions in mainserv module

MooseFS 4.30.2 (2021-03-08) – released PRO on March 22nd, 2021

  • (libpro) fixed changing error number to string

MooseFS 4.30.1 (2021-03-05)

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

MooseFS 4.30.0 (2021-02-16)

  • (master+cs) added way to first register chunks that are needed for I/O operations
    New feature: a new broadcast mechanism that prevents a restart of a module (chunks server, master) or switching a leader to another master (PRO version) from blocking i/o operations until all chunks are again registered. Now whenever a chunk is missing for i/o and any registrations of chunks are still in progress, the master will send a broadcast message that will make the chunk servers prioritise the registration of the chunks needed for i/o.

MooseFS 4.29.2 (2021-02-15)

  • (cs) added deleting duplicates whenever original chunk is modified or deleted
  • (cs) added reconnecting ability to replicator

MooseFS 4.29.1 (2021-02-10) – released PRO on February 17th, 2021

  • (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)

MooseFS 4.29.0 (2021-01-20)

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

MooseFS 4.28.2 (2021-01-15)

  • (master) fixed reference time used to synchronise lockto field between masters (intr. in 4.25.0)
  • (master) fixed handling disconnection of chunkserver with pending localsplit operations (metadata desync - CHNK part)

MooseFS 4.28.1 (2021-01-11)

  • (all) fixed timeout handling in socket library

MooseFS 4.28.0 (2020-12-28)

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

MooseFS 4.27.1 (2020-12-23)

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

MooseFS 4.27.0 (2020-12-04)

  • (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 read / write / fsync operations
  • (master+gui+cli) new licence data

MooseFS 4.26.10 (2020-12-02) – released PRO on December 18th, 2020

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

MooseFS 4.26.9 (2020-12-01)

  • (master+gui) added support for labels mode (STRICT, STD, LOOSE) in all copy-like modes (in KEEP, ARCH and TRASH)
  • (master) fixed rebalance algorithm (import fix from 3.x)
  • (master) added support for CHUNKS_UNIQUE_MODE (3.x compatibility) - force IP or RACK uniqueness in all classes

MooseFS 4.26.8 (2020-11-16)

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

MooseFS 4.26.7 (2020-11-13) – released PRO on November 13th, 2020

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

MooseFS 4.26.6 (2020-11-10)

  • (master) added protection against listing too big directory

MooseFS 4.26.5 (2020-11-06)

  • (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 (mfsscadmin -o)
  • (master) fixed some scenarios in do_jobs and calculate_endanger_priority functions

MooseFS 4.26.4 (2020-11-05)

  • (master) fixed EC4 chunk matrix data sent to gui

MooseFS 4.26.3 (2020-11-04)

  • (master+gui) added displaying unmapped IP in chunkserver list, also fixed manipulating remapped chunkservers
  • (master) fixed serious HA issue introduced in 4.24.0

MooseFS 4.26.2 (2020-11-02)

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

MooseFS 4.26.1 (2020-10-29)

  • (nbd) added support for config with initial mappings
  • (nbd) added support for user defined block sizes (although it seems that kernel supports only 512, 1024, 2048 and 4096)

MooseFS 4.26.0 (2020-10-28)

  • (master) implementation of EC 4+N
    New format for chunks in addition to keeping a chunk in 8 data parts and 1 to 9 parity parts, it's now possible to keep a chunk in 4 data parts and 1 to 9 parity parts. The usage of disk space is greater for parity parts (in EC8 format one part is 12.5% of the whole chunk, in EC4 25%), but less chunk servers are required for the format to be available to use.

MooseFS 4.25.0 (2020-10-19)

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

MooseFS 4.24.2 (2020-10-16)

  • (master) fixed handling 'marked for removal' EC parts

MooseFS 4.24.1 (2020-10-09)

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

MooseFS 4.24.0 (2020-09-23)

  • (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 (only in changelog it is left in decimal format)
  • (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

MooseFS 4.23.5 (2020-07-27) – released PRO on July 29th, 2020

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

MooseFS 4.23.4 (2020-07-22)

  • (tools,man) fixed facl tools and manpages

MooseFS 4.23.3 (2020-07-14)

  • (all) fixed memory leak in new logger (intr. in 4.23.0)

MooseFS 4.23.2 (2020-07-01)

  • (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

MooseFS 4.23.1 (2020-06-22)

  • (tools) fixed mfsacl tools
  • (tools) added trash management tools

MooseFS 4.23.0 (2020-06-17) – released PRO on June 26th, 2020

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

MooseFS 4.22.2 (2020-05-26)

  • (cs) fixed deadlock condition on mutexes folderlock and hashlock (existed since 4.20.3)

MooseFS 4.22.1 (2020-05-25)

  • (mount) fixed truncating files open with O_APPEND flag (bug intr. in 4.22.0)
  • (cs) added disk rebalance when all designated source disks are already empty
  • (mount) added additional info to .params file (versions of MooseFS, libfuse etc.)
  • (master+cs) added check against EACCES after lockf (according to Linux man - such error can be returned here)
  • (master) fixed access checks in snapshot
  • (tools) fixes in trashtools

MooseFS 4.22.0 (2020-05-05)

  • (master+client) added support for new eattrs: immutable, appendonly,undeletable
    New feature: new extra attributes (eattrs) for files: immutable, appendonly, undeletable.
  • (master) moved multilan management to separate source file
  • (master) fixed using multilan in leaderip mapping
  • (master) added using multilan mapping in chunkserver list (available in cli/gui)

MooseFS 4.21.8 (2020-05-04) – released PRO on June 1st, 2020

  • (nbd) added read-only mode and locking
    New features in block device: it's now possible to indicate whether a block device should be rw or ro (previously all were rw) and files used as block devices have locks - one file may be attached to many ro devices, but only one rw device.
  • (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 (reload usually shouldn't cause reconnection)
  • (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 (prefer closer servers)
  • (master) added more error messages to bgsaver
  • (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 (less prone to small clock differences)
  • (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 (privileges, bug in nonexistent path elements)
  • (client) silenced kern.proc.filedesc syslog messages on FreeBSD

MooseFS 4.21.7 (2020-03-27)

  • (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
  • (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

MooseFS 4.21.6 (2020-03-24) – released PRO on March 24th, 2020

  • (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

MooseFS 4.21.5 (2020-03-23)

  • (cs) when chunk can't be located always send to master info about lost chunk
  • (supervisor,master,cs) fixed buffer overrun in mastersupervisor code (intr. in 4.17.0)
  • (master) changed algorithm of reusing csid in chunk module (adding released csid to the end of free list)
  • (master) fixed segfault during appending chunks of file with positive length and no chunks

MooseFS 4.21.4 (2020-03-20)

  • (master) fixed memory leaks in xattr and posixacl modules
  • (master) fixed checking disable flags in mfsrmsnapshot (UNLINK+RMDIR instead of SNAPSHOT)

MooseFS 4.21.3 (2020-03-19)

  • (client) fixed deadlock in dentry invalidator

MooseFS 4.21.2 (2020-03-12)

  • (client) added dentry invalidator (needed in Linux with kernel < 4.19 - EBUSY bug)

MooseFS 4.21.1 (2020-03-06)

  • (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

MooseFS 4.21.0 (2020-03-02)

  • (master,gui+cli) added support for disabling individual filesystem commands in exports
    New feature: it's not possible to disable certain operations (read, create, write, append, snapshots, various attribute changes etc.) in mfsexports.cfg, individually for each export.
  • (client) added handling read / write / readdir disables on client side (better error messages)
  • (client) added session parameters to .params file

MooseFS 4.20.6 (2020-02-26) – released PRO on March 2nd, 2020

  • (master) introduced replication limits for 'reformat priority'
    New configuration option separate replication limit for replications needed to bring a chunk to a format needed for I/O operation (aka "5th replication limit").
  • (cs) silence compiler warning
  • (client) fixed handling LOCKED and EAGAIN status in readdata

MooseFS 4.20.5 (2020-02-17) – released PRO on February 17th, 2020

  • (cs) added protections against segfaults

MooseFS 4.20.4 (2020-02-13) – released PRO on February 13th, 2020

  • (cs) changed allocation of duplicated chunks from malloc to mmap, decreased memory usage by duplicates
  • (client) reading in O_WRONLY no longer causes EACCES
  • (metadump) printing dots for non-printable characters made optional

MooseFS 4.20.3 (2020-01-27)

  • (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 behaviour when master returns unavailable chunks or no space status
  • (gui) fixed logo and icon (file type for favicon.ico, change to current logotype)
  • (master) turning off sending NOP's to unregistered clients and supervisors (matoml module)
  • (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 (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
  • (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

MooseFS 4.20.2 (2019-12-17) – released PRO on December 19th, 2019

  • (master) fixed TRASH_RECOVER not moving file from trash to normal space
  • (master+cs+supervisor) fixed using NOP packets (HA not working with long connections to masters)

MooseFS 4.20.1 (2019-12-16) – released PRO on December 18th, 2019

  • (master) fixed LEADER-FOLLOWER desync case related to archive flag not set for missing chunks in the LEADER

MooseFS 4.20.0 (2019-12-10)

  • (master) added glob patterns to trash list and sustained list

MooseFS 4.19.0 (2019-12-03) – released PRO on December 3rd, 2019

  • (master) fixed interpreting MOVE changelog (NEXTSEPARATOR macro)

MooseFS 4.18.7 (2019-11-26) – released PRO on November 29th, 2019

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

MooseFS 4.18.6 (2019-11-21)

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

MooseFS 4.18.5 (2019-11-20) – released PRO on November 20th, 2019

  • (master) fixed missing handling FORCE_TIMEOUT packet

MooseFS 4.18.4 (2019-11-19)

  • (master) fixed rmdir packet size

MooseFS 4.18.3 (2019-11-18) – released PRO on November 18th, 2019

  • (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

MooseFS 4.18.2 (2019-11-05)

  • (freebsd) detecting new fuse version in the kernel and adjusting behaviour

MooseFS 4.18.1 (2019-10-30)

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

MooseFS 4.18.0 (2019-10-22)

  • (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 new inode->fleng map
  • (configure) added option disable_all, added summary at the end

MooseFS 4.17.5 (2019-10-02)

  • (mount) added support for libfuse3

MooseFS 4.17.4 (2019-09-23)

  • (master) added support for multiple LANs
    New configuration option that allows clients in different LANs to stay within the IP class of their LAN while communicating with master. This option can cooperate with the remap option known from MooseFS 3.x.
  • (master) fixed length of empty directories (1 instead of 0)

MooseFS 4.17.3 (2019-09-18)

  • (cs) added info logs to bgjobs module (tasks summary)

MooseFS 4.17.2 (2019-09-17)

  • (cs) experimental version with unlimited queue

MooseFS 4.17.1 (2019-09-10)

  • (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

MooseFS 4.17.0 (2019-08-28)

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

MooseFS 4.16.3 (2019-08-27)

  • (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)

MooseFS 4.16.2 (2019-08-20)

  • (master+gui/cli) added syncstate INIT

MooseFS 4.16.1 (2019-08-19)

  • (master) added restore run mode (works similar to mfsmaster -a but without starting daemon)

MooseFS 4.16.0 (2019-08-14)

  • (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
  • (master) changed condition for removing chunk from data structures (all chunkservers have to be connected)

MooseFS 4.15.0 (2019-07-08)

  • (master) added userfiles and matchedfiles to TRASH_LIST and SUSTAINED_LIST returned packets
  • (master) fixed LEADER/FOLLOWER desync on SETCHUNK command
  • (cli+gui) fixed shebang in python scripts (preference for python3 in configure)
  • (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
  • (metadirinfo) fixed segfault when output filename is not specified
  • (chunktool) added file name fixing option
  • (all) changed chunk replication and deletion charts into two color charts (successful/unsuccessful)
  • (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

MooseFS 4.14.1 (2019-05-23)

  • (cs) added reporting socket error when poll returns POLLERR
  • (cli) fixed 'free space' in plain mode

MooseFS 4.14.0 (2019-05-14)

  • (cs) new split operation
    New feature: local split operation, chunk server will now create all data and checksum parts needed for EC format locally, at once, saving on read operations and the parts will be replicated out to other chunk servers on master's command. Testing shows this way of conversion is approximately twice as fast as the old way of directly creating new parts on target chunk servers.
  • (master) using new split operation
  • (master) added lookup for paths (for future use)

MooseFS 4.13.4 (2019-05-06) – released PRO on May 30th, 2019

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

MooseFS 4.13.3 (2019-04-12)

  • (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
  • (netdump) fixed using deprecated function pcap_lookupdev

MooseFS 4.13.2 (2019-04-03)

  • (master) fixed labels in EC mode

MooseFS 4.13.1 (2019-03-18)

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

MooseFS 4.13.0 (2019-03-13)

  • (cs) added new version in chunk header (1.1)
    New chunk header format with new handling of checksums - now the checksums for non-existent blocks will always be checksums of 'zero' blocks, instead of random values, so the system can make sure that blocks don't go missing from the chunk file (random file truncate due to hardware issues).
  • (chunktool+cs) added testing crc for non existing blocks in chunks 1.1
    to go with the feature above - testing routines for 'zero' blocks in chunks
  • (mount) fixed changing processname

MooseFS 4.12.5 (2019-03-05)

  • (cs) fixed removing chunks from data structures when marking disk as 'damaged'
  • (cs) fixed handling 'damaged' disks with chunks on reload
  • (cs) unlink duplicates week after detection (instead of removing them instantly)
  • (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

MooseFS 4.12.4 (2019-02-19)

  • (master) fixed condition detecting if there are all available chunks
  • (mount) added .params pseudofile with mfsmount working parameters (such as cache sizes, timeouts etc.)
    New feature: it is now possible to check working parameters of a mount process by reading from a virtual file (not visible via ls command) .params in root directory of the mounted instance.
  • (supervisor) added reloading config parameters on SIGHUP (aka 'reload')

MooseFS 4.12.3 (2019-02-08)

  • (cs) fixed descriptor handling in replicator (closing not owned descriptors that may cause EBADF, ESPIPE etc.)

MooseFS 4.12.2 (2019-01-30)

  • (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)

MooseFS 4.12.1 (2019-01-17)

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

MooseFS 4.12.0 (2019-01-08)

  • (master,cs,client,metalogger) added MATOxx_FORCE_TIMEOUT - option for forcing connection timeout with certain modules
    New feature: it's now possible to define all master <–> other module connection timeouts in master's configuration and force other modules to accept them instead of using their own configuration.
  • (client) fixed handling network timeouts (timeout counters refreshed by any network activity - not whole data packets)
  • (master) increased mmap allocation block size (Linux kernel issue - too many mmaps leads to memory not being properly released by kernel)
  • (client) fixed handling internal packets with size zero (client disconnection during chunkserver registration)
  • (client) fixed symlink cache handling (potential race condition)

MooseFS 4.11.4 (2018-12-18)

  • (master) fixed trash "race" between setting trash flag and trash removal
  • (master) changed adding trash and sustained elements during load from head to tail (keep same order in all masters)
  • (debian) removed chown -R from startup scripts - chmod/chown now is used only for newly created objects

MooseFS 4.11.3 (2018-12-14)

  • (master) fixed gid array parsing during metadata restore

MooseFS 4.11.2 (2018-12-13)

  • (master) fixed log rotation on followers

MooseFS 4.11.1 (2018-12-11)

  • (master) fixed quota handling in follower

MooseFS 4.11.0 (2018-12-09)

  • (linux) import postinst scripts from 3.x
  • (all) prepared everything for PRO version

MooseFS 4.10.2 (2018-12-05)

  • (tools) import new tools sources

MooseFS 4.10.1 (2018-11-26)

  • (all) sync changes with 3.0.103
  • (cs) proper disconnection from master during reload (maintenance mode during reload)
  • (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)
  • (mount) added option to load master password from given file

MooseFS 4.10.0 (2018-09-25)

  • (master) close listen sockets after fork (metadata save in background)
  • (daemons) fixed waitpid condition
  • (daemons) added optional processname_set function (currently used only in master)
  • (master) added subprocess for saving downloaded metadata in background
  • (bdev) changed block devices management

MooseFS 4.9.0 (2018-07-30)

  • (master+client) added space reservation for superuser
  • (cs) added optional high speed internal rebalancing
  • (bdev) new module for Linux - dedicated block device
    New feature - Block Storage interface (Block Device): it's now possible to create a block device from a file stored on MooseFS. Comes with its own set of tools.
  • (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

MooseFS 4.8.0 (2018-07-12)

  • (master+gui+cli) changed meaning of redundancy level in EC definitions (from goal equivalent to number of extra checksums)
  • (mount) increased master-proxy timeouts

MooseFS 4.7.1 (2018-06-22)

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

MooseFS 4.7.0 (2018-06-15)

  • (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

MooseFS 4.6.1 (2018-05-25)

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

MooseFS 4.6.0 (2018-05-17)

  • (master) added support for new trash+sustained commands in mfstools
  • (master) added new chunk priority (unfinished EC)
  • (master) make undergoal replications respect topology (ported patch made by @tclh123)
  • (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 (allows mounting with suid/dev options using system mount on Linux)

MooseFS 4.5.5 (2018-04-19)

  • (master) added option for not moving empty files to trash by default
    The user can now decide what to do when files moved to system trash after deleting them from the regular file system contain files with zero length: should the 'zero' files be kept in trash too or immediately deleted? This is now configurable.

MooseFS 4.5.4 (2018-04-10)

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

MooseFS 4.5.3 (2018-04-04)

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

MooseFS 4.5.2 (2018-03-29)

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

MooseFS 4.5.1 (2018-03-27)

  • (mount) fixed double free of plock_data structure
  • (tools) fixed smode conditions in tools_snapshot.c
  • (tools) fixed loop condition in mfsadmin (storage class copy)
  • (all) silence static code check warnings (mainly checks pointers against being NULL)

MooseFS 4.5.0 (2018-03-22)

  • (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

MooseFS 4.4.2 (2018-03-21)

  • (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

MooseFS 4.4.1 (2018-03-12)

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

MooseFS 4.4.0 (2018-03-09)

  • (master) fixed inconsistency in calculating realsize when storage class definition has changed
  • (master) fixed special case of recovering EC data (when all servers are occupied - use servers with checksums to recover missing 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

MooseFS 4.3.0 (2018-02-23)

  • (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 (leaving active pipes which caused leaving mfs.gui subprocesses)
  • (master) rewritten do_jobs routine (handling different chunk state cases)
  • (master) fixed hanging write when chunk is in EC format

MooseFS 4.2.5 (2018-01-17)

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

MooseFS 4.2.4 (2018-01-11)

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

MooseFS 4.2.3 (2018-01-08)

  • (master) fixed reversing from ARCH to KEEP mode

MooseFS 4.2.2 (2018-01-05)

  • (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)

MooseFS 4.2.1 (2017-12-21)

  • (master+tools) added new tool to manage patterns
    New feature that allows to assign files to storage classes based on their names matching certain patterns defined by user. Comes with its own set of tools for managing said patterns.

MooseFS 4.2.0 (2017-12-15)

  • (master+tools) added support for using atime,mtime and ctime in switching from keep to arch mode
    New option for ARCHIVE state, to move chunks to this state after a configurable time has passed after last atime/mtime/ctime change.
  • (master+tools) added reversible flag for switching between keep and archive
    New option for ARCHIVE state, instructs the master to clear archive flag for all chunks of a file that no longer meets the condition of moving to ARCHIVE state, thus reversing all chunks of this file to KEEP state.
  • (master+tools) added fast flag regular switching from keep to archive regardless of atime, mtime and ctime
    New option for ARCHIVE state, to move chunks to this state as soon as possible, as opposed to moving them after some configured delay.

MooseFS 4.1.4 (2017-12-04)

  • (master) improved priority chunk queues data structures

MooseFS 4.1.3 (2017-11-28)

  • (master) changed priority chunk queues data structures

MooseFS 4.1.2 (2017-11-17)

  • (master) fixed changing chunks from EC format to classic format during write
  • (master) disconnect all clients after changing exports and reload
  • (mount) fixed scenario that may lead to fail assertions (break read before initialisation of startpos, endpos and currpos)

MooseFS 4.1.1 (2017-10-12)

  • (mount) changed default cache mode on OS X from direct to auto due to problems with mmap
  • (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 locks
  • (master) more chunk debugs and better handling chunk status change
  • (cs) fixed handling mark for removal (after reload sometimes cs could send chunks marked for removal as normal chunks)
  • (master) added file with metadata checksums (for future use)
  • (master) fixed way of sending gids to changelog/follower
  • (master) added inode checksum for some changes sent to changelog/follower
  • (metadump) added 0x prefix for fields dumped as hex numbers
  • (master) fixed ACL mask synchronization issues (restoring from changelog/leader->follower)

MooseFS 4.1.0 (2017-09-01)

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

MooseFS 4.0.8 (2017-08-16)

  • (tools) fixed trash/sustained size desynchronisation after file length changed by chunk creation
  • (mount) fixed handling invalid arguments in posix lock command

MooseFS 4.0.7 (2017-07-17)

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

MooseFS 4.0.6 (2017-07-11)

  • (master) removed starting protection time from client communication module

MooseFS 4.0.5 (2017-07-05)

  • (mount) fixed condition in assertion (read module)

MooseFS 4.0.4 (2017-07-03)

  • (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

MooseFS 4.0.3 (2017-06-27)

  • (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 and use it instead of sys/poll.h if possible
  • (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)

MooseFS 4.0.2 (2017-06-14)

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

MooseFS 4.0.1 (2017-05-25)

  • (all) removed PRO/CE bit from version number

MooseFS 4.0.0 (2017-02-23)

  • (all) added erasure codes
    Erasure Coding - a completely new way of storing chunks in MooseFS: instead of keeping chunks in 3 copies, that will occupy 300% of the space of the actual data, just to ensure that no files are lost if 2 chunkservers break down, they can now be kept in a format, that occupies only 125% of space and still gives the same guarantee of being able to survive two simultaneous hardware crashes. The new format can be used if a user defines a storage class to use Erasure Codes (EC) for data in ARCHIVE (and/or TRASH) state.
  • (tools) added new commands mfsXXXtrashretention (deperecate mfsXXXtrashtime commands)
    New tools to handle retention of deleted files in MooseFS's trash.
  • (tools) added new commands mfsXXXfacl for managing ACLs on non-Linux OS'es
    New tools to handle acls in MooseFS when there are no built-in, system tools available.
  • (master) added new storage mode (trash) in storage classes
    New state in storage classes – TRASH: with its own definition of how deleted file's data should be kept on MooseFS, this state can also benefit from the new EC format (see above).