f0444a1ca9 
								
							
								 
							
						 
						
							
							
								
								Add support for 'direct-io-allow-mmap' if supported by kernel  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								17fdbf7f42 
								
							
								 
							
						 
						
							
							
								
								Update fuse_kernel.h  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6aa6452d3e 
								
							
								 
							
						 
						
							
							
								
								Add flushonclose feature  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								fd33df04a3 
								
							
								 
							
						 
						
							
							
								
								Update wyhash to 4.2  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								569537df9e 
								
							
								 
							
						 
						
							
							
								
								Remove use of pthread_getname_np to work with older musl versions  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								620cab2948 
								
							
								 
							
						 
						
							
							
								
								Rework thread pool queue depth impl  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								766b923116 
								
							
								 
							
						 
						
							
							
								
								Fix thread pool destruction where threads don't explicitly exit themselves  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6dcf6111af 
								
							
								 
							
						 
						
							
							
								
								Add callbacks for newer functions  
							
							
 
							
							
							* setupmapping
* removemapping
* syncfs
* tmpfile 
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								51d97bb444 
								
							
								 
							
						 
						
							
							
								
								Move fuse thread args out of fuse session object  
							
							
								
 
							
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5ab0fbcaee 
								
							
								 
							
						 
						
							
							
								
								Add manual GC triggering + configurable process queue depth  
							
							
 
							
							
							Yes, these are unrelated changes but somehow ended up being
prototyped together and I'm too lazy to separate them. 
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6a14a10e6c 
								
							
								 
							
						 
						
							
							
								
								Fix read/write behavior and return value depending on direct_io  
							
							
 
							
							
							Also add parallel direct write option for 6.2+ kernels. 
							
						 
						2 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								373d331f39 
								
							
								 
							
						 
						
							
							
								
								Rework fuse read to use same buffers as messages  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								84592a9f13 
								
							
								 
							
						 
						
							
							
								
								Remove splicing features  
							
							
 
							
							
							After numerous tests it was found the splice features were at best
the same performance as standard IO and at worse actually slower.
To simplify the code all splice features are removed. 
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								34310170ac 
								
							
								 
							
						 
						
							
							
								
								Add ability to pin read and processing threads  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a4491169b0 
								
							
								 
							
						 
						
							
							
								
								Remove FUSE_USE_VERSION, no longer used  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								24423b8d2a 
								
							
								 
							
						 
						
							
							
								
								Add async message processing  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d14427ad9e 
								
							
								 
							
						 
						
							
							
								
								Fix reading of setxattr name  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								7606430188 
								
							
								 
							
						 
						
							
							
								
								Remove libfuse abstraction in prep for adding request data  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								dba9c4451a 
								
							
								 
							
						 
						
							
							
								
								Remove write_buf, simplify FUSE msg dispatching  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								9d056d609f 
								
							
								 
							
						 
						
							
							
								
								Remove unnecessary libfuse abstractions  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								316abba0ac 
								
							
								 
							
						 
						
							
							
								
								Update fuse_kernel.h  
							
							
								
 
							
							
						 
						3 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								18dead4d86 
								
							
								 
							
						 
						
							
							
								
								Add new debug printing routines  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5f737cb7bf 
								
							
								 
							
						 
						
							
							
								
								Add option to log node memory usage metrics  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								930dad31de 
								
							
								 
							
						 
						
							
							
								
								Reduce struct node size  
							
							
 
							
							
							* Replace the stat values with a crc32b of them instead (for auto-cache)
* Replace char flag with bitfield
* Remove node generation. nodeid is an unsigned 64bit int. Would take 500K+ years
  to rollover at 1M nodes per second. 
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4ea0de3ef2 
								
							
								 
							
						 
						
							
							
								
								Rework dirents buffer management  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								6b5c484fbf 
								
							
								 
							
						 
						
							
							
								
								Major rework of memory allocation using fixed mem pools  
							
							
								
 
							
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								43a6d66e3c 
								
							
								 
							
						 
						
							
							
								
								Major cleanup of libfuse to remove unneeded features  
							
							
 
							
							
							* Remove request interrupt code. Required tracking of all requests unnecesssarily.
