Damien, >> How about set larger valid value between sdkp->max_xfer_blocks, >> and sdkp->opt_xfer_blocks to rw_max? > > Again, if your device reports an opt_xfer_blocks value that is too > small for its own good, that is a problem with this device. Correct. It is very much intentional that we do not default to issuing the largest commands supported by the physical hardware. If the device is not reporting an optimal transfer size, and the block layer default is too small, the solution is to adjust max_sectors_kb in sysfs (by adding a udev rule, for instance). -- Martin K. Petersen Oracle Linux Engineering