>>>>> "Eric" == Eric Sandeen <sandeen@xxxxxxxxxxx> writes: Eric, Eric> Does discard_zeroes_data == 1 mean that a discard *request* will Eric> guarantee zeroes on a read, or does it mean that a Eric> discard-request-which-actually-was-executed-and-not-ignored-as-just-a-hint Eric> will give us back zeroes on a read? (because UNMAP is a hint, Eric> right? I don't know about SATA trim ...) For SCSI we only set d_z_d if the device is using WRITE SAME which provides hard guarantees (i.e. the device will physically write zeroes to any blocks of a request that can not be successfully unmapped). The SATA spec is full of fail but RAID controller vendors as well as Microsoft require a device that reports DRAT/RZAT to do the right thing. I.e. offer guarantees above and beyond what the spec can provide. We don't entirely trust the "Designed for Windows" sticker. So for d_z_d to be set on a SATA device in Linux it must report DRAT/RZAT *and* be explicitly whitelisted. I am not aware of any problems with the drives we currently have enabled. Eric> But I'm wondering about dm-thin and SATA, too, so trying to figure Eric> out what discard_zeroes_data really implies. That after a Eric> BLKDISCARD, a read *will* return zeros, or that it'll return zeros Eric> *iff* the hint is taken? Can't speak for dm-thin. But the intent is that discard_zeroes_data is a hard guarantee and not a hint. So any stacked driver that sets it must provide the right guarantees. -- Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html