Hi Everyone, * We have observed change in the values of some of the block integrity sysfs attributes for the block devices on the master branch. The sysfs attributes related to block device integrity , write_generate and read_verify are enabled for the block device when the parameter device_is_integrity_capable is disabled. This behaviour is seen on the scsi disks irrespective of DIF protection enabled or disabled on the disks. *Logs of the block integrity sysfs attributes for one of the block device:* a3560030:~ # cat /sys/block/sda/integrity/write_generate 1 a3560030:~ # cat /sys/block/sda/integrity/read_verify 1 a3560030:~ # cat /sys/block/sda/integrity/device_is_integrity_capable 0 * Similarly unexpected values of block integrity sysfs attributes are seen for multipath devices as well. Multipath device reporting value 1 for device_is_integrity_capable even though it is based on SCSI disk devices, which all have 0 for device_is_integrity_capable. a3560030:~ # cat /sys/block/dm-0/integrity/device_is_integrity_capable 1 a3560030:~ # cat /sys/block/dm-0/integrity/read_verify 1 a3560030:~ # cat /sys/block/dm-0/integrity/write_generate 1 * Earlier the block integrity sysfs parameters "write_generate" and "read_verify" reported value 0 when the sysfs attribute device_is_integrity_capable was not set. But when tested with a recent upstream kernel, there is a change in the block device integrity sysfs attributes. * In the process of finding the kernel changes which might have caused the change in functionality, we have identified the below commit which was leading to the change in the sysfs attributes. 9f4aa46f2a74 ("block: invert the BLK_INTEGRITY_{GENERATE,VERIFY} flags") * By reverting the code changes which are part of above commit and when tested the values of attributes read_verify and write_generate were set to 0 which was the older functionality. * From the description in the patch related to above commit, what we understand is that the changes are meant to invert the block integrity flags(READ_VERIFY and WRITE_GENERATE) vs the values in sysfs for making the user values persistent. * We would like to know if the change in the values of sysfs attributes write_generate and read_verify is expected? * And some additional information on in which scenario the attributes will be disabled or set to 0 and the affect of other block integrity attribute device_is_integrity_capable on attributes read_verify and write_generate. Regards, *M Nikhil * Software Engineer ISDL, Bangalore, India Linux on IBM Z and LinuxONE