Hi Martin, Thanks for your reply. >> When the SCSI device is initialized, check whether it supports >> WRITE_SAME_16 or WRITE_SAME_10 in the sd_read_write_same(). If the >> back-end storage device does not support queries, it will not set >> sdkp->ws16 as 1. > > Your proposed code change is fine and to the point. However, I'd like to > understand why you are adding a workaround to the kernel instead of > fixing the affected device? > > Implementing support for either WRITE SAME(10) or REPORT SUPPORTED > OPERATION CODES is easy. And the latter in particular is beneficial for > discovering several other SCSI protocol features. It's a good command to > support in general. > >From a maintenance perspective, I think the old storage device which does not support WRITE SAME query interface can be easily supported by adding a workaround to the kernel, instead of waiting for the storage device to implement the query interface. > Also, we generally don't add features to the kernel without any > users. So if you add a blacklist flag, I would expect to see a set of > device strings to be added to scsi_devinfo.c. Through my test, I found that HUAWEI's storage devices do not provide queries for WRITE_SAME_16 support. If the lists of such devices is written into the kernel code, will it be incomplete and difficult to maintain? On the other hand, It would be more flexible if we provided the module parameter 'dev_flags' to set. Thanks Alex