Shivasharan, > So my understanding is when driver sets no_write_same flag, it is only > disabling BLKZEROOUT/write_zeroes requests from using WRITE SAME > command. Instead individual writes are sent to zero the blocks (if > BLKDEV_ZERO_NOFALLBACK flag is not set). Correct. > Our inhouse driver code did not set the no_write_same flag. And so > far we have not seen any issues in this area with inhouse driver. I > am running tests now to check firmware behavior you mentioned. Will > get back to you with the results. > Are you aware of any issue that led to this change? My recollection is that there were older MR controllers that would cause problems when receiving a WRITE SAME command. I can't remember whether this was with VD or PD. For logical block provisioning we rely on LBPME in READ CAPACITY(16) and the VPD page. So if you want to enable WRITE SAME for the purposes of ATA TRIM translation or SCSI unmapping, filling out the block provisioning fields correctly should suffice. If you want to enable WRITE SAME for the purpose of zeroing block ranges and the disk has an ATA Information VPD page, you need to set no_write_same = 0 in the host template as well as claim support for WRITE SAME(10) or WRITE SAME(16) in REPORT SUPPORTED OPERATION CODES. Otherwise we'll disable zeroing under the assumption that the SAT does not handle this correctly (which used to be the case). -- Martin K. Petersen Oracle Linux Engineering