Project

General

Profile

Feature #11022

Offload Data Transfer (ODX) support

Added by Gordon Ross 8 days ago. Updated 3 days ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
-
Start date:
2019-05-15
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

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.

History

#1

Updated by Gordon Ross 8 days ago

  • Subject changed from Offload Data Transfer (ODX) support for Hyper-V to Offload Data Transfer (ODX) support
#2

Updated by Gordon Ross 3 days ago

  • Description updated (diff)
  • Status changed from New to In Progress

Tested per the description
Fix in production since late 2016

Also available in: Atom PDF