From 2c3a915064410ac3d8cdd936d835a00b802a495f Mon Sep 17 00:00:00 2001 From: Vincent Fu Date: Thu, 17 May 2018 10:08:03 -0400 Subject: [PATCH] docs: add documentation for sg ioengine WRITE SAME, WRITE AND VERIFY command support --- HOWTO | 20 ++++++++++++++++++++ fio.1 | 27 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/HOWTO b/HOWTO index d2007009..7680f9c7 100644 --- a/HOWTO +++ b/HOWTO @@ -2079,6 +2079,26 @@ with the caveat that when used on the command line, they must come after the With writefua option set to 1, write operations include the force unit access (fua) flag. Default is 0. +.. option:: sg_write_mode=str : [sg] + Specify the type of write commands to issue. This option can take three values: + + **write** + This is the default where write opcodes are issued as usual. + **verify** + Issue WRITE AND VERIFY commands. The BYTCHK bit is set to 0. This + directs the device to carry out a medium verification with no data + comparison. The writefua option is ignored with this selection. + **same** + Issue WRITE SAME commands. This transfers a single block to the device + and writes this same block of data to a contiguous sequence of LBAs + beginning at the specified offset. fio's block size parameter specifies + the amount of data written with each command. However, the amount of data + actually transferred to the device is equal to the device's block + (sector) size. For a device with 512 byte sectors, blocksize=8k will + write 16 sectors with each command. fio will still generate 8k of data + for each command but only the first 512 bytes will be used and + transferred to the device. The writefua option is ignored with this + selection. I/O depth ~~~~~~~~~ diff --git a/fio.1 b/fio.1 index 7d5d8be6..ce3585a4 100644 --- a/fio.1 +++ b/fio.1 @@ -1828,6 +1828,33 @@ unit access (fua) flag. Default: 0. .BI (sg)writefua \fR=\fPbool With writefua option set to 1, write operations include the force unit access (fua) flag. Default: 0. +.TP +.BI (sg)sg_write_mode \fR=\fPstr +Specify the type of write commands to issue. This option can take three +values: +.RS +.RS +.TP +.B write (default) +Write opcodes are issued as usual +.TP +.B verify +Issue WRITE AND VERIFY commands. The BYTCHK bit is set to 0. This +directs the device to carry out a medium verification with no data +comparison. The writefua option is ignored with this selection. +.TP +.B same +Issue WRITE SAME commands. This transfers a single block to the device +and writes this same block of data to a contiguous sequence of LBAs +beginning at the specified offset. fio's block size parameter +specifies the amount of data written with each command. However, the +amount of data actually transferred to the device is equal to the +device's block (sector) size. For a device with 512 byte sectors, +blocksize=8k will write 16 sectors with each command. fio will still +generate 8k of data for each command butonly the first 512 bytes will +be used and transferred to the device. The writefua option is ignored +with this selection. + .SS "I/O depth" .TP .BI iodepth \fR=\fPint -- 2.25.1