mirror of https://github.com/trapexit/mergerfs.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							303 lines
						
					
					
						
							7.5 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							303 lines
						
					
					
						
							7.5 KiB
						
					
					
				
								What is new in 2.9
							 | 
						|
								
							 | 
						|
								 - Add "zero copy" support for kernel 2.6.35 or newer
							 | 
						|
								
							 | 
						|
								 - Make maximum background requests tunable on kernel 2.6.32 or newer
							 | 
						|
								
							 | 
						|
								 - Require --no-canonicalize in (u)mount (util-linux version 2.18 or
							 | 
						|
								   newer) to fix security problems with fusermount
							 | 
						|
								
							 | 
						|
								 - Use dynamically sized hash tables in high level library
							 | 
						|
								
							 | 
						|
								 - Memory use of filesystem daemon can shrink more easily
							 | 
						|
								
							 | 
						|
								 - Add "auto_unmount" option
							 | 
						|
								
							 | 
						|
								 - Add "remember" option
							 | 
						|
								
							 | 
						|
								 - Add man pages for fusermount, mount.fuse and ulockmgr_server
							 | 
						|
								
							 | 
						|
								 - API changes:
							 | 
						|
								
							 | 
						|
								    o Introduce "store" and "retrieve" for accessing kernel buffers on
							 | 
						|
								      kernel 2.6.36 or newer
							 | 
						|
								
							 | 
						|
								    o Introduce abstract buffer for zero copy operations
							 | 
						|
								
							 | 
						|
								    o Allow path calculation to be omitted on certain operations
							 | 
						|
								
							 | 
						|
								    o Allow batching forget requests
							 | 
						|
								
							 | 
						|
								    o Add "flock" method
							 | 
						|
								
							 | 
						|
								    o Add support for ioctl on directories
							 | 
						|
								
							 | 
						|
								    o Add delete notification
							 | 
						|
								
							 | 
						|
								    o Add fallocate operation (linux kernel 3.5 or newer)
							 | 
						|
								
							 | 
						|
								 - Bug fixes and small improvements
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.8
							 | 
						|
								
							 | 
						|
								 - More scalable directory tree locking
							 | 
						|
								
							 | 
						|
								 - Atomic open(O_TRUNC) support
							 | 
						|
								
							 | 
						|
								 - Support big write requests on kernels 2.6.26 and newer
							 | 
						|
								
							 | 
						|
								 - Out-of-tree fuse module removed
							 | 
						|
								
							 | 
						|
								 - Better NFS exporting support
							 | 
						|
								
							 | 
						|
								 - New ioctl and poll requests
							 | 
						|
								
							 | 
						|
								 - New CUSE (Character Device in Userspace) interface
							 | 
						|
								
							 | 
						|
								 - Allow umask processing in userspace
							 | 
						|
								
							 | 
						|
								 - Added cache invalidation notifications
							 | 
						|
								
							 | 
						|
								 - Bugfixes and small improvements
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.7
							 | 
						|
								
							 | 
						|
								 - Stacking support for the high level API
							 | 
						|
								
							 | 
						|
								 - Add filename charset conversion module
							 | 
						|
								
							 | 
						|
								 - Improved mounting
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.6
							 | 
						|
								
							 | 
						|
								 - Improved read characteristics (asynchronous reads)
							 | 
						|
								
							 | 
						|
								 - Support for aborting filesystem connection
							 | 
						|
								
							 | 
						|
								 - POSIX file locking support
							 | 
						|
								
							 | 
						|
								 - Request interruption support
							 | 
						|
								
							 | 
						|
								 - Building module for Linux kernels earlier than 2.6.9 not supported
							 | 
						|
								
							 | 
						|
								 - Allow block device based filesystems to support swap files
							 | 
						|
								
							 | 
						|
								 - Several bugs fixed, including a rare system hang on SMP
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.5
							 | 
						|
								
							 | 
						|
								 - Merge library part of FreeBSD port
							 | 
						|
								
							 | 
						|
								 - New atomic create+open, access and ftruncate operations
							 | 
						|
								
							 | 
						|
								 - On filesystems implementing the new create+open operation, and
							 | 
						|
								   running on Linux kernels 2.6.15 or later, the 'cp' operation will
							 | 
						|
								   work correctly when copying read-only files.
							 | 
						|
								
							 | 
						|
								 - New option parsing interface added to the library
							 | 
						|
								
							 | 
						|
								 - Lots of minor improvements and fixes
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.4
							 | 
						|
								
							 | 
						|
								 - Simplify device opening.  Now '/dev/fuse' is a requirement
							 | 
						|
								
							 | 
						|
								 - Allow module auto-loading if user has access to '/dev/fuse'
							 | 
						|
								
							 | 
						|
								 - Allow mounting over a regular file for unprivileged users
							 | 
						|
								
							 | 
						|
								 - Allow mounting of arbitrary FUSE filesystems from /etc/fstab
							 | 
						|
								
							 | 
						|
								 - New mount options: 'umask=M', 'uid=N', 'gid=N'
							 | 
						|
								
							 | 
						|
								 - Check for non-empty mountpoint, and refuse mount by default.  New
							 | 
						|
								   mount option: 'nonempty'
							 | 
						|
								
							 | 
						|
								 - Low level (inode based) API added
							 | 
						|
								
							 | 
						|
								 - Allow 'direct_io' and 'keep_cache' options to be set on a
							 | 
						|
								   case-by-case basis on open.
							 | 
						|
								
							 | 
						|
								 - Add 'attr_timeout' and 'entry_timeout' mount options to the
							 | 
						|
								   high-level library.  Until now these timeouts were fixed at 1 sec.
							 | 
						|
								
							 | 
						|
								 - Some bugfixes
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.3
							 | 
						|
								
							 | 
						|
								 - Add new directory related operations: opendir(), readdir(),
							 | 
						|
								   releasedir() and fsyncdir()
							 | 
						|
								
							 | 
						|
								 - Add init() and destroy() operations which are called before the
							 | 
						|
								   event loop is started and after it has exited
							 | 
						|
								
							 | 
						|
								 - Update kernel ABI so that on dual architectures (e.g. AMD64) 32bit
							 | 
						|
								   binaries work under a 64bit kernel
							 | 
						|
								
							 | 
						|
								 - Bugfixes
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.2
							 | 
						|
								
							 | 
						|
								Userspace changes:
							 | 
						|
								
							 | 
						|
								 - Add fuse_file_info structure to file operations, this allows the
							 | 
						|
								   filesystem to return a file handle in open() which is passed to
							 | 
						|
								   read(), write(), flush(), fsync() and release().
							 | 
						|
								
							 | 
						|
								 - Add source compatibility with 2.1 and 1.4 releases
							 | 
						|
								
							 | 
						|
								 - Binary compatibility with 2.1 release is retained
							 | 
						|
								
							 | 
						|
								Kernel changes:
							 | 
						|
								
							 | 
						|
								 - Make requests interruptible.  This prevents the filesystem to go
							 | 
						|
								   into an unbreakable deadlock with itself.
							 | 
						|
								
							 | 
						|
								 - Make readpages() synchronous.  Asynchronous requests are deadlock
							 | 
						|
								   prone, since they cannot be interrupted (see above)
							 | 
						|
								
							 | 
						|
								 - Remove shared-writeable mapping support, which could deadlock the
							 | 
						|
								   machine
							 | 
						|
								
							 | 
						|
								 - Remove INVALIDATE userspace initiated request
							 | 
						|
								
							 | 
						|
								 - Update ABI to be independent of sizeof(long), so dual-size archs
							 | 
						|
								   don't cause problems
							 | 
						|
								
							 | 
						|
								 - Remove /sys/fs/fuse/version.  Version checking is now done through
							 | 
						|
								   the fuse device
							 | 
						|
								
							 | 
						|
								 - Replace directory reading method on the kernel interface.  Instead
							 | 
						|
								   of passing an open file descriptor to the kernel, send data through
							 | 
						|
								   the FUSE device, like all other operations.
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 2.1
							 | 
						|
								
							 | 
						|
								* Bug fixes
							 | 
						|
								
							 | 
						|
								* Improved support for filesystems implementing a custom event-loop
							 | 
						|
								
							 | 
						|
								* Add 'pkg-config' support
							 | 
						|
								
							 | 
						|
								* Kernel module can be compiled separately
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 1.9
							 | 
						|
								
							 | 
						|
								* Lots of bugs fixed
							 | 
						|
								
							 | 
						|
								* Minor modifications to the library API
							 | 
						|
								
							 | 
						|
								* Improvements to the kernel/userspace interface
							 | 
						|
								
							 | 
						|
								* Mounting by non-root made more secure
							 | 
						|
								
							 | 
						|
								* Build shared library in addition to the static one
							 | 
						|
								
							 | 
						|
								* Consolidated mount options
							 | 
						|
								
							 | 
						|
								* Optimized reading under 2.6 kernels
							 | 
						|
								
							 | 
						|
								* Direct I/O support
							 | 
						|
								
							 | 
						|
								* Support file I/O on deleted files
							 | 
						|
								
							 | 
						|
								* Extended attributes support
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 1.3
							 | 
						|
								
							 | 
						|
								* Thanks to user bugreports and stress testing with LTP and sfx-linux
							 | 
						|
								a number of bugs were fixed, some quite serious.
							 | 
						|
								
							 | 
						|
								* Fix compile problems with recent SuSE kernles
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 1.2
							 | 
						|
								
							 | 
						|
								* Fix mount problems on recent 2.6 kernels with SELinux enabled
							 | 
						|
								
							 | 
						|
								* Fixed writing files lager than 2GBytes
							 | 
						|
								
							 | 
						|
								* Other bugfixes
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 1.1
							 | 
						|
								
							 | 
						|
								* Support for the 2.6 kernels
							 | 
						|
								
							 | 
						|
								* Support for exporting filesystem over NFS in 2.6 kernels
							 | 
						|
								
							 | 
						|
								* Read efficiency improvements: read in 64k blocks instead of 4k
							 | 
						|
								(Michael Grigoriev).  Can be turned on with '-l' option of fusermount
							 | 
						|
								
							 | 
						|
								* Lazy automatic unmount
							 | 
						|
								
							 | 
						|
								* Added 'fsync()' VFS call to the FUSE interface
							 | 
						|
								
							 | 
						|
								* Bugfixes
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 1.0
							 | 
						|
								
							 | 
						|
								* Cleanups and bugfixes
							 | 
						|
								
							 | 
						|
								* Added 'release()' VFS call to the FUSE interface
							 | 
						|
								
							 | 
						|
								* 64 bit file offsets (handling of > 4 GByte files)
							 | 
						|
								
							 | 
						|
								* libfuse is now under LGPL
							 | 
						|
								
							 | 
						|
								* New 'statfs' call (Mark Glines)
							 | 
						|
								
							 | 
						|
								* Cleaned up mount procedure (mostly by Mark Glines)
							 | 
						|
								
							 | 
						|
								  NOTE: Binaries linked with with a previous version of libavfs may
							 | 
						|
								  not work with the new version of the fusermount program.  In such
							 | 
						|
								  case recompile the program after installing the new libavfs library.
							 | 
						|
								
							 | 
						|
								* Fix for problems under linux kernel 2.4.19
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 0.95
							 | 
						|
								
							 | 
						|
								* Optimized read/write operations.  Raw throughput has increased to
							 | 
						|
								about 60Mbyte/s on a Celeron/360
							 | 
						|
								
							 | 
						|
								* Python bindings by Jeff Epler
							 | 
						|
								
							 | 
						|
								* Perl bindings by Mark Glines
							 | 
						|
								
							 | 
						|
								* Improved multithreaded operation
							 | 
						|
								
							 | 
						|
								* Simplified library interface
							 | 
						|
								
							 | 
						|
								* Bugfixes
							 | 
						|
								
							 | 
						|
								============================================================================
							 | 
						|
								
							 | 
						|
								What is new in 0.9:
							 | 
						|
								
							 | 
						|
								* Everything
							 |