Method: FFI::Libfuse::FuseOperations#copy_file_range

Defined in:
lib/ffi/libfuse/fuse_operations.rb

#copy_file_range(path_in, fi_in, offset_in, path_out, fi_out, offset_out, size, flags) ⇒ Integer

This method is abstract.

Copy a range of data from one file to another

Performs an optimized copy between two file descriptors without the additional cost of transferring data through the FUSE kernel module to user space (glibc) and then back into the FUSE filesystem again.

In case this method is not implemented, glibc falls back to reading data from the source and writing to the destination. Effectively doing an inefficient copy of the data.

Parameters:

  • path_in (String)
  • fi_in (FuseFileInfo)
  • offset_in (Integer)
  • path_out (String)
  • fi_out (FuseFileInfo)
  • offset_out (Integer)
  • size (Integer)
  • flags (Array<Symbol>)

    (unused)

Returns:

  • (Integer)

    copied size or -ve errno



# File 'lib/ffi/libfuse/fuse_operations.rb', line 862