# passthrough In [Linux 6.9](https://kernelnewbies.org/Linux_6.9#Faster_FUSE_I.2FO) 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](passthrough.md) 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](moveonenospc.md): 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](readahead.md): 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](fuse_msg_size.md): 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: