## Name

tgtimg — Linux SCSI Target Framework Image File Utility

## Synopsis

`tgtimg` [-o --op <operation>] [-Y --device-type <device-type>] [-b --barcode <barcode>] [-s --size <size>] [-t --type <media-type>] [-f --file <path>] [-T --thin-provisioning]

`tgtimg --help`

## DESCRIPTION

Tgtimg is a utility to create and manage the image files used by the TGTD device emulation.

This command is used to initialize device image files with the additional metadata, such as barcode, list of blocks, total size, etc that the TGTD emulation needs.

## OPTIONS

    Supported device types are :
        cd   : to create media for a dvd device
        disk : to create media for a disk device
        tape : to create media for a tape device

    Supported media types for cd devices are :
        dvd+r : create a blank writeable DVD+R disk

    Supported media types for disk devices are :
        disk  : create an empty disk

    Supported media types for tape devices are :
        data  : create a normal data tape
        clean : create a cleaning tape
        worm  : create a worm

`-h, --help`

  Show a help screen and exit.

`-o, --op {new|show}`

  Operation. Is either new to create a new image file or show to show the content of an existing image file.

`-Y, --device-type <type>`

  This specifies the type of image file.

`-t, --type <media-type>`

  When creating a new image, this specifies the type of media to emulate. The available mediatypes depend on the type of the device.

`-b, --barcode <barcode>`

  When creating a new image, this argument specifies the barcode to use with this image file. Backup application software often uses barcodes to identify specific tapes. When emulating a VTL, make sure that all tape images use unique barcodes.

`-s, --size <size>`

  When creating a new image, this specifies the size in megabytes for the virtual tape image.

`-f, --file <path>`

  The filename of the image file.

`-T, --thin-provisioning`

  This argument makes the allocation of the image format use thin-provisioning. This means that the file created will be a sparse file that will allocate blocks from the filesystem on demand.

  Be careful when using thin-provisioning. If the filesystem fills up a iSCSI write to a thin-provisioned LUN can fail. Initiators generally do not handle "out of space" errors gracefully.

  Thin-provisioning uses FALLOC_FL_PUNCH_HOLE which is only available on some linux filesystems. Thin-provisioning can only be used for DISK images.

## EXAMPLES

To create a new 100MByte disk

          tgtimg --op new --device-type disk --type disk --size 100 --file /data/hd001.raw

To create a new tape image

          tgtimg --op new --device-type tape --barcode 12345 --size 100 --type data --file /data/tape001.img

To view the content of an existing image

          tgtimg --op show --device-type tape --file /data/tape001.img

To create a new blank DVD+R image

          tgtimg --op new --device-type cd --type dvd+r --file /data/dvd001.iso

## SEE ALSO

tgtd(8), tgtadm(8), tgt-admin(8), tgt-setup-lun(8). https://github.com/fujita/tgt

## REPORTING BUGS

Report bugs to <stgt@vger.kernel.org>