{
    "mode": "man",
    "parameter": "sg_copy_results",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/sg_copy_results/8/json",
    "generated": "2026-06-17T13:39:39Z",
    "synopsis": "sgcopyresults   [--failed|--params|--receive|--status]   [--help]   [--hex]  [--listid=ID]\n[--readonly] [--verbose] [--version] [--xferlen=BTL] DEVICE",
    "sections": {
        "NAME": {
            "content": "sgcopyresults - send SCSI RECEIVE COPY RESULTS command (XCOPY related)\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "sgcopyresults   [--failed|--params|--receive|--status]   [--help]   [--hex]  [--listid=ID]\n[--readonly] [--verbose] [--version] [--xferlen=BTL] DEVICE\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This utility is designed to query the status of the SCSI Extended Copy (XCOPY) facility  (see\nSPC-3 revision 23 sections 6.3 and 6.17), present in some modern storage arrays. This utility\nsends a SCSI RECEIVE COPY RESULTS command to the given DEVICE and displays the response.\n\nDuring the draft stages of SPC-4 the T10 committee has expanded the XCOPY command so that  it\nnow  has two variants: \"LID1\" (for a List Identifier length of 1 byte) and \"LID4\" (for a List\nIdentifier length of 4 bytes).  This utility supports the older, LID1 variant which  is  also\nfound in SPC-3 and earlier. While the LID1 variant in SPC-4 is command level (binary) compat‐\nible with XCOPY as defined in SPC-3, some of the command naming  has  changed.  This  utility\nuses the older, SPC-3 XCOPY names.\n\nThe command has four distinct modes of operation, distinguished by the service action field:\n",
            "subsections": [
                {
                    "name": "COPY STATUS  [SPC-4: RECEIVE COPY STATUS(LID1)]",
                    "content": "Displays  the  current  status  of the EXTENDED COPY command identified by the list id\nfield.\n"
                },
                {
                    "name": "RECEIVE DATA  [SPC-4: RECEIVE COPY DATA(LID1)]",
                    "content": "Return the held data read by the EXTENDED COPY  command  identified  by  the  list  id\nfield.  This  option  is only meaningful if the respective segment descriptor are sup‐\nported.\n"
                },
                {
                    "name": "OPERATING PARAMETERS  [SPC-4: RECEIVE COPY OPERATING PARAMETERS]",
                    "content": "Return copy manager operating parameters. This option is also useful to  determine  if\nthe SCSI Extended Copy facility is supported.\n"
                },
                {
                    "name": "FAILED SEGMENT DETAILS  [SPC-4: RECEIVE COPY FAILURE DETAILS(LID1)]",
                    "content": "Return copy target device sense data and other information about any failed segments.\n\n"
                }
            ]
        },
        "OPTIONS": {
            "content": "Arguments to long options are mandatory for short options as well.\n",
            "subsections": [
                {
                    "name": "-f --failed",
                    "content": "sets the service action field to FAILED SEGMENT DETAILS [4].\n",
                    "flag": "-f",
                    "long": "--failed"
                },
                {
                    "name": "-h --help",
                    "content": "output the usage message then exit.\n",
                    "flag": "-h",
                    "long": "--help"
                },
                {
                    "name": "-H --hex",
                    "content": "prints out the response buffer in hex.\n",
                    "flag": "-H",
                    "long": "--hex"
                },
                {
                    "name": "-l --list",
                    "content": "sets the list identifier field to ID (default: 0).\n",
                    "flag": "-l",
                    "long": "--list"
                },
                {
                    "name": "-p --params",
                    "content": "sets the service action field to OPERATING PARAMETERS [3].  This is the default.\n",
                    "flag": "-p",
                    "long": "--params"
                },
                {
                    "name": "-R --readonly",
                    "content": "open  the  DEVICE  read-only (e.g. in Unix with the ORDONLY flag).  The default is to\nopen it read-write.\n",
                    "flag": "-R",
                    "long": "--readonly"
                },
                {
                    "name": "-r --receive",
                    "content": "sets the service action field to RECEIVE DATA [1].\n",
                    "flag": "-r",
                    "long": "--receive"
                },
                {
                    "name": "-s --status",
                    "content": "sets the service action field to COPY STATUS [0].\n",
                    "flag": "-s",
                    "long": "--status"
                },
                {
                    "name": "-v --verbose",
                    "content": "increase the level of verbosity, (i.e. debug output).\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "-V --version",
                    "content": "print the version string and then exit.\n",
                    "flag": "-V",
                    "long": "--version"
                },
                {
                    "name": "-x --xfer",
                    "content": "sets the allocation length field to BTL. It is the byte transfer  length  and  is  the\nmaximum (byte) size of the response. BTL must be less than 10000 and defaults to 520.\n",
                    "flag": "-x",
                    "long": "--xfer"
                }
            ]
        },
        "NOTES": {
            "content": "Decoding of RECEIVE DATA service action is not implemented.\n\nIn a similar way the functionality of sgxcopy has been ported to the more general ddpt util‐\nity (and package), the functionality of this utility has been ported to the ddptctl utility.\n",
            "subsections": []
        },
        "EXAMPLES": {
            "content": "Query the operating parameters for a device:\n\n# sgcopyresults -p /dev/sdo\nReceive copy results (report operating parameters):\nSupports no list identifier: no\nMaximum target descriptor count: 2\nMaximum segment descriptor count: 1\nMaximum descriptor list length: 92 bytes\nMaximum segment length: 33553920 bytes\nInline data not supported\nHeld data limit: 0 bytes\nMaximum stream device transfer size: 0 bytes\nTotal concurrent copies: 0\nMaximum concurrent copies: 255\nData segment granularity: 512 bytes\nInline data granularity: 1 bytes\nHeld data granularity: 1 bytes\nImplemented descriptor list:\nSegment descriptor 0x02: Copy from block device to block device\nTarget descriptor 0xe4: Identification descriptor\n\n",
            "subsections": []
        },
        "EXIT STATUS": {
            "content": "The exit status of sgcopyresults is 0 when it is successful. Otherwise see the sg3utils(8)\nman page.\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "Written by Douglas Gilbert.\n",
            "subsections": []
        },
        "REPORTING BUGS": {
            "content": "Report bugs to <dgilbert at interlog dot com>.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright © 2012-2014 Hannes Reinecke and Douglas Gilbert\nThis software is distributed under a FreeBSD license. There is NO warranty; not even for MER‐\nCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "sgxcopy(sg3utils), ddpt,ddptctl(ddpt)\n\n\n\nsg3utils-1.40                             September 2014                         SGCOPYRESULTS(8)",
            "subsections": []
        }
    },
    "summary": "sgcopyresults - send SCSI RECEIVE COPY RESULTS command (XCOPY related)",
    "flags": [
        {
            "flag": "-f",
            "long": "--failed",
            "arg": null,
            "description": "sets the service action field to FAILED SEGMENT DETAILS [4]."
        },
        {
            "flag": "-h",
            "long": "--help",
            "arg": null,
            "description": "output the usage message then exit."
        },
        {
            "flag": "-H",
            "long": "--hex",
            "arg": null,
            "description": "prints out the response buffer in hex."
        },
        {
            "flag": "-l",
            "long": "--list",
            "arg": null,
            "description": "sets the list identifier field to ID (default: 0)."
        },
        {
            "flag": "-p",
            "long": "--params",
            "arg": null,
            "description": "sets the service action field to OPERATING PARAMETERS [3]. This is the default."
        },
        {
            "flag": "-R",
            "long": "--readonly",
            "arg": null,
            "description": "open the DEVICE read-only (e.g. in Unix with the ORDONLY flag). The default is to open it read-write."
        },
        {
            "flag": "-r",
            "long": "--receive",
            "arg": null,
            "description": "sets the service action field to RECEIVE DATA [1]."
        },
        {
            "flag": "-s",
            "long": "--status",
            "arg": null,
            "description": "sets the service action field to COPY STATUS [0]."
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "increase the level of verbosity, (i.e. debug output)."
        },
        {
            "flag": "-V",
            "long": "--version",
            "arg": null,
            "description": "print the version string and then exit."
        },
        {
            "flag": "-x",
            "long": "--xfer",
            "arg": null,
            "description": "sets the allocation length field to BTL. It is the byte transfer length and is the maximum (byte) size of the response. BTL must be less than 10000 and defaults to 520."
        }
    ],
    "examples": [
        "Query the operating parameters for a device:",
        "# sgcopyresults -p /dev/sdo",
        "Receive copy results (report operating parameters):",
        "Supports no list identifier: no",
        "Maximum target descriptor count: 2",
        "Maximum segment descriptor count: 1",
        "Maximum descriptor list length: 92 bytes",
        "Maximum segment length: 33553920 bytes",
        "Inline data not supported",
        "Held data limit: 0 bytes",
        "Maximum stream device transfer size: 0 bytes",
        "Total concurrent copies: 0",
        "Maximum concurrent copies: 255",
        "Data segment granularity: 512 bytes",
        "Inline data granularity: 1 bytes",
        "Held data granularity: 1 bytes",
        "Implemented descriptor list:",
        "Segment descriptor 0x02: Copy from block device to block device",
        "Target descriptor 0xe4: Identification descriptor"
    ],
    "see_also": [
        {
            "name": "sgxcopy",
            "section": "sg3utils",
            "url": "https://www.chedong.com/phpMan.php/man/sgxcopy/sg3utils/json"
        },
        {
            "name": "ddptctl",
            "section": "ddpt",
            "url": "https://www.chedong.com/phpMan.php/man/ddptctl/ddpt/json"
        }
    ]
}