axboe / fio

Flexible I/O Tester
GNU General Public License v2.0
5.23k stars 1.26k forks source link

fio io_uring engine while verify pi data #1826

Open huangyu96 opened 6 days ago

huangyu96 commented 6 days ago

while pi type=1 and don’t check ref tag.I see cdw14 Expected Initial Logical Block Reference Tag (EILBRT) field is not assigned a value.

$fio command ./fio -filename=/dev/ng0n1 -ioengine=io_uring_cmd -rw=read -bs=520 -iodepth=32 -offset=0 -size=1k -cmd_type=nvme -pi_act=0x0 -pi_chk=GUARD,APPTAG, -apptag=0x0888 -apptag_mask=0xFFFF -thread=1 -stonewall=1 -name=verifyame=verify

$ fio --version fio-3.38

$uname -r 6.8.0-45-generic

fio_result

code

vincentkfu commented 2 days ago

Not sure what the question is here.

If the RTCHK bit in PRCHK is not set then the reference tag is not checked by the controller. Why would fio set EILBRT if the value is not checked?

huangyu96 commented 2 days ago

image here,when pi type=1,ref tag should equal to start lba,otherwise the controller shall complete the command with a status of Invalid Protection Information if the ILBRT field or the EILBRT field does not match the least significant four bytes of the SLBA field. @vincentkfu

vincentkfu commented 1 day ago

The section in your screenshot begins with:

If bit 0 of the PRCHK field is set to '1'

This is not the case for your job as reference tag checking is disabled.

Why would the controller return a reference tag error if reftag checking is disabled?