Feature #11022
closedOffload Data Transfer (ODX) support
100%
Description
Recent Windows clients (and the MS Hyper-V server) will optionally use special I/O control (ioctl) calls over SMB for "Offload Data Transfer" (ODX). These ioctls basically perform server-side copying etc. at the request of an SMB client.
The new ioctl codes are:
FSCTL_SET_ZERO_DATA
FSCTL_OFFLOAD_READ
FSCTL_OFFLOAD_WRITE
defined in [MS-FSCC]. For more info:
http://technet.microsoft.com/en-us/library/hh831628.aspx
Steps to Reproduce:
Enable SMB 3.0
Start a network capture of SMB traffic (port 445)
Connect using a Windows 2012r2 or later client
In explorer, select a large file (i.e. ISO image) and "Ctrl-C" (copy)
Do "Ctrl-V" (paste) and observe the copy time.
Expected Results:
Copy should be nearly instantaneous.
Examination of network capture should reveal
SMB2 ioctl FSCTL_OFFLOAD_READ / ...WRITE
Actual Results:
Before this fix, all data goes to client and back.
Updated by Gordon Ross over 4 years ago
- Subject changed from Offload Data Transfer (ODX) support for Hyper-V to Offload Data Transfer (ODX) support
Updated by Gordon Ross over 4 years ago
- Description updated (diff)
- Status changed from New to In Progress
Tested per the description
Fix in production since late 2016
Updated by Electric Monk about 4 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
git commit 8d499c80c8e6e058669db8815577bc1d4dca9af0
commit 8d499c80c8e6e058669db8815577bc1d4dca9af0 Author: Gordon Ross <gwr@nexenta.com> Date: 2019-07-06T02:37:20.000Z 11022 Offload Data Transfer (ODX) support Reviewed by: Evan Layton <evan.layton@nexenta.com> Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com> Reviewed by: Matt Barden <matt.barden@nexenta.com> Reviewed by: Albert Lee <alee@racktopsystems.com> Approved by: Garrett D'Amore <garrett@damore.org>