SMB copy between two shares drops after initial burst – TrueNAS 25.10.2.1 Goldeye / Samba 4.22.6

Hi all,

System info:

  • TrueNAS Community Edition 25.10.2.1 – Goldeye
  • Samba 4.22.6-truenas
  • Windows 11 client
  • 2.5 GbE connection on both client and server

Issue:
When copying large files (e.g. 32–38 GB MKV files) between two SMB shares on the same TrueNAS server from a Windows 11 client, transfer speed starts at ~1 GB/s then drops to ~100–200 MB/s after a few seconds.

Both shares reside on the same ZFS pool (hdd):

  • Source: \Truenas\jdownloader_dl → /mnt/hdd/appmedia/jdownloader_dl
  • Destination: \Truenas\media → /mnt/hdd/media

VFS objects currently set on both shares:
vfs objects = streams_xattr shadow_copy_zfs ixnas zfs_core io_uring

What I understand so far:
From the TrueNAS documentation I can see that Samba server-side copy only works within the same share, not between two different shares. The initial burst is likely the Windows SMB write cache being flushed, after which real network throughput kicks in.

What changed:
I recall cross-share transfers being significantly faster on TrueNAS 24.x (Electric Eel). I am not sure if something in the SMB stack, the ixnas VFS module, or io_uring handling changed between 24.x and 25.x Goldeye that affects throughput.

Question:

  1. Is there any supported way in TrueNAS 25.10 to achieve faster cross-share copies from Windows without resorting to SSH/CLI?
  2. Has anything changed in the SMB/VFS stack between 24.x and 25.x that would explain the performance difference?
  3. Is the ixnas VFS module still handling copy offloading, or was that behaviour changed in Goldeye?

Expected sustained throughput on 2.5 GbE would be ~280 MB/s – getting ~100–200 MB/s sustained after the initial cache burst.

Thanks in advance.

Update: Root cause found.

The slow copy speed is caused by the media subfolders (movies, tv-shows, etc.) being
plain directories inside the hdd/media dataset rather than individual ZFS datasets.
Since jdownloader_dl is a separate dataset, ZFS cannot perform Copy-on-Write across
the dataset boundary — resulting in a full data copy at HDD speed (~180-200 MB/s)
instead of an instant CoW clone.

Fix: Converting the subfolders into proper ZFS datasets.

1 Like