Douglas, > What should the sd driver do when it gets the error in the subject > line? Try again, and again, and again, and again ...? > > sd 2:0:1:0: [sdb] Unaligned partial completion (resid=3584, sector_sz=4096) > sd 2:0:1:0: [sdb] tag#407 CDB: Read(16) 88 00 00 00 00 00 00 00 00 00 00 00 00 01 00 > > Not very productive, IMO. Perhaps, after say 3 retries getting the > _same_ resid, it might rescan that disk. There is a big hint in the > logged data shown above: trying to READ 1 block (sector_sz=4096) and > getting a resid of 3584. So it got back 512 bytes (again and again > ...). The disk isn't mounted so perhaps it is being prepared. And > maybe that preparation involved a MODE SELECT which changed the LB > size in its block descriptor, prior to a FORMAT UNIT. The kernel doesn't inspect passthrough commands to track whether an application is doing MODE SELECT or FORMAT UNIT. The burden is generally on the application to do the right thing. I'm assuming we're trying to read the partition table. Did the device somehow get closed between the MODE SELECT and the FORMAT UNIT? > Another issue with that error message: what does "unaligned" mean in > this context? Surely it is superfluous and "Partial completion" is > more accurate (unless the resid is negative). The "unaligned" term comes from ZBC. -- Martin K. Petersen Oracle Linux Engineering