On Wed, Mar 25, 2020 at 01:23:33PM -0400, Martin K. Petersen wrote: > > Christoph, > > > I am very much against that for the following reason: > > > > - the current REQ_OP_DISCARD is purely a hint, and implementations can > > (and do) choose to ignore it > > > > - REQ_OP_WRITE_ZEROES is an actual data integrity operation with > > everything that entails > > If you want to keep emphasis on the "integrity operation" instead of the > provisioning aspect, would you expect REQ_ALLOCATE (which may or may not > zero blocks) to be considered a deterministic operation or a > non-deterministic one? Should this depend on whether the device > guarantees zeroing when provisioning blocks or not? That's why I don't like the whole flags game very much. I'd rather have REQ_OP_WRITE_ZEROES as the integrity operation that gurantees zeroing, and a REQ_ALLOCATE that doesn't guarantee zeroing, just some deterministic state of the blocks.