Project

General

Profile

Feature #11022

Offload Data Transfer (ODX) support

Added by Gordon Ross 3 months ago. Updated about 2 months ago.

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

100%

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 3 months ago

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

Updated by Gordon Ross 3 months ago

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

Tested per the description
Fix in production since late 2016

#3

Updated by Electric Monk about 2 months 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>

Also available in: Atom PDF