Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #346
Difficulty: Easy
AWK was created at Bell Labs in the 1960s,
True or False?
Linux & Unix Commands - Search Man Pages

ata_scsi_translate(9) [suse man page]

ATA_SCSI_TRANSLATE(9)					  libata SCSI translation/emulat				     ATA_SCSI_TRANSLATE(9)

NAME
ata_scsi_translate - Translate then issue SCSI command to ATA device SYNOPSIS
int ata_scsi_translate(struct ata_device * dev, struct scsi_cmnd * cmd, void (*done) (struct scsi_cmnd *), ata_xlat_func_t xlat_func); ARGUMENTS
dev ATA device to which the command is addressed cmd SCSI command to execute done SCSI command completion function xlat_func Actor which translates cmd to an ATA taskfile DESCRIPTION
Our ->queuecommand function has decided that the SCSI command issued can be directly translated into an ATA command, rather than handled internally. This function sets up an ata_queued_cmd structure for the SCSI command, and sends that ata_queued_cmd to the hardware. The xlat_func argument (actor) returns 0 if ready to execute ATA command, else 1 to finish translation. If 1 is returned then cmd->result (and possibly cmd->sense_buffer) are assumed to be set reflecting an error condition or clean (early) termination. LOCKING
spin_lock_irqsave(host lock) RETURNS
0 on success, SCSI_ML_QUEUE_DEVICE_BUSY if the command needs to be deferred. AUTHOR
Jeff Garzik Author. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 ATA_SCSI_TRANSLATE(9)

Check Out this Related Man Page

SG_SAT_SET_FEATURES(8)						     SG3_UTILS						    SG_SAT_SET_FEATURES(8)

NAME
sg_sat_set_featutes - sends a ATA SET FEATURES command via a SCSI to ATA Translation (SAT) layer SYNOPSIS
sg_sat_set_features [--count=CO] [--chk_cond] [--feature=FEA] [--help] [--len=16|12] [--lba=LBA] [--verbose] [--version] DEVICE DESCRIPTION
This utility sends an ATA SET FEATURES command to the DEVICE. This command is used to change settings of ATA non-packet (i.e. disks) and packet devices (e.g. cd/dvd drives). Rather than send the SET FEATURES command directly to the device it is sent via a SCSI transport which is assumed to contain a SCSI to ATA Translation (SAT) Layer (SATL). The SAT standard (SAT ANSI INCITS 431-2007; prior draft: sat-r09.pdf at www.t10.org) defines two SCSI "ATA PASS-THROUGH" commands: one using a 16 byte "cdb" and the other with a 12 byte cdb. This utility defaults to the 16 byte cdb variant. The SATL may be in an operating system driver, in host bus adapter firmware or in some external enclosure. The features can be read using the sg_sat_identify utility which uses either the ATA IDENTIFY DEVICE (for non-packet devices) or the IDEN- TIFY PACKET DEVICE (for packet devices) command. OPTIONS
Arguments to long options are mandatory for short options as well. -c, --count=CO the number CO is placed in the "count" field in the ATA SET FEATURES command. Only some subcommands (a term used for the value placed in the "feature" field) require the count field to be set. The default value placed in the "count" field is 0. -C, --chk_cond sets the CK_COND bit in the ATA PASS-THROUGH SCSI cdb. The default setting is clear (i.e. 0). When set the SATL should yield a sense buffer containing a ATA Result descriptor irrespective of whether the ATA command succeeded or failed. When clear the SATL should only yield a sense buffer containing a ATA Result descriptor if the ATA command failed. -f, --feature=FEA the value FEA is placed in the "feature" field in the ATA SET FEATURES command. The term "subcommand" is sometimes used for this value. The default value placed in the "feature" field is 0 which is reserved and hence should not change anything. Two common exam- ples are 2h to enable the write cache and 82h to disable it. -h, --help outputs the usage message summarizing command line options then exits. Ignores DEVICE if given. -l, --len=16 | 12 this is the length of the SCSI cdb used for the ATA PASS-THROUGH commands. The argument can either be 16 or 12. The default is 16. Some SCSI transports cannot convey SCSI commands longer than 12 bytes. -L, --lba=LBA the number LBA is placed in the "lba" field in the ATA SET FEATURES command. Only some subcommands (a term used for the value placed in the "feature" field) require the lba field to be set. This value is not a "logical block address" as the acronym might imply. The default value placed in the "lba" field is 0. -v, --verbose increases the level or verbosity. -V, --version print out version string NOTES
In the 2.4 series of Linux kernels the DEVICE must be a SCSI generic (sg) device. In the 2.6 series block devices (e.g. disks and ATAPI DVDs) can also be specified. For example "sg_inq /dev/sda" will work in the 2.6 series kernels. From lk 2.6.6 other SCSI "char" device names may be used as well (e.g. "/dev/st0m"). EXIT STATUS
The exit status of sg_sat_set_features is 0 when it is successful. Otherwise see the sg3_utils(8) man page. AUTHOR
Written by Doug Gilbert REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>. COPYRIGHT
Copyright (C) 2007 Douglas Gilbert This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR- POSE. SEE ALSO
sg_sat_identify(sg3_utils), sg_inq(sg3_utils), sdparm(sdparm), hdparm(hdparm) sg3_utils-1.25 August 2007 SG_SAT_SET_FEATURES(8)

Featured Tech Videos