Re: Does smartctl use non-queued commands

Christian Franke <[email protected]>
Newsgroups gmane.linux.utilities.smartmontools
Message-ID <[email protected]>
Lynn Heinemann wrote:
>
> Hi, I’m not developer by nature but I’m trying to use smartctl against 
> some Intel S3700 SSD drives behind a Dell PERC8 controller and was 
> recently asked the question of whether smartctl uses queued or 
> non-queued commands to query disks.
>

The data transfer commands smartctl uses for ATA/SATA devices are:
IDENTIFY, SMART READ DATA, SMART READ THRESHOLDS, SMART READ LOG, SMART 
WRITE LOG, READ LOG EXT.
All of these use the "PIO Data-In/Out" ATA protocols which are 
non-queued. Queued versions of these commands do not exist.


> The concern was a system under very heavy write load and we want to 
> monitor the disk health during production, if we were to run smartctl 
> commands against the disk, would it use a non-queued command and 
> possible abort the queue causing possible data loss or corruption?
>

This should never happen if the ATA pass-through functionality 
(including possible SAT Layer) in the controller driver and firmware is 
properly implemented. The firmware should wait until the queue is empty 
before issuing any command received via a pass-through I/O-control.


> I’ve been looking over the FAQs for smartmontools and reading through 
> what I can find on Github but I’m not familiar enough with the tools 
> to have a solid confirmation.
>

Note that any smartmontools code on github is an independent project. 
The official code is in the SVN repository at sourceforge.
It could be viewed here: https://www.smartmontools.org/browser

Thanks,
Christian


------------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.