linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Douglas Gilbert <dgilbert@interlog.com>
To: "Nicholas A. Bellinger" <nab@daterainc.com>
Cc: target-devel <target-devel@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	linux-scsi <linux-scsi@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>, Hannes Reinecke <hare@suse.de>,
	Martin Petersen <martin.petersen@oracle.com>,
	Chris Mason <chris.mason@fusionio.com>,
	Roland Dreier <roland@purestorage.com>,
	Zach Brown <zab@redhat.com>, Kent Overstreet <kmo@daterainc.com>,
	Theodore Tso <tytso@mit.edu>,
	James Bottomley <JBottomley@Parallels.com>,
	Nicholas Bellinger <nab@linux-iscsi.org>
Subject: Re: [PATCH 0/9] target: Add support for EXTENDED_COPY (VAAI) offload emulation
Date: Fri, 23 Aug 2013 13:04:23 +0200	[thread overview]
Message-ID: <521741B7.9020904@interlog.com> (raw)
In-Reply-To: <1377224821-23422-1-git-send-email-nab@daterainc.com>

On 13-08-23 04:26 AM, Nicholas A. Bellinger wrote:
> From: Nicholas Bellinger <nab@daterainc.com>
>
> 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

  parent reply	other threads:[~2013-08-23 11:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-23  2:26 [PATCH 0/9] target: Add support for EXTENDED_COPY (VAAI) offload emulation Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 1/9] target: Make target_core_subsystem defined as non static Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 2/9] target: Make spc_parse_naa_6h_vendor_specific " Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 3/9] target: Make helpers non static for EXTENDED_COPY command setup Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 4/9] target: Add global device list for EXTENDED_COPY Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 5/9] target: Avoid non-existent tg_pt_gp_mem in target_alua_state_check Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 6/9] target: Add support for EXTENDED_COPY copy offload emulation Nicholas A. Bellinger
2013-08-23  2:26 ` [PATCH 7/9] target: Enable EXTENDED_COPY setup in spc_parse_cdb Nicholas A. Bellinger
2013-08-23  2:27 ` [PATCH 8/9] target: Add Third Party Copy (3PC) bit in INQUIRY response Nicholas A. Bellinger
2013-08-23  2:27 ` [PATCH 9/9] target: Enable global EXTENDED_COPY setup/release Nicholas A. Bellinger
2013-08-23 11:04 ` Douglas Gilbert [this message]
2013-08-23 12:33   ` [PATCH 0/9] target: Add support for EXTENDED_COPY (VAAI) offload emulation Martin K. Petersen
2013-08-23 13:13     ` Douglas Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=521741B7.9020904@interlog.com \
    --to=dgilbert@interlog.com \
    --cc=JBottomley@Parallels.com \
    --cc=chris.mason@fusionio.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=kmo@daterainc.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=nab@daterainc.com \
    --cc=nab@linux-iscsi.org \
    --cc=roland@purestorage.com \
    --cc=target-devel@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=zab@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).