This file lists noteworthy changes in MooseFS.

* MooseFS 4.58.1-1 (2025-09-29)

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

* MooseFS 4.58.0-1 (2025-09-15)

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

* MooseFS 4.57.8-1 (2025-08-05)

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

* MooseFS 4.57.7-1 (2025-06-16)

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

* MooseFS 4.57.6-1 (2025-03-25)

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

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

* MooseFS 4.57.4-1 (2025-02-17)

  - (chunktool) added recursive mode and option to throw away damaged chunks

* MooseFS 4.57.3-1 (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-1 (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
  - (gui) charts legend update

* MooseFS 4.57.1-1 (2025-01-08)

  - (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-1 (2024-12-09)

  - (all) added storage class priority, description and export group
  - (master) added storage class group allowance to exports.cfg (deprecates mingoal/maxgoal)
  - (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

* MooseFS 4.56.6-1 (2024-09-23)

  - (cgi+cli) fixed bugs in CLI mode introduced by new CGI features

* MooseFS 4.56.5-1 (2024-09-18)

  - (cgi) changed links to knobs

* MooseFS 4.56.4-1 (2024-09-11)

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

* MooseFS 4.56.3-1 (2024-08-14)

  - (cgi) face lift

* MooseFS 4.56.2-1 (2024-08-13)

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

* MooseFS 4.56.1-1 (2024-08-06)

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

* MooseFS 4.56.0-1 (2024-07-10)

  - (all) added instance configuration consistency tests (resolver + masters configs - PRO only)

* MooseFS 4.55.3-1 (2024-06-24)

  - (master+cs+metalogger) added debug infos to masterconn.c files
  - (mount) added resolver infos to .params

* MooseFS 4.55.2-1 (2024-06-20)

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

* MooseFS 4.55.1-1 (2024-06-19)

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

* MooseFS 4.55.0-1 (2024-06-07)

  - (master) added DEPUTY state (PRO only)

* MooseFS 4.54.2-1 (2024-05-06)

  - (mount) fixed fsname generation (subfolder with leading '/' issue)

* MooseFS 4.54.1-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-1 (2024-04-04)

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

* MooseFS 4.53.7-1 (2024-04-02)

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

* MooseFS 4.53.6-1 (2024-03-11)

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

* MooseFS 4.53.5-1 (2024-03-08)

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

* MooseFS 4.53.4-1 (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-1 (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-1 (2024-02-13)

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

* MooseFS 4.53.1-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-1 (2024-01-10)

  - (master+tools+cgi+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

* MooseFS 4.52.1-1 (2023-11-30)

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

* MooseFS 4.52.0-1 (2023-11-15)

  - (all) removed 'supervisor' package (mfssupervisor added to master package)
  - (supervisor) added mfssupervisor with limited functionality to community edition
  - (cgi) use all charts in master chart comparison table
  - (master) fixed times in root node in new mfs instances

* MooseFS 4.51.1-1 (2023-11-02)

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

* MooseFS 4.51.0-1 (2023-10-08)

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

* MooseFS 4.50.0-1 (2023-08-14)

  - (all) removed library and prepared PRO/CE versions the way it was in MFS 3.x

* MooseFS 4.49.0-1 (2023-07-26)

  - (master) added trashflag fixing

* MooseFS 4.48.1-1 (2023-07-21)

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

* MooseFS 4.48.0-1 (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-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-1 (2023-04-19)

  - (all) added 'per chunk mode' to storage classes - arch bit set using chunk modification time
  - (tools) added displaying chunk mtime to 'fileinfo'
  - (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-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-1 (2023-03-21)

  - (master) added storage classes and file counts to chunk records (file<->chunk connecting no longer needed after metadata loading)
  - (master) changed file counts 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-1 (2023-03-07)

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

* MooseFS 4.45.2-1 (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-1 (2023-02-02)

  - (mfsio) added support for password in MD5 format

* MooseFS 4.45.0-1 (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-1 (2023-01-19)

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

* MooseFS 4.44.3-1 (2023-01-17)

  - (tools) added ignoring NOP packets received from chunkserver

* MooseFS 4.44.2-1 (2022-12-21)

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

* MooseFS 4.44.1-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-1 (2022-12-06)

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

* MooseFS 4.43.2-1 (2022-11-28)

  - (master) changed format of chunk job info

* MooseFS 4.43.1-1 (2022-11-15)

  - (master) added more detailed chunk job info

* MooseFS 4.43.0-1 (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-1 (2022-09-22)

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

* MooseFS 4.41.0-1 (2022-08-26)

  - (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 (in HA environment upgrade may cause one time desync)

* MooseFS 4.40.4-1 (2022-08-08)

  - (mfsio) fixed lookup cache issues

* MooseFS 4.40.3-1 (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-1 (2022-07-12)

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

* MooseFS 4.40.1-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 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 is in progress
  - (nbd) added option to ignore locks during block device mapping
  - (tools) added "small changes" switch to patch tool

* MooseFS 4.40.0-1 (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-1 (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-1 (2022-05-25)

  - (cs) fixed stalled jobs detection

* MooseFS 4.39.1-1 (2022-05-24)

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

* MooseFS 4.39.0-1 (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-1 (2022-05-09)

  - (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-1 (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-1 (2022-04-27)

  - (cs) added truncated chunks detector

* MooseFS 4.38.1-1 (2022-04-25)

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

* MooseFS 4.38.0-1 (2022-04-21)

  - (tools) added new 'patch' tool for remote backups

* MooseFS 4.37.6-1 (2022-04-07)

  - (metatools) added option to load chunk identifiers from file to mfsmetasearch

* MooseFS 4.37.5-1 (2022-03-29)

  - (cli) fixed handling table with disconnected chunkservers

* MooseFS 4.37.4-1 (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-1 (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-1 (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-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 acl's)
  - (tools) refactoring in all tools

* MooseFS 4.37.0-1 (2022-01-25)

  - (master,cs,cgi+cli) separate high speed rebalance status from classic overloaded status
  - (master,cgi+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

* MooseFS 4.36.5-1 (2022-01-13)

  - (cs) added background attributes scan (reload + storage limit)
  - (cgi) 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-1 (2021-12-20)

  - (cs) added to mfschunkdbdump support for new chunkdb format (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-1 (2021-12-16)

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

* MooseFS 4.36.2-1 (2021-11-23)

  - (master) fixed handling writecounter on failed write operations
  - (cgi) 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-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-1 (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 (issue #457)
  - (client) fixed invalidating directory cache after 'unlink','rmdir' and 'rename'
  - (cs) fixed cond variables leaking

* MooseFS 4.35.1-1 (2021-10-10)

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

* MooseFS 4.35.0-1 (2021-09-28)

  - (master+cli+cgi) 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-1 (2021-09-23)

  - (master) fixed state switching (made DUMMY the final state - PRO only)
  - (cli) added chart data type 'all' - 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-1 (2021-09-22)

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

* MooseFS 4.34.0-1 (2021-08-27)

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

* MooseFS 4.33.2-1 (2021-08-20)

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

* MooseFS 4.33.1-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-1 (2021-08-10)

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

* MooseFS 4.32.1-1 (2021-07-16)

  - (cgi) fixed using '&amp;' in javascript URLs (issue #439)
  - (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
  - (cgi) 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 cgi compatibility)
  - (cgiserv) fixed error/redirect responses (pull request for 3.x by Eronana)

* MooseFS 4.32.0-1 (2021-06-29)

  - (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+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/cgi
  - (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-1 (2021-06-04)

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

* MooseFS 4.31.8-1 (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-1 (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 - issue #432)
  - (master) fixed version sent in chunk deletion (invalid and wrong version chunks)

* MooseFS 4.31.6-1 (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-1 (2021-04-20)

  - (cgi) 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 exports.cfg and topology.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-1 (2021-04-07)

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

* MooseFS 4.31.3-1 (2021-04-02)

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

* MooseFS 4.31.2-1 (2021-03-30)

  - (master) stop taking into account chunks with one copy and goal one as endangered in master charts
  - (cgi) fixed printing values in javascript charts
  - (all) fixed dumping current config values on INFO/USR1 signal

* MooseFS 4.31.1-1 (2021-03-26)

  - (master) added METADATA_SAVE_OFFSET option
  - (master) added limits per storage class for chunk jobs

* MooseFS 4.31.0-1 (2021-03-24)

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

* MooseFS 4.30.2-1 (2021-03-08)

  - (libpro) fixed changing error number to string

* MooseFS 4.30.1-1 (2021-03-05)

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

* MooseFS 4.30.0-1 (2021-02-16)

  - (master+cs) added way to first register chunks that are needed for I/O operations

* MooseFS 4.29.2-1 (2021-02-15)

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

* MooseFS 4.29.1-1 (2021-02-10)

  - (master) added inode virtual length for append mode
  - (mount) moved rwlock from descriptor to inode (fixes append issues)
  - (cli+cgi) added "Marked for removal" filter to "Disks"
  - (cgi) changed method of charts selection in charts comparison
  - (cgi) added using htmlentities function for various strings
  - (mount) added parents of CWD's to 'sustained' inodes (workaround for FreeBSD problem - issue #362)

* MooseFS 4.29.0-1 (2021-01-20)

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

* MooseFS 4.28.2-1 (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-1 (2021-01-11)

  - (all) fixed timeout handling in sockets.c

* MooseFS 4.28.0-1 (2020-12-28)

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

* MooseFS 4.27.1-1 (2020-12-23)

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

* MooseFS 4.27.0-1 (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+cgi+cli) new licence data

* MooseFS 4.26.10-1 (2020-12-02)

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

* MooseFS 4.26.9-1 (2020-12-01)

  - (master+cgi) 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 CHUNK_UNIQ_MODE (3.x compatibility) - force IP or RACK uniqueness in all classes

* MooseFS 4.26.8-1 (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-1 (2020-11-13)

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

* MooseFS 4.26.6-1 (2020-11-10)

  - (master) added protection against listing too big directory

* MooseFS 4.26.5-1 (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 (scadmin -o)
  - (master) fixed some scenarios in 'do_jobs' and 'calculate_endanger_priority' functions

* MooseFS 4.26.4-1 (2020-11-05)

  - (master) fixed ec4 chunk matrix data sent to cgi

* MooseFS 4.26.3-1 (2020-11-04)

  - (master+cgi) 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-1 (2020-11-02)

  - (master+cgi) split EC table into EC8 and EC4 tables

* MooseFS 4.26.1-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-1 (2020-10-28)

  - (master) implementation of EC 4+n

* MooseFS 4.25.0-1 (2020-10-19)

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

* MooseFS 4.24.2-1 (2020-10-16)

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

* MooseFS 4.24.1-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-1 (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-1 (2020-07-27)

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

* MooseFS 4.23.4-1 (2020-07-22)

  - (tools,man) fixed mfsfacl tools and manpages

* MooseFS 4.23.3-1 (2020-07-14)

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

* MooseFS 4.23.2-1 (2020-07-01)

  - (mount+master) fixed handling keepcache and direct flags (related to issue #374)
  - (cgi) changed time format (issue #197)
  - (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-1 (2020-06-22)

  - (tools) fixed mfsfacl tools
  - (tools) added trash management tools

* MooseFS 4.23.0-1 (2020-06-17)

  - (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-1 (2020-05-26)

  - (cs) fixed deadlock condition on mutexes 'folderlock' and 'hashlock' (exists since 4.20.3)

* MooseFS 4.22.1-1 (2020-05-25)

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

* MooseFS 4.22.0-1 (2020-05-05)

  - (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 (available in cli/cgi)

* MooseFS 4.21.8-1 (2020-05-04)

  - (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 (issue #354)
  - (cs) fixed master reconnection conditions (reload usually shouldn't cause reconnection)
  - (master) changed disk removal detection algorithm (issue #356)
  - (cs) fixed calculating size limits
  - (cs) added handling inode limits in local filesystems on chunkservers (issue #358)
  - (master) added topology grouping when new chunks are about to be created (prefer closer servers)
  - (master) added more error messages to bgsaver.c
  - (cs) added changing subfolder during internal rebalance (related to issue #326)
  - (mount) turn off dentry invalidator for Linux kernels >= 4.19 (related to issue #357)
  - (master) changed condition that checks timestamp in changelogs (less prone to small clock differences)
  - (cgi+cli) changed mark for removal state name UNKNOWN->PENDING (related to issue #359)
  - (client) decreased max IDLE time in writer module from 1s to 0.1s
  - (client) update inode in dentry invalidator
  - (master) fixed trash recover (privileges, bug in nonexistent path elements)
  - (client) silenced "kern.proc.filedesc" syslog messages on FreeBSD (issue #360)

* MooseFS 4.21.7-1 (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 (issue #350)
  - (cs) added parameter for number of chunks to be send in single register packet
  - (cs) fixed reporting damaged chunks in testing function (issue #352)
  - (client) changed open test in setattr (related to issue #350)
  - (master) fixed handling truncate for open files (related to issue #350)
  - (master) added uid mapping in setfacl function
  - (master+client) fixed keep cache conditions
  - (cs) introduced official label format defined in chunkserver configuration

* MooseFS 4.21.6-1 (2020-03-24)

  - (master) added protection between 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-1 (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.c (intr. 4.17.0)
  - (master) changed algorithm of reusing chunkserver ids (adding released ids to the end of free list)
  - (master) fixed segfault during appending chunks of file with positive length and no chunks

* MooseFS 4.21.4-1 (2020-03-20)

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

* MooseFS 4.21.3-1 (2020-03-19)

  - (client) fixed deadlock in dentry invalidator

* MooseFS 4.21.2-1 (2020-03-12)

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

* MooseFS 4.21.1-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-1 (2020-03-02)

  - (master,cgi+cli) added support for disabling individual filesystem commands in exports
  - (client) added handling read/write/readdir disables on client side (better error messages)
  - (client) added session parameters to '.params' file

* MooseFS 4.20.6-1 (2020-02-26)

  - (master) introduced replication limits for 'reformat priority'
  - (cs) silence stupid compiler warning
  - (client) fixed handling LOCKED and EAGAIN status in readdata

* MooseFS 4.20.5-1 (2020-02-17)

  - (cs) added protections against segfaults (issue #342)

* MooseFS 4.20.4-1 (2020-02-13)

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

* MooseFS 4.20.3-1 (2020-01-27)

  - (cs) fixed bug that may lead to creating much more chunks in one subfolder (issues #319,#326)
  - (cs) added option for controlling subdirectory selection algorithm for newly created chunks (issues #319,#326)
  - (cs) prevent potential dumping deleted chunks to 'chunk.db'
  - (client) added options for setting behaviour when master returns unavailable chunks or no space status (issue #322)
  - (cgi) fixed logo and icon (file type for favicon.ico, change to current logotype - issue #328)
  - (master) turning off sending NOP commands to unregistered clients and supervisors (matomlserv.c)
  - (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 (issue #327)
  - (cs) introduce mypread and mypwrite macro (code cleaning)
  - (cs) added check for changed crc before every chunk file close (just in case)
  - (cs) never use open chunk as a chunk duplicate that needs to be deleted
  - (cs) never use disk with pending duplicates as destination disk during internal rebalance (issue #327)
  - (cs) fixed condition in internal rebalance procedure (issue #327)
  - (cs) added option for setting duplicates retention time in hours (issue #333)
  - (cs) fixed memory leak in removing disk with duplicates
  - (cs) removed unnecessary attribute reading when chunk duplicates are detected (issue #327)

* MooseFS 4.20.2-1 (2019-12-17)

  - (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-1 (2019-12-16)

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

* MooseFS 4.20.0-1 (2019-12-10)

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

* MooseFS 4.19.0-1 (2019-12-03)

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

* MooseFS 4.18.7-1 (2019-11-26)

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

* MooseFS 4.18.6-1 (2019-11-21)

  - (mfscgiserv) fixed handling redirects (bug intr in 4.18.3)

* MooseFS 4.18.5-1 (2019-11-20)

  - (master) fixed missing handling FORCE_TIMEOUT packet

* MooseFS 4.18.4-1 (2019-11-19)

  - (master) fixed rmdir packet size

* MooseFS 4.18.3-1 (2019-11-18)

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

* MooseFS 4.18.2-1 (2019-11-05)

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

* MooseFS 4.18.1-1 (2019-10-30)

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

* MooseFS 4.18.0-1 (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 (related to issue #302)
  - (mount) workaround for bug in fuse (wrong lock_owner in flush - issue #305)
  - (mount) fixed deadlock in readdata.c (closes issue #306)
  - (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

* MooseFS 4.17.5-1 (2019-10-02)

  - (mount) added support for libfuse3 (related to issue #302)

* MooseFS 4.17.4-1 (2019-09-23)

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

* MooseFS 4.17.3-1 (2019-09-18)

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

* MooseFS 4.17.2-1 (2019-09-17)

  - (cs) experimental version with unlimited queue

* MooseFS 4.17.1-1 (2019-09-10)

  - (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 in client module

* MooseFS 4.17.0-1 (2019-08-28)

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

* MooseFS 4.16.3-1 (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-1 (2019-08-20)

  - (master+cgi/cli) added syncstate 'INIT'

* MooseFS 4.16.1-1 (2019-08-19)

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

* MooseFS 4.16.0-1 (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-1 (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+cgi) fixed shebang in python scripts (preference for python3 in configure)
  - (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 (issue #247)
  - (metadirinfo) fixed segfault when output filename is not specified
  - (chunktool) added file name fixing option (issue #276)
  - (all) changed chunk replication and deletion charts into two color charts (successful/unsuccessful - issue #273)
  - (all) added new charts with number of chunk creations and internal changes (also successful and unsuccessful)
  - (master) added ignoring chunk with id zero sent from chunkserver
  - (metadump) added option for dumping parts of metadata
  - (master) added more logs to background data write subprocess (connected with issue #280)

* MooseFS 4.14.1-1 (2019-05-23)

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

* MooseFS 4.14.0-1 (2019-05-14)

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

* MooseFS 4.13.4-1 (2019-05-06)

  - (nbd) added option for specifying subfolder on MFS for block devices (issue #252)

* MooseFS 4.13.3-1 (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 (issue #238)
  - (netdump) fixed using deprecated function pcap_lookupdev

* MooseFS 4.13.2-1 (2019-04-03)

  - (master) fixed labels in EC mode

* MooseFS 4.13.1-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-1 (2019-03-13)

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

* MooseFS 4.12.5-1 (2019-03-05)

  - (cs) fixed removing chunks from data structures when marking disk as 'damaged' (issue #207)
  - (cs) fixed handling 'damaged' disks with chunks on reload (issue #207)
  - (cs) unlink duplicates a week after detection (instead of removing them instantly - related to issue #207)
  - (tools) added displaying number of chunk blocks in 'mfsfileinfo'
  - (cs) fixed crc values for non existing blocks
  - (master) added error messages for 'fork' errors
  - (cgi) fixed handling encodings (issue #206 and #208)
  - (cgi) added timestamp (issue #197)
  - (cgi) fixed chart.cgi url (issue #200)

* MooseFS 4.12.4-1 (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.)
  - (supervisor) added reloading config parameters on SIGHUP (aka 'reload')

* MooseFS 4.12.3-1 (2019-02-08)

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

* MooseFS 4.12.2-1 (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 (introdiced optional higher distances between servers)
  - (master) fixed desync on adding damaged chunk
  - (master) added changelog save mode (in background,asynchronous and synchronous)

* MooseFS 4.12.1-1 (2019-01-17)

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

* MooseFS 4.12.0-1 (2019-01-08)

  - (master,cs,client,metalogger) added MATOxx_FORCE_TIMEOUT - option for forcing connection timeout with certain modules
  - (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 - performing 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-1 (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-1 (2018-12-14)

  - (master) fixed gid array parsing during metadata restore

* MooseFS 4.11.2-1 (2018-12-13)

  - (master) fixed log rotation on FOLLOWERs

* MooseFS 4.11.1-1 (2018-12-11)

  - (master) fixed quota handling in FOLLOWERs

* MooseFS 4.11.0-1 (2018-12-09)

  - (linux) import post installation scripts from 3.x
  - (all) prepared everything for 'PRO' version

* MooseFS 4.10.2-1 (2018-12-05)

  - (tools) import new tools sources

* MooseFS 4.10.1-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-1 (2018-09-25)

  - (master) close listen sockets after fork operation (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-1 (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
  - (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-1 (2018-07-12)

  - (master+cgi+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-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-1 (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-1 (2018-05-25)

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

* MooseFS 4.6.0-1 (2018-05-17)

  - (master) added support for new trash+sustained commands in mfstools
  - (master) added new chunk priority (unfinished EC)
  - (master) make under goal 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 is 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-1 (2018-04-19)

  - (master) added option for not moving empty files to trash by default

* MooseFS 4.5.4-1 (2018-04-10)

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

* MooseFS 4.5.3-1 (2018-04-04)

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

* MooseFS 4.5.2-1 (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-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 mfsscadmin (storage class copy)
  - (all) silence static code check warnings (mainly checks pointers against being NULL)

* MooseFS 4.5.0-1 (2018-03-22)

  - (cgi+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-1 (2018-03-21)

  - (cs) changed chunk testing routine (new definition is in MB/s per disk)
  - (cgi) 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-1 (2018-03-12)

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

* MooseFS 4.4.0-1 (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/cgi) new chunk loop counters
  - (master) added regular metadata checksum checking
  - (master+cli/cgi) calculating chunk matrix independently for full-copy chunks and EC chunks
  - (master+cli/cgi) added EC stats in "Meta Info" table

* MooseFS 4.3.0-1 (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.cgi subprocesses)
  - (master) rewritten do_jobs routine (handling different chunk state cases)
  - (master) fixed hanging write operation when chunk is in EC format

* MooseFS 4.2.5-1 (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)
  - (cgi/cli) fixed displaying arch_delay

* MooseFS 4.2.4-1 (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)
  - (cgi) added colors for hard drive status

* MooseFS 4.2.3-1 (2018-01-08)

  - (master) fixed reversing from ARCH to KEEP mode

* MooseFS 4.2.2-1 (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-1 (2017-12-21)

  - (master+tools) added new tool to manage patterns

* MooseFS 4.2.0-1 (2017-12-15)

  - (master+tools) added support for using atime,mtime and ctime in switching from keep to arch 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

* MooseFS 4.1.4-1 (2017-12-04)

  - (master) improved priority chunk queues data structures

* MooseFS 4.1.3-1 (2017-11-28)

  - (master) changed priority chunk queues data structures

* MooseFS 4.1.2-1 (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-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
  - (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 (restoring from changelog/LEADER->FOLLOWER)

* MooseFS 4.1.0-1 (2017-09-01)

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

* MooseFS 4.0.8-1 (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-1 (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)
  - (cgi) fixed displaying master charts without LEADER (PRO only)
  - (mount) added info about using open dir cache in oplog/ophisotry

* MooseFS 4.0.6-1 (2017-07-11)

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

* MooseFS 4.0.5-1 (2017-07-05)

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

* MooseFS 4.0.4-1 (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-1 (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 suig/sgid during write
  - (mount) increased performance when reading from chunk divided into parts (EC support)

* MooseFS 4.0.2-1 (2017-06-14)

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

* MooseFS 4.0.1-1 (2017-05-25)

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

* MooseFS 4.0.0-1 (2017-02-23)

  - (all) added erasure codes
  - (tools) added new commands 'mfsXXXtrashretention' (deperecate mfsXXXtrashtime commands)
  - (tools) added new commands 'mfsXXXfacl' for managing ACL's on non-Linux OS'es
  - (master) added new storage mode (trash) in storage classes

* MooseFS 3.0.93-1 (2017-06-01)

  - (master) redesigned xattr storage (much faster and uses less memory)
  - (master) improved hash map in xattr and acl (static -> dynamic)
  - (cgi+cli) added possibility to define master group as set of IP addresses divided by comma or semicolon
  - (cs) fixed using fsync on closed descriptors (after change FSYNC_BEFORE_CLOSE option)
  - (master) fixed removing default acl
  - (master+mount) added support for basic Windows attributes (hidden,ro,system,archive)
  - (cgi+cli) fixed working with FOLLOWERs only

* MooseFS 3.0.92-1 (2017-04-27)

  - (master+tools) added chunk slices to mfsappendchunks
  - (tools) added archive mode tools
  - (master+mount) fixed getfacl (unnecessary check for read rights for uid/gid)
  - (master) fixed changing acl mask during setattr

* MooseFS 3.0.91-1 (2017-04-07)

  - (all) silence false warnings generated by static analyzers (clang and cppcheck)
  - (master) fixed quota testing routine used during 'move/rename'
  - (all) added README.md to distribution
  - (cs+mount) decreased delay in conncache
  - (mount) fixed reading done by many (20+) threads using one descriptor (premature removing requests from queue during cleaning)

* MooseFS 3.0.90-1 (2017-03-15)

  - (master) fixed 'move/rename' with quota
  - (master) fixed chunk counters shown in cli/cgi
  - (master+tools) added option 'preserve hardlinks' to mfsmakesnapshot
  - (master) fixed acl copying during mfsmakesnapshot

* MooseFS 3.0.89-1 (2017-02-21)

  - (mount) added fixing file length in all inodes after write
  - (cs) split bitfield into separate bytes (fixed potential race condition)
  - (master) setting operation to NONE before sending status (silence unnecessary messages in some cases)
  - (cs) increased verbosity of crc-error messages
  - (cs) fixed invalidating preserved block in case of truncate down followed by truncate up
  - (mount) increased master-proxy buffer sizes

* MooseFS 3.0.88-1 (2017-02-08)

  - (mount) added read cache clean on write (same file access using different descriptors)
  - (mount) added missing cond_destroy in readdata.c (fix sent by Jakub Ratajczak)
  - (master) fixed initializing packet size for reading 'sustained' directory
  - (all) fixed zassert for printing correct statuses in case of pthread functions

* MooseFS 3.0.87-1 (2017-02-01)

  - (mount) fix fleng in finfo after truncate (patched by Davies Liu)
  - (mount) fix overlapped read (patched by Davies Liu)
  - (mount) fixed invalidating chunk cache after truncate
  - (mount) fixed fleng handling in read worker
  - (mount) fixed handling BREAK state in read worker
  - (mount) changed handling data invalidation in read module (sometimes could be less efficient, but it is much more safer)
  - (tools) fixed number parsing (patched by Pawel Gawronski)
  - (cli) fixed printed host/port options
  - (mount) moved pipes from requests to workers (read and write - huge decrease of descriptors used by mount)
  - (mount) changed signal to broadcast in rwlock (fixed very rare read/write deadlock)
  - (mount) fixed 'open descriptors' leak (lookup(with data for open)->open(with cached data)->close)
  - (mount) fixed potential 'race condition' - free 'csdata' during access
  - (master) split (only internally) sustained folder into 256 subfolders (too many sustained files caused socket timeouts in master)

* MooseFS 3.0.86-1 (2016-11-30)

  - (master) fixed LEADER-FOLLOWER resynchronization after reconnection (PRO only)
  - (masrer) fixed rehashing condition in edge/node/chunk hashmaps (change inspired by yinjiawind)

* MooseFS 3.0.85-1 (2016-11-17)

  - (mount) fixed memory leak (also efficiency) on Linux and potential segfaults on FreeBSD (negative condition)
  - (mount) fixed race condition for inode value in write module
  - (mount) better descriptors handling (lists of free elements, inode hash)
  - (mount) better releasing descriptors on FreeBSD
  - (cs) fixed time condition (patch send by yinjiawind)

* MooseFS 3.0.84-1 (2016-10-06)

  - (master) fixed setting acl-default without named users or named groups
  - (master) fixed FOLLOWER synchronization after setting storage class

* MooseFS 3.0.83-1 (2016-09-30)

  - (cs) changed header size from 5k to 8k (due to 4k-sector hard disks)

* MooseFS 3.0.82-1 (2016-09-28)

  - (all) silenced message about using deprecated parameter 'oom_adj'
  - (mount) fixed FreeBSD delayed release mechanism
  - (mount) added rwlock for chunks

* MooseFS 3.0.81-1 (2016-07-25)

  - (mount) fixed oom killer disabling (setting oom_adj and oom_score_adj)
  - (cli) fixed displaying inactive mounts
  - (mount) added fsync before removing any locks
  - (daemons) added disabling oom killer (Linux only)
  - (all) small fixes in manpages
  - (mount) fixed handling nonblocking lock commands (unlock and try) in both locking mechanisms
  - (daemons+mount) changed default settings for limiting malloc arenas (Linux only)

* MooseFS 3.0.80-1 (2016-07-13)

  - (master) fixed chunk loop (in some cases chunks from the last hash position might be left unchecked)
  - (master) fixed storage class management (fixed has_***_labels fields)

* MooseFS 3.0.79-1 (2016-07-05)

  - (master) fixed 'flock' (change type of lock SH->EX and EX->SH caused access to freed memory and usually SEGV)

* MooseFS 3.0.78-1 (2016-06-14)

  - (cs) fixed serious error that may cause data corruption during internal rebalance (intr. in 3.0.75)

* MooseFS 3.0.77-1 (2016-06-07)

  - (mount) added assertions after packet allocation in master communication module
  - (manpages) fixes related to storage classes
  - (all) improved error messages used for storage classes

* MooseFS 3.0.76-1 (2016-06-03)

  - (master) fixed resolving multi path for root inode
  - (master) fixed licence expiration behaviour (PRO only)

* MooseFS 3.0.75-1 (2016-04-20)

  - (all) fixed cppcheck warnings/errors (mostly false negatives)
  - (cs) added file sparsification during chunk write (also chunk replication, chunk duplication etc.)
  - (mount) fixed write data inefficiency when I/O was performed by root
  - (master) fixed removing too early locked chunks from data structures
  - (tools) fixed reusing local ports (connection to master returned EADDRNOTAVAIL)
  - (all) changed default action from restart to start
  - (all) added exiting when user defined config (option -c) cannot be loaded
  - (cs) changed handling chunk filename (dynamic filename generation - cs should use less memory)
  - (netdump) changed 'moose ports only' option to 'port range'
  - (mount) limited number of files kept as open after close
  - (cs) changed subfolder choosing algorithm
  - (mount) changed mutex lock to rw-lock for I/O on the same descriptor
  - (mount) added link to mfsmount from '/sbin/mount.moosefs' (Linux only)
  - (all) introduced "storage classes" (new goal/labels management)
  - (master+cs) introduced 'temporary maintenance mode' (automatic maintenance mode after graceful stop of cs)
  - (master+mount) added fix for bug in FreeBSD kernel (kernel sends truncate before first close - FreeBSD only)
  - (cs) fixed setting malloc pools on Linux

* MooseFS 3.0.74-1 (2016-03-08)

  - (master) fixed rebalance replication (check for all chunk copies for destination - not only valid)
  - (master+mount) new mechanism for atime+mtime setting during I/O
  - (master+mount) new I/O synchronization between different mounts (with cache invalidation)
  - (master+mount) new chunk number/version cache (with automatic invalidation from master)
  - (master) added mapping chunkserver IP classes (allow to have separate network for I/O and separate for other activity)
  - (master) fixed status returned by writechunk after network down/up
  - (master) changed trashtime from seconds to hours
  - (master) added METADATA_SAVE_FREQ option (allow to save metadata less frequently than every hour)
  - (master) added using in emergency (endangered chunks) all available servers for replication (even overloaded and being maintained)
  - (master) added using chunkservers in 'internal rebalance' state in case of deleting chunks
  - (all) spell check errors fixed (patch contributed by Dmitry Smirnov)

* MooseFS 3.0.73-1 (2016-02-11)

  - (master) fixed restoring ARCHCHG from changelog
  - (cli+cgi) fixed displaying master list with FOLLOWERs only (PRO only)
  - (master) added using size and length quota to fix disk usage values (statfs)
  - (master) fixed xattr bug which may lead to data corruption and segfaults (intr. in 2.1.1)
  - (master) added 'node_info' packet
  - (tools) added '-p' option to 'mfsdirinfo' - 'precise mode'
  - (master) fixed edge renumeration
  - (master) added detecting of wrong edge numbers and force renumeration in such case

* MooseFS 3.0.72-1 (2016-02-04)

  - (master+cgi+cli) added global 'umask' option to exports.cfg
  - (all) changed address of FSF in GPL licence text
  - (debian) removed obsolete conffiles
  - (debian) fixed copyright file
  - (mount) fixed parsing mfsmount.cfg (system options like nodev,noexec etc. were omitted)
  - (master) changed way how cs internal rebalance state is treated by master (as 'grace' state instead of 'overloaded')
  - (mount) fixed bug in read module (setting etab after ranges realloc)
  - (tools) removed obsoleted command 'mfssnapshot'

* MooseFS 3.0.71-1 (2016-01-21)

  - (master) fixed emptying trash issue (intr. in 3.0.64)
  - (master) fixed possible segfault in chunkservers database (intr. in 3.0.67)
  - (master) changed trash part choice from nondeterministic to deterministic

* MooseFS 3.0.70-1 (2016-01-19)

  - (cgi+cli) fixed displaying info when there are no active masters (intr. in 3.0.67)
  - (mount+common) refactoring code to be Windows ready
  - (mount) added option 'mfsflattrash' (makes trash look like before version 3.0.64)
  - (mount) added fixes for NetBSD (patch contributed by Tom Ivar Helbekkmo)

* MooseFS 3.0.69-1 (2016-01-12)

  - (mount) fixed rare case when request memory was used after being freed.

* MooseFS 3.0.68-1 (2016-01-08)

  - (cgi+cli) fixed UNKNOWN state for "marked for removal" readiness
  - (mount) added protection from releasing inode memory too early in reading module
  - (mount) use direct I/O as a default mode on Mac OS X (due to keep_cache bug in kernel/fuse)

* MooseFS 3.0.67-1 (2016-01-07)

  - (cgi+cli) added much more info for master in ELECT state (PRO only)
  - (master+cgi+cli) added temporarily removing chunkservers in master in ELECT state (PRO only)
  - (cgi) fixed bug in ChunkServers list (heavy load/internal rebalance)

* MooseFS 3.0.66-1 (2016-01-04)

  - (mount) use direct I/O as a default mode on FreeBSD (due to keep_cache bug in kernel/fuse)

* MooseFS 3.0.65-1 (2015-12-23)

  - (master+cs) added minimal version for master supervisors in chunkservers (PRO only)
  - (cs) chunkserver can be started with empty mfshdd.cfg and work as a voter (PRO only)
  - (master) mfsrmsnapshot will remove files without using trash
  - (master+cs) added optional authorization

* MooseFS 3.0.64-1 (2015-12-21)

  - (master+mount) split trash into 4096 separate sub-trashes

* MooseFS 3.0.63-1 (2015-12-17)

  - (mount) fixed rare race condition in read (not dangerous)
  - (mount) better read/write synchronization in read
  - (master) new chart (used/total space)

* MooseFS 3.0.62-1 (2015-12-11)

  - (cs) added ability to start with metaid read from connected hard drives (from .metaid file)
  - (cs) added protection from using disks filled in more than 99.9% when there are other disks
  - (master+cs+cli+cgi) added 'rebalance in progress' state to chunkservers (treated as heavy load state)
  - (master) added ATIME_MODE option to set atime modification behaviour

* MooseFS 3.0.61-1 (2015-11-30)

  - (master) fixed lookup in case of missing chunks (lookup returned ENXIO in such case)
  - (mount) added mfstimeout option to force timeout for all I/O operations
  - (autotools) fixed problem with 'undefined reference to rpl_malloc/rpl_realloc'

* MooseFS 3.0.60-1 (2015-11-23)

  - (systemd) added TimeoutStartSec=1800 to master
  - (master) fixed "parse error" message for broken network changelogs

* MooseFS 3.0.59-1 (2015-11-06)

  - (all) fixed debug symbols
  - (master+supervisor) added metaid check (PRO only)
  - (master) added rejection of FOLLOWERs with incorrect meta version (PRO only)
  - (mount) change type of data stored in kernel from pointers to indexes (more robust)
  - (cli) fixed show exports in plain mode
  - (master) added sending metaid after switching from ELECT to LEADER (PRO only)
  - (master) removed option '-e' from GPL edition (only makes sense in PRO version)
  - (master+cs) added sending metaid to cs in ELECT state (PRO only)
  - (master) improved metaid generation method
  - (mount) added mfsoomdisable option (Linux only, turned on by default)
  - (mount) added minimum retry counter to log messages in I/O modules
  - (mount) reduced memory consumption by reducing thread stack sizes
  - (mount) changed default malloc arena count to 2 (Linux only)

* MooseFS 3.0.58-1 (2015-10-30)

  - (mount) added condition for requests in read data (request should begin before EOF)
  - (systemd) fixed typo in mfscgiserv service file

* MooseFS 3.0.57-1 (2015-10-27)

  - (metalogger) added 1 second timeout when connecting to master
  - (macosx) fixed packages to be compatible with OS X 10.11+

* MooseFS 3.0.56-1 (2015-10-26)

  - (mount) fixed reading scenario: (read from empty chunk -> write chunk -> read this chunk again)

* MooseFS 3.0.55-1 (2015-10-20)

  - (cs,master) added 1 second timeout when connecting to master

* MooseFS 3.0.54-1 (2015-10-16)

  - (master) fixed setting version of new chunks registered as 'marked for removal'
  - (master) added stronger condition for deleting invalid chunks
  - (cs) changed condition for number of blocks to change to mark disk as damaged (allow changes up to 10%)

* MooseFS 3.0.53-1 (2015-10-13)

  - (cs) fixed typo (cnunk->chunk)
  - (mount) create in deleted directory returns EACCES only in OS X (ENOENT in other systems)

* MooseFS 3.0.52-1 (2015-10-09)

  - (mount) added new mechanism for sustaining working directories (replaces mechanism added in 3.0.40)
  - (cs) force disconnection from master couple seconds after term signal (frozen I/O threads can prevent CS from termination)
  - (cs) when RO/RW status or total blocks changes then device is automatically marked as damaged
  - (master) added support for root inode end deleted inodes in MASS_RESOLVE_PATHS
  - (cli) fixed error displaying disconnected chunkservers
  - (rpm) added network-online.target to Wants and After in systemd service files (startup issues after reboot)

* MooseFS 3.0.51-1 (2015-09-24)

  - (mount) fixed segfault during umount
  - (mount) changed fsync before close to be turned on by default
  - (mount) fixed read-write-read scenario on files created as a snapshots

* MooseFS 3.0.50-1 (2015-09-22)

  - (master+mount) for files with EATTR_NODATACACHE mounts will always use direct io
  - (all) changed suffix of sample configuration files from '.dist' to '.sample'

* MooseFS 3.0.49-1 (2015-09-18)

  - (mount) added DIRECT as a cachemode (force using direct io - also disables cache - mainly for FreeBSD)

* MooseFS 3.0.48-1 (2015-09-17)

  - (mount) minor changes in mastercomm module (disconnection handle)

* MooseFS 3.0.47-1 (2015-09-16)

  - (mount) fixed memory leak in readchunkdata module

* MooseFS 3.0.46-1 (2015-09-15)

  - (mount) fixed chunk-data cache bug (repeated network timeouts could lead to reading freeze)

* MooseFS 3.0.45-1 (2015-09-10)

  - (mount) fixed cache for extra inode data (usage of non thread-safe allocation functions - leads to hangups on lookup/open etc.)
  - (mount) fixed data-cache issue (delete only directories from kerenel dentry cache)
  - (mount) inserting into xattr cache "nonexistent" xattr "security.capability" after file creation. (speed up writing small files)
  - (master) fixed scenario causing deleting chunks from chunkservers marked for removal
  - (cgi+cli) fixed color of reported exports checksum for non-PRO masters

* MooseFS 3.0.44-1 (2015-08-13)

  - (master+mount) fixed synchronization between mounts (write+close on one and then read this data on another)
  - (mount) fixed chunk localization cache (snapshot case - on snapshot chunkid may change)

* MooseFS 3.0.43-1 (2015-08-10)

  - (netdump) added support for device 'any' with LINUX_SLL and PKTAP frames

* MooseFS 3.0.42-1 (2015-08-07)

  - (mount) added support for negative answers in 'removexattr' from xattr cache

* MooseFS 3.0.41-1 (2015-08-06)

  - (master) added creating first chunk after file creation

* MooseFS 3.0.40-1 (2015-08-05)

  - (master+mount) added using fuse's forgets in inode number reusage (fixes very rare EBUSY case when inode number is reused after unlink of directory which is still open or used as a current working directory)
  - (master+mount) sped up reading of small files
  - (mount) increased chunk location cache (sped up reading files)

* MooseFS 3.0.39-1 (2015-07-23)

  - (master) fixed truncate bug (wrong behaviour when chunk was locked - not dangerous)
  - (cgi+cli) fixed python3 incompatibilities

* MooseFS 3.0.38-1 (2015-07-13)

  - (master+cgi+cli) added check for servers with disks marked for removal (if disks can be safely removed)

* MooseFS 3.0.37-1 (2015-07-08)

  - (mount) performance fixes in read module

* MooseFS 3.0.36-1 (2015-07-07)

  - (mount) fixed bug in read module (intr. in 3.0.35)

* MooseFS 3.0.35-1 (2015-07-06)

  - (mount) fixed state automaton in read module (in very rare cases zeros might be read instead of data - intr. in 3.0.23)

* MooseFS 3.0.34-1 (2015-06-26)

  - (master) fixed small FOLLOWER desync issue (PRO only - intr. in 3.0.33)
  - (master) fixed session restore/synchronization issue (bad info length after metadata restore)
  - (mount) fixed setting maxfleng on truncate

* MooseFS 3.0.33-1 (2015-06-25)

  - (master) added metaid synchronization between masters (PRO only)
  - (cgi+cli) fixed "Metadata Info" table (intr. in 3.0.32).

* MooseFS 3.0.32-1 (2015-06-23)

  - (master) added exports checksum
  - (master) changed sessions parameters refresh policy (refresh all parameters after 'exports' reload)
  - (master) fixed truncate bug (close file without writing data may cause file truncate - dangerous !!!, introduced in 3.0.25)

* MooseFS 3.0.31-1 (2015-06-22)

  - (master) changed metadata storing policy - when there are no FOLLOWERs, then store metadata every hour (PRO only)

* MooseFS 3.0.30-1 (2015-06-19)

  - (master) added 'empty' chunk count to mfscheckfile (fixed mfsfileinfo on sparse files)
  - (master) added 'mfsrmsnapshot' (remove whole directory created as a result of mfsmakesnapshot)
  - (tools) fixed memory overrun error during mfssetgoal
  - (all) improved reloading cfg files (commented out options should be treated the same as options set to default values)

* MooseFS 3.0.29-1 (2015-06-18)

  - (master) fixed truncate bug (freezing mount during truncate in some rare scenarios)

* MooseFS 3.0.28-1 (2015-06-17)

  - (master) fixed lock issue on empty (chunkid==0) chunk

* MooseFS 3.0.27-1 (2015-06-16)

  - (master) fixed memory allocation size bug in chunk's "ftab"

* MooseFS 3.0.26-1 (2015-06-15)

  - (master+tools) added reportig invalid chunks to mfsfileinfo
  - (cs) added protection against using '.chunkdb' when folders were changed by user
  - (master) fixed free inodes list issue (can happen only during first 60 seconds after starting master with new metadata)

* MooseFS 3.0.25-1 (2015-06-11)

  - (cs) fixed sending disk sizes after chunk deletions
  - (tools) added displaying chunk information in "mfsfileinfo" for chunks exceeding file size
  - (cli+cgi) added "missing chunk type" column in "missing files" table
  - (master) added automatic fixing missing chunks exceeding file size
  - (cs) fixed "got unknown message (type:212)" issue
  - (cs) added ip and port to connection error message
  - (master+mount) added length and write/read synchronization between nodes
  - (mount) removed waiting for data sync on mfs_release
  - (master+mount) added not cacheable ENOENT status

* MooseFS 3.0.24-1 (2015-06-01)

  - (master) changed two highest replication priorities (fixes problem with slow replication from "marked for removal" disks)
  - (cs) added option '!' to paths in mfshdd.cfg - ignore 'metaid'

* MooseFS 3.0.23-1 (2015-05-19)

  - (configure) added python as dependency for mfscgiserv
  - (mount) readdata module improvements (masterdata cache)

* MooseFS 3.0.22-1 (2015-05-15)

  - (mount) fixed dircache invalidation

* MooseFS 3.0.21-1 (2015-05-14)

  - (master) fixed bug in flock (bsd) locks

* MooseFS 3.0.20-1 (2015-05-12)

  - (cli) fixed "last save time" in master general info (-SIG)
  - (master) added "last seen paths" to TRASH and SUSTAINED files in inode to path resolver
  - (mount) fixed "race conditions" in new reading module (intr. in 3.0.19)
  - (mount) added "mfsnoxattrs","mfsnoposixlocks" and "mfsnobsdlocks" options
  - (master) added support for "DEFAULT" options in mfsexports.cfg

* MooseFS 3.0.19-1 (2015-05-08)

  - (master) removed missing chunks/files from messages
  - (cli+cgi) added presenting missing chunks/files in separate table
  - (mount) improved reading performance
  - (master) added missing chunks/files log
  - (master) added fast delete during rebalance

* MooseFS 3.0.18-1 (2015-04-29)

  - (master) fixed bug in chunk unlocking mechanism (few writes to the same chunk may cause master freezing)

* MooseFS 3.0.17-1 (2015-04-20)

  - (master) fixed 'df' for subnodes with quota set on ancestor nodes

* MooseFS 3.0.16-1 (2015-04-15)

  - (all) changed freebsd ports
  - (cgiserv) fixed POST handling
  - (mount) fixed handling read-ahead upper limit

* MooseFS 3.0.15-1 (2015-04-10)

  - (master) added 'admin' flag to default mfsexport.cfg
  - (master) fixed setgoal bug (user couldn't change goal without admin privilege)

* MooseFS 3.0.14-1 (2015-04-09)

  - (mount) fixed rare getgroup race condition

* MooseFS 3.0.13-1 (2015-04-03)

  - (tools,mount) fixed man pages

* MooseFS 3.0.12-1 (2015-03-31)

  - (netdump) fixed man page

* MooseFS 3.0.11-1 (2015-03-18)

  - (all) changed licence of standard version to GPLv2
  - (all) changed name moosefs-CE to just moosefs

* MooseFS 3.0.10-1 (2015-03-10)

  - (master) fixed possible reference to freed memory during metadata recovery
  - (master) added minimal priority queue length
  - (cs) fixed removing damaged disks (lock file issue)
  - (master) treat servers in maintenance mode as overloaded (no chunk creations, replications etc.)
  - (master+tools) added tools for manipulating archive flag
  - (master+mount) added preferred labels for I/O
  - (master) added option for setting length of chunks priority queues

* MooseFS 3.0.9-1 (2015-02-19)

  - (all) added separated goal for "create", "keep" and "archive"
  - (all) added "create mode" (loose/standard/strict)
  - (master) fixed check for ENOSPC condition
  - (mount) added "chunkready" condition before close (alternative to full fsync)

* MooseFS 3.0.8-1 (2015-02-11)

  - (master) fixed descriptor leak
  - (mount) new delayed ops scheduler

* MooseFS 3.0.7-1 (2015-02-06)

  - (cs+master) added heavy-loaded status

* MooseFS 3.0.6-1 (2015-02-05)

  - (master) removed chunk preallocation
  - (master) added write-in-progress counters
  - (master) added experimental "new chunk" algorithm

* MooseFS 3.0.5-1 (2015-02-03)

  - (master) changed preallocation algorithm
  - (all) changed assert macros (added source file and line number to syslog msg)
  - (mount) made fsync before close optional (added option mfsfsyncbeforeclose)

* MooseFS 3.0.4-1 (2015-02-02)

  - (cs) made fsync before close optional
  - (all) added missing options to manpages
  - (mount+master) changed atime/mtime setattr handling (avoid fsync on mtime change)

* MooseFS 3.0.3-1 (2015-01-30)

  - (cs) disabled Nagle's algorithm in mainserv and replicator

* MooseFS 3.0.2-1 (2015-01-29)

  - (master) added experimental functions in preallocation

* MooseFS 3.0.1-1 (2015-01-28)

  - (master) changed preallocation formula
  - (master) changed choosing privileged servers for rebalance replication
  - (cs) added new xor-replication

* MooseFS 3.0.0-1 (2015-01-22)

  - (master+mount) fixed small posix incompatibility (utime with NULL arg)
  - (all) change version to 3.0

* MooseFS 2.1.12-1 (2015-01-13)

  - (master+cs) monotonic chart counters
  - (cs) fixed error handling in writing data (mainserv)

* MooseFS 2.1.11-1 (2015-01-12)

  - (master) better state switching (PRO only)

* MooseFS 2.1.10-1 (2015-01-09)

  - (cs) fixed handling .metaid file
  - (cs) fixed showing incorrect I/O error messages
  - (cs) fixed drive removals

* MooseFS 2.1.9-1 (2015-01-08)

  - (master) force rebalancing when some servers are almost full (regardless of undergoal priority queues)
  - (master) fixed adding chunks to priority queues (when replication limits are not reached then undergoal chunks shouldn't be added to queues)
  - (master) fixed potential double decreasing number of sockets in session data

* MooseFS 2.1.8-1 (2015-01-07)

  - (master) fixed LEADER-FOLLOWER synchronization issue (preallocated chunk deletion - PRO only)
  - (master) fixed setting goal to 9

* MooseFS 2.1.7-1 (2014-12-24)

  - (master) fixed serious incompatibility with mounts 2.1+
  - (master) added chunk preallocation
  - (master) added deleting wrong versioned chunks that do not belong to any file
  - (mount) fixed printed information about mapall (thanks to Tom Ivar Helbekkmo)
  - (master) fixed rmdir mapall/maproot rights check (thanks to Tom Ivar Helbekkmo)

* MooseFS 2.1.6-1 (2014-12-22)

  - (master) added rollback after client disconnection

* MooseFS 2.1.5-1 (2014-12-19)

  - (master) fixed algorithm responsible for choosing servers for new chunks
  - (master) rollback changes when no chunkservers finished chunk ops (like create,duplicate etc.)

* MooseFS 2.1.4-1 (2014-12-17)

  - (cgi+cli) added labelset tables
  - (master) minor changes in replication algorithm

* MooseFS 2.1.3-1 (2014-12-15)

  - (master) fixed replication algorithm (no replication for labeled chunks when one or more servers are disconnected)
  - (cgi+cli) fixed typo (number of column for disconnected chunkservers in cli mode)

* MooseFS 2.1.2-1 (2014-12-12)

  - (master) added quota-licences (PRO only)
  - (master) restrict label manipulations to mounts with 'admin' property in exports file

* MooseFS 2.1.1-1 (2014-12-10)

  - (tools) added tools for copying mfs attributes (mfscopygoal,mfscopytrashtime,mfscopyeattr and mfscopyquota)

* MooseFS 2.1.0-1 (2014-12-04)

  - (mount+master) added support for global flock locks (Linux, kernel 3.8+, libfuse 2.9+ only)
  - (mount+master) added support for global posix locks (Linux only)
  - (cgi+cli) added resources tab with open files and acquired locks
  - (master) better 'wrong version' chunks handling
  - (mount) changes in 'write' procedures (much faster random writes)
  - (all) added support for labels (georeplication)

* MooseFS 2.0.44-1 (2014-11-27)

  - (master) fixed read rebalance limit

* MooseFS 2.0.43-1 (2014-10-31)

  - (master) introducing new licence model (new licences with size limit for PRO version)
  - (all) fixed portability issues with usleep (thanks to Tom Ivar Helbekkmo)
  - (all) setting socket options after listen (thanks to Tom Ivar Helbekkmo)

* MooseFS 2.0.42-1 (2014-10-29)

  - (tools) fixed printing ip numbers in mfsfileinfo
  - (mount) changed format of ip numbers in messages from hex to standard
  - (master) changed format of ip numbers in some messages from hex to standard

* MooseFS 2.0.41-1 (2014-10-21)

  - (mount) fixed buffer overrun (FreeBSD and OS X only)

* MooseFS 2.0.40-1 (2014-10-15)

  - (cs) fixed serious bug (new chunks were created on disks 'marked for removal') - introduced in 1.7.31
  - (cs) fixed bug (segfault on very rare occasions during disk scanning just after startup - caused by damaged chunk files)
  - (mount) fixed memory leak (supplementary group tabs) - intr. in 2.0.1
  - (rpm) fixed systemd scripts
  - (daemons) added increasing limit of core dump size (debugging purposes)

* MooseFS 2.0.39-1 (2014-10-06)

  - (mount) added ability to mount from /etc/fstab on FreeBSD

* MooseFS 2.0.38-1 (2014-10-02)

  - (mount) fixed memory leak in workaround on FreeBSD early-release bug (FreeBSD only)

* MooseFS 2.0.37-1 (2014-09-23)

  - (cs) added internal open files limit
  - (master) changed chunkserver choosing algorithm

* MooseFS 2.0.36-1 (2014-09-18)

  - (cgi) fixed sorting masters by ip
  - (master) fixed acl posix compatibility (two tests from pjd)
  - (cs) fixed compatibility issues with master 1.6

* MooseFS 2.0.35-1 (2014-09-12)

  - (freebsd) fixed cgiserv and cli port
  - (mount) fixed setting acl

* MooseFS 2.0.34-1 (2014-08-21)

  - (mount) workaround for bug in FreeBSD Fuse version
  - (master) added setting correct metaid in "new" FOLLOWERs (PRO only)

* MooseFS 2.0.33-1 (2014-08-18)

  - (cs,supervisor) more reliable network code in supervisor module (PRO only)
  - (cs,master) added check for metaid in chunkservers (also hard drives) and secondary masters

* MooseFS 2.0.32-1 (2014-08-13)

  - (cs) changed delay handling method (delayed file close,free crc block etc.)
  - (mount) fixed truncate loop (fixed bug intr. in 2.0.26)

* MooseFS 2.0.31-1 (2014-08-12)

  - (cs) fixed bug: write data error not causing exit from write loop - sometimes could lead to segfault.
  - (master) fixed setting data cache drop bit.
  - (cli) fixed printed options for mfssupervisor

* MooseFS 2.0.30-1 (2014-07-09)

  - (daemons) added writing pid to lockfile
  - (all) added freebsd port-maker

* MooseFS 2.0.29-1 (2014-07-03)

  - (cs) moved fsync to background (improved write performance)

* MooseFS 2.0.28-1 (2014-06-30)

  - (master) fixed syslog message about metaloggers in masters (PRO only)

* MooseFS 2.0.27-1 (2014-06-27)

  - (tools) added to mfsfileinfo checksum digest and file signature calculation

* MooseFS 2.0.26-1 (2014-06-26)

  - (cs) fixed bug in replicator
  - (mount) fixed truncate loop
  - (mount) fixed potential descriptor leak
  - (master) fixed bug with duplicated chunkserver id

* MooseFS 2.0.25-1 (2014-06-23)

  - (mount) better handling error counters
  - (master) fixed replication status handling

* MooseFS 2.0.24-1 (2014-06-23)

  - (master) added unfinished replications detection
  - (master) added source ip and port in replication status message
  - (cs) fixed handling job buffers
  - (daemons) added ignoring profiling signals

* MooseFS 2.0.23-1 (2014-06-18)

  - (mount) changed chunkserver choosing algorithm
  - (master) added checks for busy/operation mismatch
  - (master) added checks for busy status during duplicate/duplicate+truncate operations
  - (cs) added ignoring 'marked for removal' disks in internal rebalance

* MooseFS 2.0.22-1 (2014-06-17)

  - (master) add chunks to priority queues after chunk damage, chunk lost and set goal

* MooseFS 2.0.21-1 (2014-06-17)

  - (supervisor+cstool) fixed version shown
  - (supervisor) fixed 'DEAD' master recognition routine
  - (master) fixed segfault introduced in 2.0.20

* MooseFS 2.0.20-1 (2014-06-16)

  - (cs) fixed handling unfinished jobs on socket timeout
  - (master) fixed missing chunks CHUNKDEL LEADER/FOLLOWER race condition (PRO only)
  - (master) postpone write to undergoal chunks during registration process (wait for all cs)
  - (master) undergoal replications have higher priority than write chunk
  - (all) added check for EINTR status after poll in sockets module

* MooseFS 2.0.19-1 (2014-06-13)

  - (master+cs) added support for 'get version' packet
  - (all) fixed licence text in source files

* MooseFS 2.0.18-1 (2014-06-12)

  - (cs) fixed bandwidth charts

* MooseFS 2.0.17-1 (2014-06-12)

  - (daemons) added 'info' handler (for future use)
  - (master) changed median to arithmetic mean in 'new chunk' algorithm

* MooseFS 2.0.16-1 (2014-06-11)

  - (master+cs) added 'maxentries' to chart data packet
  - (master) improved median usage calculations

* MooseFS 2.0.15-1 (2014-06-10)

  - (master) fixed floating replication limits

* MooseFS 2.0.14-1 (2014-06-10)

  - (master) replication limits can be defined as floating point numbers
  - (master+cgi+cli) changed store status (background,download and foreground)
  - (master+cgi+cli) changed option "canchangequota" to "admin"
  - (master) added rename/unlink "metadata.mfs" in case of using '-a' option
  - (master+cgi+cli) last save duration changed from seconds to milliseconds

* MooseFS 2.0.13-1 (2014-06-09)

  - (master) added separate replication limits for different cases
  - (cs) deleting already deleted chunk returns status ok.

* MooseFS 2.0.12-1 (2014-06-06)

  - (mount) changed readworker behaviour in case of having no data to read
  - (master) added block version check during metadata read
  - (metadump) added support for newest metadata format
  - (cs) changed format of reported ip in replicator module

* MooseFS 2.0.11-1 (2014-06-03)

  - (cgi) fixed missing master condition
  - (netdump) new binary - mfsnetdump
  - (cs) new binary - mfschunktool
  - (master+cgi+cli) added maintenance mode to chunkservers
  - (cli) fixed cs-commands bug

* MooseFS 2.0.10-1 (2014-06-02)

  - (cgi) added colors for versions
  - (master) fixed dirinfo counters update on write in FOLLOWER (PRO only)

* MooseFS 2.0.9-1 (2014-05-30)

  - (all) fixed compatibility with very old compilers
  - (cgi) added avg line and tooltips to '%used' bars

* MooseFS 2.0.8-1 (2014-05-29)

  - (master) even better replication priority algorithm

* MooseFS 2.0.7-1 (2014-05-28)

  - (master) improved replication priority algorithm

* MooseFS 2.0.6-1 (2014-05-27)

  - (master) added replication priority "pseudomissing->endangered->undergoal->rebalance"
  - (master) added option for setting metadata download frequency (PRO only)

* MooseFS 2.0.5-1 (2014-05-26)

  - (master) fixed finding best metadata file (-a option)
  - (cs) fixed infinite loop condition in sockets module

* MooseFS 2.0.4-1 (2014-05-22)

  - (master+mount) fixed "chunk lost" condition during cs registration
  - (mount) fixed support for "tail -f"
  - (master) fixed xattr snapshot bug (attr name length not copied)

* MooseFS 2.0.3-1 (2014-05-20)

  - (master) autorepair chunk version for standard scenarios
  - (master) fixed dealing with chunks that doesn't exist in metadata
  - (master) fixed status returned by CHUNKADD/CHUNKDEL
  - (all) faster endian conversions

* MooseFS 2.0.2-1 (2014-05-15)

  - (mount) turn on posix-ACL's by default
  - (mount) add release number to version reporting (in df -i)

* MooseFS 2.0.1-1 (2014-05-14)

  - (master) download meta file from FOLLOWERs
  - (master) added "get paths" and "get parents" commands
  - (master) added ability to send directories in parts
  - (master) keep network connections alive during long operations
  - (all) keep CL-CS and CS-CS connections alive between operations
  - (mount) fixed race-condition in read module
  - (mount) fixed local buffer lock in 'oplog'
  - (cs) fixed race condition in resolver
  - (mount) fixed truncate in read module
  - (master) fixed new chunk/delete chunk constants
  - (master+mount) implementing full support for posix-ACL's
  - (master+mount+tools) move permission checking from kernel to master

* MooseFS 1.7.31 (2014-04-01)

  - (cs) fixed choosing disk algorithm
  - (cs) removed (some) unimportant syslog messages
  - (cs) tuning glibc malloc arenas
  - (cs) fixed protocol autonegotiation
  - (cs) fixed CS-CS and CS-CL communication charts

* MooseFS 1.7.30 (2014-03-26)

  - (cs) fixed compatibility with mfs 1.6
  - (mount) fixed "no xattr" bit bug (intr. in 1.7.25)

* MooseFS 1.7.29 (2014-03-26)

  - (cs) fixed descriptor leak (intr. in 1.7.25)

* MooseFS 1.7.28 (2014-03-11)

  - (all) fixed thread creation routine (introduced in 1.7.24)

* MooseFS 1.7.27 (2014-03-11)

  - (cs) added memory chart
  - (master+cs) added virtual memory usage to memory charts
  - (cs) fixed race condition in charts (introduced in 1.7.25)
  - (cgi+cli) fixed cs charts

* MooseFS 1.7.26 (2014-03-05)

  - (master+mount) create file using one command

* MooseFS 1.7.25 (2014-02-27)

  - (all) fixed another bug in new network module (introduced in 1.7.21 and 1.7.22)
  - (cs) new I/O model
  - (master) added xattr flag
  - (master) added copying xattrs during snapshot (cp-like version)
  - (master) changed metadata version handling
  - (master) changed node structure (RAM and HDD)
  - (master+cs) added chunkserver id (identifying cs in master)
  - (master+cs) new registration algorithm (vers. 6)
  - (master+mount) "no xattr" bit in file attr

* MooseFS 1.7.24 (2014-02-19)

  - (mount) fixed xattr cache bug
  - (master) fixed ENOSPC condition after switching
  - (cgi+cli) fixed sortkeys for hdd write bandwidth
  - (master) turn off internal supervisor if there are connections from external supervisor
  - (cs) added common routine for thread creation

* MooseFS 1.7.23 (2014-02-06)

  - (master) bug fix version (bugs introduced in 1.7.21 and 1.7.22)

* MooseFS 1.7.22 (2014-02-05)

  - (master) fixed cs disconnection (make master responsive during disconnection)

* MooseFS 1.7.21 (2014-02-05)

  - (master) fixed master<->chunkserver network module (make master responsive during chunk registration)

* MooseFS 1.7.20 (2014-02-03)

  - (mount) added negative lookup cache

* MooseFS 1.7.19 (2014-01-30)

  - (mount) added xattr cache

* MooseFS 1.7.18 (2014-01-29)

  - (mount) setting FUSE capabilities (improved efficiency)
  - (cs) fixed disk choosing algorithm

* MooseFS 1.7.17 (2014-01-28)

  - (cs) fixed mutex double-lock error (introduced in 1.7.14)
  - (master) improved calculation of init hash size

* MooseFS 1.7.16 (2014-01-22)

  - (master+cgi+cli) memory usage detailed report
  - (master+cs+ml) fixed starvation scenario in network modules

* MooseFS 1.7.15 (2014-01-15)

  - (master+cs) new charts prepared for mfs 2.0
  - (cs) options for transferring data between disks

* MooseFS 1.7.14 (2014-01-08)

  - (master) added simple supervisor (allow start masters without manual supervisor)
  - (cs) fixed internal rebalance algorithm
  - (cgi+cli) new class for mfs communication
  - (cgi+cli) introduced PRO/CE version (for forthcoming mfs 2.0)

* MooseFS 1.7.13 (2013-12-12)

  - (cs) added rebalance utilization limit option
  - (cs) added error tolerance options

* MooseFS 1.7.12 (2013-12-11)

  - (master) fixed metadata synchronization bug (HUP detected to early)
  - (master) fixed metadata synchronization bug (settrashtime,setgoal,seteattr)
  - (master+cs) changed cs/disk choosing algorithm (random->rr and using only servers/disks close to median)
  - (cs) added rebalancing of disks usage

* MooseFS 1.7.11 (2013-11-22)

  - (mount) fixed read/write bug (status EAGAIN on read/write caused EIO)
  - (cli) added user defined separator
  - (cgi+cli) display licence data

* MooseFS 1.7.10 (2013-11-21)

  - (master) added licences for version PRO
  - (mount) fixed very rare race condition (fuse context)

* MooseFS 1.7.9 (2013-11-12)

  - (master) fixed chunk deletions during chunkserver disconnection
  - (daemons) fixed 'stop' status (ok when daemon is already stopped)
  - (daemons) added 'try-restart' action
  - (all) fixed status returned from socket operations
  - (mount) add ignoring SIGPIPE
  - (all) improved crc32 calculation (1.7 times faster)

* MooseFS 1.7.8 (2013-11-05)

  - (master) new 'open files' module (also fixed some bugs)
  - (master) better management of chunks deletion in master
  - (master) fixed bug (adding chunkservers by ELECT)
  - (cgi+cli) added displaying disconnected sessions
  - (master+cgi+cli) added option to remove disconnected sessions

* MooseFS 1.7.7 (2013-10-22)

  - (master+cs) added ability to change LEADER on demand
  - (mount) fixed couple of small bugs in new "read data" module
  - (supervisor) fixed connecting bugs
  - (master) added progress info during metadata restoring
  - (master) fixed net timeouts (fixing time after long operations)
  - (mount) fixed connection problems when one master is dead

* MooseFS 1.7.6 (2013-09-20)

  - (master) improved chunk hashmap

* MooseFS 1.7.5 (2013-09-12)

  - (master) fixed network timeouts for data transfer
  - (master) changed hashmaps
  - (cgi) BUSY state detection (mainly during data transfer)

* MooseFS 1.7.4 (2013-08-14)

  - (mount) read procedures have been rewritten (with read ahead support)
  - (mount) read+write dynamic number of workers
  - (cs) dynamic number of workers
  - (cs) fixed segfault condition during closing application
  - (master) improved memory allocation
  - (master) improved hashmaps
  - (master) fixed bug (sending changelogs to desynchronized FOLLOWERs)
  - (master) fixed bug (cs added to metadata in desynchronized FOLLOWERs)
  - (master) improved sending old changelogs (sending in groups)

* MooseFS 1.7.3 (2013-07-30)

  - (man) automatically set release date and version
  - (cgiserv) fixed lock-file issue (early truncate - introduced in 1.7.1)
  - (master+mount) when chunk is definitely lost then do not wait for it in clients
  - (cs) reduced amount of space reports to master (inspired by Davies Liu)
  - (mount) improved write efficiency (inspired by Davies Liu)
  - (master) fixed 'rename/mv' bug in metarestore
  - (master) fixed csdb cleanup bug
  - (master) added SYNC/DESYNC to state description in syslog
  - (supervisor) improved connecting to masters

* MooseFS 1.7.2 (2013-07-12)

  - (cgi+cli) fixed recognition of using wrong DNS name
  - (cgi+cli) fixed commands bug in cli mode
  - (cgi+cli) added inputs for master host name and ports
  - (all) fixed distclean (automake strange behavior)

* MooseFS 1.7.1 (2013-07-11)

  - (cgi+cli) simple support for master-ha
  - (cgi+cli) fixed path bug introduced in 1.7.0
  - (all) added default-mastername and default-portbase options to configure script
  - (mount) fixed reconnecting to ELECT
  - (cgiserv) fixed pidfile bug

* MooseFS 1.7.0 (2013-07-05)

  - (cgi+cli) mfs.cgi can be used also in CLI mode (for monitoring scripts etc.)
  - (dist) CGI permissions fix in RPM packaging
  - (dist) preliminary systemd support inspired by Arch Linux
  - (master+tools) added building files from particular chunks (manual file recovery)
  - (cs) join master tasks queue and client tasks queue into one tasks queue.
  - (cgi+cli) added chunkserver 'load' charts.
  - (cgi+cli) added 'load' column in chunkservers table
  - (master+cs) simple chunkserver overload detection
  - (master) 'grace' state for chunkservers - after overload detection given chunkserver is in 'grace' state for some time - new chunks are not created on that server in this state
  - (cgi+cli+master) turn off 'grace' state
  - (master) in 'noowner' i-nodes mode copy 'owner' bits to 'group' and 'other' bits
  - (common) increase time events frequency
  - (master) increase frequency of chunk-loop task (1 per second to 50 per seconds)
  - (mount) fixed invalidate open-dir dentry cache
  - (master) fixed sustaining old sessions by clients who can't properly register
  - (cs) improved efficiency (removed lock in network thread)
  - (master) fixed chunkserver disconnection handling (remove server data form chunks 'in background')
  - (master) changed directory size (from GB to 'floating point' numbers, size nxxxxyy = xxxx.yy * 2^(10*n), f.e. 2053189 = 531.89MB)
  - (master+tools) added mfssnapshot option (cp-like mode) - set files ownership to user who makes snapshot.
  - (cgi+cli) python scripts where made Python 3 compatible
  - (all) added support for quota (per directory)
  - (all) added support for xattr's (without special ACL treatment)
  - (master) fixed dirinfo calculation bug (symbolic link snapshots)
  - (all) added support for high availability
  - (master) added meterestore option (mfsmetarestore is now included in mfsmaster)

* MooseFS 1.6.27 (2012-08-09)

  - (metarestore) fixed bug - freeing filenames memory too early
  - (all) added initial support for extra attributes (xattr), which will be introduced in upcoming version 1.7
  - (master+metalogger) better change log synchronization (storage in master memory and sending expected version in metalogger - inspired by Davies Liu)
  - (master) acceptable difference of percent of hdd usage added to configuration (up to this version this parameter was constantly set to 0.01% - patch contributed by Davies Liu)
  - (master) added emergency store metadata to some other places on errors during standard hourly store (inspired by Davies Liu)
  - (cs) default space to be left (256MB) moved to config file (inspired by Davies Liu)
  - (cs) added extra limits in mfshdd.cfg (minimum space to be left, maximum space to be used)
  - (cs) fixed charts overflow issue (overflow in net transfer on about 575Mbps and hdd transfer on about 77MBps)
  - (metalogger) fixed issue: file variable was not clear after close (on rare occasions might cause segfault after disconnecting from master)
  - (all) cfg files moved form PREFIX/etc/ to PREFIX/etc/mfs/
  - (cgiserv) improved CGI handle (added support for custom http responses, such as "302 Found")
  - (master+cgi) showing disconnected chunkservers in "Servers" tab.
  - (deb+rpm) mfscgiserv moved from mfscgi to separate package, changes in init scripts
  - (mount) added option 'mfsdelayedinit' - for being run from fstab/init scripts
  - (master) optimised goal management in chunks
  - (master) fixed rare race-condition on clear/preserve cache during open in mount
  - (mount) fixed compiling problems on Mac OS X
  - (all) changed code to be more compatible with new gcc 4.7 (gcc 4.7 has too strong optimizations - it can generate unpredictable code)
  - (master) sustain session time could be defined in mfsmaster.cfg

* MooseFS 1.6.26 (2012-02-01)

  - (all) fixed signal handling in multithreaded modules
  - (master) added goal and trashtime limits to mfsexport.cfg
  - (metalogger) added simple check for downloaded metadata file (inspired by Davies Liu)
  - (master) better handle disk full (inspired by Davies Liu)
  - (master+metalogger) added keeping previous copies of metadata (inspired by Davies Liu)
  - (all) reload all settings on "reload" (SIGHUP)
  - (cs) disk scanning in background
  - (cs) fixed long termination issue (found by Davies Liu)
  - (master) fixed modify/open cache race

* MooseFS 1.6.25 (2011-12-30)

  - (metadump) fixed dumping big files (>2TiB)
  - (metarestore) fixed bug: non-existing changelog file caused segv
  - (master+mount) added 'sugidclearmode' and 'mkdircopysgid' compatibility options
  - (master) improved chunk deletion algorithm (soft/hard limits per server)
  - (all) ready for new metadata file format, which will be introduced in upcoming version 1.7
  - (all) ready for quota handling, which will be introduced in upcoming version 1.7

* MooseFS 1.6.24 (2011-12-06)

  - (master+mount) proxy in mount for mfstools (fixes problems with frequent connect to master)

* MooseFS 1.6.23 (2011-11-08)

  - (master+mount) removed directory cache (didn't increase performance as expected and caused many troubles)
  - (metarestore) added option (-i) - ignore some structure inconsistencies
  - (metarestore) added option (-b) - in case of errors save the best metadata file
  - (mount) more dynamic write cache management (changed condition ib<tb/5 to ib<3*fb where: ib - inode blocks in cache, tb - total blocks in cache, fb - free block in cache)
  - (master) save metadata file to alternative locations in case of error
  - (all) increased file length limit from 2TiB to 128PiB
  - (cgiserv) fixed directory traversal vulnerability
  - (cgiserv) added lockfile/pidfile and actions such as 'start', 'stop', 'restart' and 'test'.
  - (mount) fixed parsing file with defaults

* MooseFS 1.6.22 (2011-05-09)

  - (mount) added resolving master hostname whenever connection has failed
  - (cs) removed getting attributes of every chunk during initialisation - speeds up starting of chunkserver
  - (cs) changed calculating of total/used space. Superuser space now is subtracted from total space instead of adding it to used space
  - (master+mount) fixed directory cache.
  - (debian) rewritten init scripts to use mfscommon commands (start/stop/restart/reload) instead of start-stop-daemon (where stop caused killing all instances of daemon)
  - (debian) changed init scripts to bail out early if MFS*_ENABLE is not true (i.e. given daemon is not scripts-controlled)

* MooseFS 1.6.21 (2011-04-14)

  - (mount) added support of default config file (mfsmount.cfg)
  - (metarestore) fixed snapshot bug
  - (metarestore) improved tolerance for damaged changelog files
  - (master,mount) added full directory (with attributes) cache on client (mfsmount) side
  - (mount) added symlink cache on client (mfsmount) side
  - (mount) added hidden files '.oplog' and '.ophistory' with detailed info about current/historical operations performed by mfsmount
  - (master) added simple net topology support
  - (all) added -D_POSIX_PTHREAD_SEMANTICS to CFLAGS - needed by Solaris-like OSes
  - (cs) fixed detection of 'damaged disk' condition
  - (mount) fixed error caused segfaults during umount on certain conditions
  - (daemon) added 'test' command - checks if process is running and returns its PID

* MooseFS 1.6.20 (2011-01-14)

  - (cs) fixed "packet too big" issue during register to master (split big register packet with all chunks info into small packets)
  - (cs,metalogger,master) added minimum socket timeout (ten seconds)
  - (mount) accepting nop packets during write (for future use)

* MooseFS 1.6.19 (2010-12-15)

  - (debian) separated mfs-common and mfs-metalogger subpackages, added init scripts (contributed by Christopher Lewis)
  - (daemon) fixed return values (return non zero on error)
  - (cs) fixed chunk testing bug (any error during chunk opening caused assigning whole disk as damaged)
  - (cs,metalogger) added resolving master name when connection failed (patch contributed by Davies Liu)
  - (mount) added creating new session when previous is lost (inspired by Davies Liu)
  - (cs) added for unused chunks week delay before deletion (inspired by Davies Liu)
  - (cgi) added switching between name and IP in 'path' column in 'Disks' table (inspired by Davies Liu)
  - (master) do not update ctime when goal, trashtime or extra attributes are not changing

* MooseFS 1.6.18 (2010-11-08)

  - (metalogger) added sending metadata after metalogger startup
  - (master,metalogger) added sending two change logs together with metadata
  - (metarestore) improved merging change logs
  - (all) added a lot of assertions (mainly NULL pointers, and unsuccessful thread functions)
  - (all) fixed some minor bugs and potential race conditions (makes valgrind happy)
  - (cs) added ability to use read-only disks in "marked for removal" mode (to retrieve missing chunks from damaged disks)
  - (cs) added showing scanning progress during startup
  - (all/master) added releasing used resources at the end
  - (all) changed some malloc/free allocations into mmap/munmap
  - (all) new error messages routines
  - (daemons) added proper handling SIGINT in "foreground" mode
  - (cgiserv) fixed small bug (malformed request could crash cgiserv)

* MooseFS 1.6.17 (2010-07-20)

  - (master,tools) added automatic data cache management
  - (master,tools) new flag "nodatacache"

* MooseFS 1.6.16 (2010-07-19)

  - (master) added clearing suid/sgid bits
  - (master) added check for "sticky" flag during rename and unlink operations
  - (master) fixed posix compatibility (removing empty directory on rename)
  - (master) fixed posix compatibility (proper changing ctime)
  - (master) fixed some constants (better support for larger systems - with millions of files and chunks)
  - (master) fixed error logging (logging is turning off when there are too many messages)
  - (all) fixed some OpenSolaris compile issues (mainly added -D__EXTENSIONS__ to compile flags)
  - (all) fixed OpenSolaris pthreads issue (errno doesn't work correctly without proper compiler flags)
  - (man) added mfscgiserv man page, added "BIND" options descriptions to man pages
  - (cs) fixed hdd stats (overflow on negative time difference)

* MooseFS 1.6.15 (2010-04-09)

  - (daemons) fixed "double free" error
  - (metarestore) fixed bugs in "REPAIR" and "SNAPSHOT" entries
  - (master) fixed bug in "snapshot" command ("mfsmakesnapshot dir dir/" caused master to hung-up)
  - (master) preserving atime and mtime during "snapshot" operation (makes "snapshot" to work more like "cp -Rp" than "cp -R")
  - (cs) omit "marked for removal" disks during chunk test loop

* MooseFS 1.6.14 (2010-03-19)

  - (all) improved messages
  - (cs) prevent from using localhost as a master IP address
  - (all) remove some BSD-specific code
  - (metalogger) added BIND_HOST option (as in mount and cs)

* MooseFS 1.6.13 (2010-02-08)

  - (master) fixed poll events bug
  - (autotools) added m4 module for posix threads detection
  - (master) added exporting "meta" to default mfsexports.cfg
  - (master,tools) removed "allowdatacache" flag (will be managed automatically in the future)
  - (master,cs) added support for not compressed PNG images in chart module (when build without zlib)

* MooseFS 1.6.12 (2010-01-25)

  - (mount) fixed locking in read module
  - (mount,cs) added ability to bind outgoing sockets to specific IP

* MooseFS 1.6.11 (2009-12-31)

  - (cs) removed dirent.d_type test
  - (cs) fixed some memory leaks
  - (mount) improved attribute cache

* MooseFS 1.6.10 (2009-12-09)

  - fixed errors introduced in 1.6.9
  - added 'reload' command to master
  - split chunk counters into 'all' and 'regular' (new approach to disks removal - since this version chunks on 'marked for removal' disks are not deleted)

* MooseFS 1.6.9 (2009-11-24)

  - updated manpages
  - added support for mlockall (prevent from swapping)
  - redesigned charts module
  - redesigned locking mechanism (daemons)
  - added HDD I/O stats
  - removing unfinished jobs from queue on socket close
  - added 'cache file' flag

* MooseFS 1.6.8 (2009-10-26)

  - added options to set nice level and number of I/O retries in mfsmount

* MooseFS 1.6.7 (2009-10-05)

  - fixed error: damaged disk caused SIGSEGV in mfschunkserver

* MooseFS 1.6.6 (2009-10-02)

  - fixed errors introduced in 1.6.5
  - changed directory structure in CS (from 16 subfolders to 256 subfolders)

* MooseFS 1.6.5 (2009-09-23)

  - fixed some performance issues
  - added new module "mfsmetalogger"

* MooseFS 1.6.4 (2009-08-25)

  - rewrite mfs to use poll instead of select
  - fixed some errors in new write module
  - limit cache usage by inode in write module

* MooseFS 1.6.3 (2009-08-24)

  - reduced version increasing
  - increased open files limit in chunkserver
  - decreased time window in damage disk detection

* MooseFS 1.6.2 (2009-08-19)

  - fixed "race" in writedata module
  - increased session timeout in mfsmaster for new sessions

* MooseFS 1.6.1 (2009-08-14)

  - Added 'mapall' option to exports
  - Added flags 'noattrcache' and 'noentrycache'
  - Rewritten "Writedata" module in mfsmount
  - Added source (read) limit to replications
  - Prefer localhost during some operations (reduce network usage)

* MooseFS 1.6.0 (2009-07-01)

  - (all) Removed duplicate source files.
  - (all) Strip whitespace at the end of configuration file lines.
  - (cs) Rewritten in multi-threaded model.
  - (cs) Added periodical chunk testing functionality (HDD_TEST_FREQ option).
  - (cs) New -v option (prints version and exits).
  - (master) Added "noowner" objects flag (causes objects to belong to current user).
  - (master) Maintaining `mfsdirinfo` data online, so it doesn't need to be calculated on every request.
  - (master) Filesystem access authorization system (NFS-like mfsexports.cfg file, REJECT_OLD_CLIENTS option) with ro/rw, password and maproot functionality.
  - (master) New -v option (prints version and exits).
  - (mount) Rewritten options parsing in mount-like way, making possible to use standard FUSE mount utilities (see mfsmount(8) manual for new syntax). Note: old syntax is no longer accepted and mountpoint is mandatory now (there is no default).
  - (mount) Updated for FUSE 2.6+.
  - (mount) Added password, file data cache, attribute cache and entry cache options. By default attribute cache and directory entry cache are enabled, file data cache and file entry cache are disabled.
  - (mount) opendir() no longer reads directory contents - it's done on first readdir() now; fixes "rm -r" on recent Linux/glibc/coreutils combo.
  - (mount) Fixed mtime setting just before close() (by flushing file on mtime change); fixes mtime preserving on "cp -p".
  - (mount) Added statistics accessible through MFSROOT/.stats pseudo-file.
  - (mount) Changed master access method for mfstools (direct .master pseudo-file replaced by .masterinfo redirection); fixes possible mfstools race condition and allows to use mfstools on read-only filesystem.
  - (tools) Units cleanup in values display (exact values, IEC-60027/binary prefixes, SI/decimal prefixes); new options: -n, -h, -H and MFSHRFORMAT environment variable - refer to mfstools(8) manual for details).
  - (tools) mfsrgetgoal, mfsrsetgoal, mfsrgettrashtime, mfsrsettrashtime have been deprecated in favour of new "-r" option for mfsgetgoal, mfssetgoal, mfsgettrashtime, mfssettrashtime tools.
  - (tools) mfssnapshot utility replaced by mfsappendchunks (direct descendant of old utility) and mfsmakesnapshot (which creates "real" recursive snapshots and behaves similar to "cp -r").
  - (tools) New mfsfilerepair utility, which allows partial recovery of file with some missing or broken chunks.
  - (cgi) First public version of CGI scripts allowing to monitor MFS installation from WWW browser.

* MooseFS 1.5.12 (2009-01-28)

  - Fixed CRC cache in chunkserver

* MooseFS 1.5.11 (2008-12-18)

  - Added CRC-block and file descriptor cache in chunkserver.
  - Removed compilation warnings on 64-bit machines.
  - Optimized chunkserver choice in mfsmount.
  - Better replication algorithm.

* MooseFS 1.5.10 (2008-12-03)

  - Fixed replication algorithm.

* MooseFS 1.5.9 (2008-11-19)

  - Improved rebalancing algorithm.
  - Protections against overriding metadata.mfs.back by older metadata.mfs.
  - Fixes to build mfstools, mfsmaster and mfsmetarestore with Large File Support on Linux (previously only mfsmount had LFS enabled).
  - Less verbose logging in mfsmaster.
  - Log chunkserver disconnections in mfsmaster.

* MooseFS 1.5.8 (2008-08-26)

  - Better memory allocation in Master's chunks module.
  - Syslog messages used only for debugging purposes were commented out.

* MooseFS 1.5.7 (2008-08-01)

  - Fix for stack buffer overrun (by 4 bytes) in mfsmount.

* MooseFS 1.5.6 (2008-07-25)

  - Memory allocation fix in mfsmaster.

* MooseFS 1.5.5 (2008-07-10)

  - Mounting options fix for FreeBSD in mfsmount.

* MooseFS 1.5.4 (2008-07-08)

  - Blocking rebalance replications when undergoal chunks exist.
  - Minor bugfixes.
  - Build system improvements.
  - MooseFS and mfsmount version numbers synchronized.

* MooseFS 1.5 (2008-05-30)

  - First version released as Open Source.
