Какие файловые системы поддерживают сращивание через Linux splice (2)?

на man-страница для splice системный вызов говорит, что splice может произойти сбой и установить errno to EINVAL Если:

целевая файловая система не поддерживает сращивание; ни один из дескрипторов не относится к трубе; или смещение, заданное для неискомого устройства

какие файловые системы поддерживает сращивание?

2 ответов


мой первоначальный ответ был частично неверным, это серьезная перепись.

Linux 2.6.30.10 и ниже

в Linux 2.6.30.10 и старше, splice возвращает EINVAL когда исходная или целевая файловая система не поддерживает сплайсинга. Вот файловые системы, которые поддерживают сплайсинга:

  • в режиме чтения: ADF-файлы, affs, АФС, БФС, в Btrfs, коды, ecryptfs, exofs, в ext2, и ext3, что ext4, жира, предохранитель, ОПО, а JFFS2, спи, миникс, НФС, nilfs2, в NTFS, ocfs2, omfs, перегородка qnx4, в ReiserFS, пакеты smbfs, с SysV, ubifs по, ОДС, УФС.
  • в режиме записи: exofs, в ext2, и ext3, что ext4, спи, ocfs2, с ReiserFS, ubifs по.

сведения об. Поддержка для соединять внутри определенный в do_splice_to() функция в случае" файл в трубу " и в do_splice_from()


Accordding к этой, в ext3 не. Кажется, что вам может не повезти с любой файловой системой FUSE.