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
 |