【sas-1130】scsi: sd: define variable dif as unsigned int instead of bool
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kunpeng920 |
Fix Released
|
Undecided
|
Unassigned | ||
Ubuntu-18.04 |
Invalid
|
Undecided
|
Unassigned | ||
Ubuntu-18.04-hwe |
Fix Released
|
Undecided
|
Unassigned | ||
Ubuntu-19.04 |
Invalid
|
Undecided
|
Unassigned | ||
Ubuntu-19.10 |
Fix Released
|
Undecided
|
Ike Panhc | ||
Ubuntu-20.04 |
Fix Released
|
Undecided
|
Unassigned | ||
Upstream-kernel |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Bug Description]
DIF3 WILL not work when run fio test
【Steps to Reproduce]
1. Enable DIF/DIX for DIF3 disk
2. fio test
[Actual Results]
IO error when running IO;
[ 781.032816] sd 5:0:0:0: [sdd] Disabling DIF Type 3 protection
[ 781.112250] sd 5:0:0:0: [sdd] tag#72 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.112287] sd 5:0:0:0: [sdd] tag#72 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.112305] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.118429] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.204243] sd 5:0:0:0: [sdd] tag#77 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.204252] sd 5:0:0:0: [sdd] tag#77 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.204257] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.210365] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.296238] sd 5:0:0:0: [sdd] tag#82 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.296266] sd 5:0:0:0: [sdd] tag#82 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.296276] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.302384] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.309207] ldm_validate_
[ 781.392239] sd 5:0:0:0: [sdd] tag#87 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.392267] sd 5:0:0:0: [sdd] tag#87 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.392278] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.398386] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.484250] sd 5:0:0:0: [sdd] tag#92 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.484260] sd 5:0:0:0: [sdd] tag#92 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.484264] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.490371] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.576249] sd 5:0:0:0: [sdd] tag#97 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.576278] sd 5:0:0:0: [sdd] tag#97 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.576293] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.582399] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.668236] sd 5:0:0:0: [sdd] tag#102 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.668245] sd 5:0:0:0: [sdd] tag#102 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.668249] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.674354] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.681184] Dev sdd: unable to read RDB block 0
[ 781.764241] sd 5:0:0:0: [sdd] tag#121 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.764267] sd 5:0:0:0: [sdd] tag#121 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.764278] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.770386] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.856240] sd 5:0:0:0: [sdd] tag#126 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.856248] sd 5:0:0:0: [sdd] tag#126 CDB: Read(10) 28 00 00 00 00 00 00 00 08 00
[ 781.856253] print_req_error: I/O error, dev sdd, sector 0 flags 0
[ 781.862362] Buffer I/O error on dev sdd, logical block 0, async page read
[ 781.948238] sd 5:0:0:0: [sdd] tag#131 FAILED Result: hostbyte=DID_ERROR driverbyte=
[ 781.948264] sd 5:0:0:0: [sdd] tag#131 CDB: Read(10) 28 00 00 00 00 18 00 00 08 00
[ 781.948272] print_req_error: I/O error, dev sdd, sector 24 flags 0
[ 781.954467] Buffer I/O error on dev sdd, logical block 3, async page read
[ 782.120252] sdd: unable to read partition table
[Expected Results]
IO running normally
[Reproducibility]
occasionally
[Additional information]
Hardware: D06 CS
Firmware: NA+I59
Kernel: NA
[Resolution]
Variable dif in function sd_setup_
function scsi_host_
define it as bool, even for the disks which support DIF3, the function
still return dif=1, which causes IO error. So define variable dif as
unsigned int instead of bool.
scsi: sd: define variable dif as unsigned int instead of bool
Changed in linux (Ubuntu Focal): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Eoan): | |
assignee: | nobody → Ike Panhc (ikepanhc) |
status: | New → In Progress |
Changed in kunpeng920: | |
status: | Fix Committed → Fix Released |
This is a fix for an issue introduced in v5.4, so it should not apply to older releases.