* Remove all debugging printing. Have plans to do full replacement.
* Remove deprecated functions.
* Remove unneeded error checking.
* Remove "userdata" which was unused.
* Remove allow_root feature. 
							
						 
						4 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								8adebc9489 
								
							
								 
							
						 
						
							
							
								
								new features: follow-symlinks, rename-exdev, link-exdev  
							
							
 
							
							
							* follow-symlinks: allows mergerfs to transparently follow symlinks
* link-exdev: in the event a link returns EXDEV create a symlink instead
* rename-exdev: in the event a rename returns EXDEV move the oldpath and
  create a symlink for the newpath 
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								1b26f4908e 
								
							
								 
							
						 
						
							
							
								
								general cleanup, slight memory reduction  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								a925fbe59c 
								
							
								 
							
						 
						
							
							
								
								libfuse cleanup: extern cplusplus cleanup  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								dc1b698847 
								
							
								 
							
						 
						
							
							
								
								libfuse cleanup: remove single threaded  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3c761b708b 
								
							
								 
							
						 
						
							
							
								
								libfuse cleanup: remove libfuse API compatibility  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								3bfdd78434 
								
							
								 
							
						 
						
							
							
								
								libfuse cleanup: remove cuse  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								f9b831eb1a 
								
							
								 
							
						 
						
							
							
								
								libfuse cleanup: reindent  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								5989d41a86 
								
							
								 
							
						 
						
							
							
								
								readdir: use getdents64 for compatibility with ARM64  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c4a85f5fad 
								
							
								 
							
						 
						
							
							
								
								readdir: add dirent index array  
							
							
 
							
							
							This removes the risk of corrupted data being sent back to the kernel
should it use the offset from one opendir-readdir in another. In this case
it would at most skip dirents.
According to the standards the offset is only valid when used within
the opendir -> releasedir but NFS uses offsets across independent
calls. 
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								c0990644e8 
								
							
								 
							
						 
						
							
							
								
								remove unnecessary libfuse flags nopath, nullpath_ok, and utime_omit_ok  
							
							
								
 
							
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								dbdd3e22fc 
								
							
								 
							
						 
						
							
							
								
								additional readdir refactor cleanup  
							
							
 
							
							
							Differences between readdir and getdents is minimal at best. Leaving code
for now to allow for possible expansion later. 
							
						 
						5 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								54c41c4994 
								
							
								 
							
						 
						
							
							
								
								rework config management  
							
							
 
							
							
							* Add standard way to do str2val and val2str conversion
* Add support for a config file
* Add support for reading and writing settings via ioctl 
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								698c4147fc 
								
							
								 
							
						 
						
							
							
								
								fix getdent name length calculation  
							
							
								
 
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								62873d2d3b 
								
							
								 
							
						 
						
							
							
								
								use getdents64 on linux  
							
							
								
 
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								d119807adb 
								
							
								 
							
						 
						
							
							
								
								restructure readdir, add readdir_plus  
							
							
 
							
							
							Does not enable READDIR_AUTO. Might add in the future. 
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								bf4b39065b 
								
							
								 
							
						 
						
							
							
								
								update fuse_kernel.h  
							
							
								
 
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								4b9f3de814 
								
							
								 
							
						 
						
							
							
								
								add ctime support  
							
							
								
 
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								903d39f968 
								
							
								 
							
						 
						
							
							
								
								add writeback caching  
							
							
								
 
							
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								08e1bef5a9 
								
							
								 
							
						 
						
							
							
								
								improve nodeid generation  
							
							
 
							
							
							* Change fuse_ino_t to uint64_t
* Change id generation to 64bit
* Randomize generation value (should help with NFS) 
							
						 
						6 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								7cbd88ac81 
								
							
								 
							
						 
						
							
							
								
								allow setting of 'max_pages' (via 'fuse_msg_size')  
							
							
 
							
							
							Linux 4.20 and above allow setting the number of pages per FUSE message
upto 256 (4K * 256 = 1MiB). This can greatly increase read and write
speeds depending on the workload. 
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								8cb7195c3e 
								
							
								 
							
						 
						
							
							
								
								add copy_file_range support  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								529a953e30 
								
							
								 
							
						 
						
							
							
								
								add file caching across opens and runtime control  
							
							
								
 
							
							
						 
						7 years ago  
				
					
						
							
							
								 
						
							
							
							
								
							
								ddf6a2f105 
								
							
								 
							
						 
						
							
							
								
								make async_read optional again  
							
							
								
 
							
							
						 
						7 years ago