Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755502Ab3HWLFe (ORCPT ); Fri, 23 Aug 2013 07:05:34 -0400 Received: from smtp.infotech.no ([82.134.31.41]:50551 "EHLO smtp.infotech.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755354Ab3HWLFc (ORCPT ); Fri, 23 Aug 2013 07:05:32 -0400 Message-ID: <521741B7.9020904@interlog.com> Date: Fri, 23 Aug 2013 13:04:23 +0200 From: Douglas Gilbert Reply-To: dgilbert@interlog.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 MIME-Version: 1.0 To: "Nicholas A. Bellinger" CC: target-devel , lkml , linux-scsi , Christoph Hellwig , Hannes Reinecke , Martin Petersen , Chris Mason , Roland Dreier , Zach Brown , Kent Overstreet , Theodore Tso , James Bottomley , Nicholas Bellinger Subject: Re: [PATCH 0/9] target: Add support for EXTENDED_COPY (VAAI) offload emulation References: <1377224821-23422-1-git-send-email-nab@daterainc.com> In-Reply-To: <1377224821-23422-1-git-send-email-nab@daterainc.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2049 Lines: 55 On 13-08-23 04:26 AM, Nicholas A. Bellinger wrote: > From: Nicholas Bellinger > > Hi folks! > > This series adds support to target-core for generic EXTENDED_COPY offload > emulation as defined by SPC-4 using virtual (IBLOCK, FILEIO, RAMDISK) > backends. > > EXTENDED_COPY is a VMWare ESX VAAI primative that is used to perform copy > offload, that allows a target to perform local READ + WRITE I/O requests > for bulk data transfers (cloning a virtual machine for example), instead > of requiring these I/Os to actually be sent to/from the requesting SCSI > initiator port. Recently I have been looking at EXTENDED COPY since T10 has been working on it. The SCSI opcodes associated with it (0x83 and 0x84) have been renamed THIRD PARTY COPY OUT and IN, and each have several service actions. The Extended copy found in SPC-2 and SPC-3 is now termed as "LID1" (for List Identifier length of 1 byte) while the new stuff is termed "LID4" in SPC-4. The "LID4" variants are "ROD" token based. A ROD (Representation Of Data) token is 512 bytes long. sg_xcopy (written by Hannes Reinecke and found in the sg3_utils package) only supports LID1 but that covers most of the existing hardware including kit that supports VMWare ESX VAAI. As defined by T10 both EXTENDED COPY (LID1) and (LID4) do copies between disks, tapes and memory (all combinations (e.g. disk->tape) (but maybe not memory to memory). There is a stripped down version of EXTENDED COPY(LID4) that was called XCOPY LITE at one stage that only does disk to disk copies (based on a ROD token). That is the basis of Microsoft's Offload Data Transfer (ODX). It uses commands defined in SBC-3 (e.g. POPULATE TOKEN and WRITE USING TOKEN). Confused? I certainly was. Feel free to correct and clarify the above. Doug Gilbert -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/