On Fri, Jan 31, 2025 at 03:59:17PM +0530, Kanchan Joshi wrote: > > Also if you trust the device to get things right you do not > > need to use PI at all - SSDs or hard drives that support PI generally > > use PI internally anyway, and PRACT just means you treat a format > > with PI like one without. In other words - no need for an offload > > here, you might as well just trust the device if you're not doing > > end to end protection. > > Agree that device maybe implementing internal E2E, but that's not a > contract to be honored. Host can't trust until device says it explicitly. But you're not doing end to end protection. Once you set PRACT you basically tell the device to pretend the LU/namespace was formatted without protection information. That fact that you even need the flag has always been very confusing to me - the logical way to expose PI would have been to make PRACT the default and require a flag to actually look at the passed information. I suspect for SCSI this is a result of shoe-horning DIF and DIX into existing infrastructure, and NVMe then blindly copied much of that without thinking how it fits into an architecture without a separate HBA and without all the legacy concerns.