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.
 
 
 
 

1.7 KiB

passthrough

In Linux 6.9 a feature was added the ability to do IO "passthrough." Typically mergerfs has to act as an active proxy for all read/write requests. This results in, at times, significant overhead compared to direct interaction with the underlying filesystems. Not because mergerfs is doing anything particularly slow but because the additional communication and data transfers required. With the passthrough feature mergerfs is able to instruct the kernel to perform reads and writes directly on the underlying file. Bypassing mergerfs entirely (for specifically reads and writes) and thereby providing near native performance.

This performance does come at the cost of some functionality as mergerfs no longer has control over reads and writes which means all features related to read/write are affected.

  • moveonenospc: Does not work because errors are not reported back to mergerfs.
  • nullrw: Since mergerfs no longer receives read/write requests there is no read or write to ignore.
  • readahead: Still affects the readahead values of underlying filesystems and mergerfs itself but no longer relevant to mergerfs in that it isn't servicing IO requests.
  • fuse_msg_size: The primary reason to increase the FUSE message size is to allow transfering more data per request which helps improve read and write performance. Without read/write requests being sent to mergerfs there is little reason to have larger message sizes since directory reading currently has smaller fixed buffer requirements.
  • parallel-direct-writes:
  • cache.files: