Kanchan, >> This assumes the app tag is the same for every block in the I/O? >> That's not how it's typically used (to the extent that it is used at >> all due to the value 0xffff acting as escape). >> > > NVMe spec allows only one value to be passed in each read/write > command (LBAT for write, and ELBAT for read). And that's what > controller checks for the entire block range covered by one command. > So per-io tag rather than per-block tag. The integrity buffer creator > is supposed to put the same application-tag for each block if it is > sending multi-block IO. I am OK with that approach as long as the mask is only applied when checking is enabled. I.e. I don't have a use case for checking less than the full app tag. But almost all users of PI I am aware of depend on being able to put different values in the app tag for different blocks in the I/O when checking is disabled. -- Martin K. Petersen Oracle Linux Engineering