Christoph, >> + if (!meta_type) >> + return 0; >> + if (!(meta_type & META_TYPE_INTEGRITY)) >> + return -EINVAL; > > What is the meta_type for? To distintinguish PI from non-PI metadata? > Why doesn't this support non-PI metadata? Also PI or TO_PI might be > a better name than the rather generic integrity. (but I'll defer to > Martin if he has any good arguments for naming here). It should probably be "META_TYPE_T10_PI". "Integrity" was meant as a protocol-agnostic name since there were other proposed protection information schemes being discussed in the standards at the time. I didn't want to limit the block layer changes to one particular storage protocol. NVMe implements features that are not defined by T10 PI such as the storage tag and the larger CRCs. But despite those, NVMe still follows the defined T10 PI model. So I think "META_TYPE_T10_PI" is fairly accurate. -- Martin K. Petersen Oracle Linux Engineering