В справочной странице для системного вызова splice указано, что splice может выйти из строя и установить errno на EINVAL, если:
Целевая файловая система не поддерживает сращивание; ни один из дескрипторов не относится к трубе; или смещение, заданное для устройства, не подлежащего поиску.
Какие файловые системы поддерживают сращивание?