La copia del lado del servidor para Linux no funciona

La copia del lado del servidor para Linux no funciona

Tengo un dispositivo Linux integrado en NAS que tiene Samba4 instalado y ejecutándose. He configurado un recurso compartido de samba y estoy intentando realizar una copia del lado del servidor dentro de ese recurso compartido de samba desde un cliente. Esto es lo que estoy intentando hacer: https://wiki.samba.org/index.php/Server-Side_Copy

  1. Lo probé por primera vez en Windows7. Primero monto ese recurso compartido de samba desde mi computadora portátil WIN7 y uso el comando robocopy para copiar un archivo grande entre dos directorios dentro de ese recurso compartido. Y puedo ver que funciona. Robocpoy es muy rápido para copiar un archivo grande. Y también analizo el tráfico de la red usando Wirehark. Tiene algo como: Ioctl req FSCTL_SRV_COPYCHUNK_WRITE Archivo:... y Ioctl resp FSCTL_SRV_COPYCHUNK_WRITE Archivo:...

  2. Luego probé ubuntu15. Estoy bastante seguro de que el kernel de Linux de ubuntu15 es compatible con CIFS_IOC_COPYCHUNK_FILE ioctl. Monto ese recurso compartido usando: mount.cifs //[host_ip]/[share_name] [mount_path] -o vers=2.1,username=root. Estoy bastante seguro de que debe tener vers=2.1 porque para usar la copia del lado del servidor debe usar el protocolo SMB2. Y nuevamente basado enhttps://wiki.samba.org/index.php/Server-Side_Copy, dice "cloner" hace esta función. La función clave aquí es llamar: "ioctl(dst_fd, CIFS_IOC_COPYCHUNK_FILE, src_fd)". Así que descargué y compilé "cloner" y ejecuté este comando, pero no funciona. Básicamente, el comando clonador tarda una eternidad y nunca se detiene (kill -9 incluso no funciona). También utilizo monitores Wirehark del tráfico de red. Lo que veo es: está enviando la misma solicitud que Windows 7, que es Ioctl req FSCTL_SRV_COPYCHUNK_WRITE Archivo:..., pero aparece un error que dice: respuesta Ioctl, Error: status_invalid_device_request

¿Por qué el clonador en Linux no funciona, pero el robocopia en Win7 sí? ¿Por qué aparece el error: status_invalid_device_request? ¿Qué falta en el clonador? Si falta algo aquí o hay un error, ¿cómo solucionarlo? ¿Existe alguna herramienta o código de copia del lado del servidor del lado del cliente que pueda usar?

información relacionada