I wanted to implement an integrity metadata ( i.e. DIF/DIX which is kept in bio_integrity_payload ) pass through from VFS layer to the block layer without having to pass through the filesystem. I am looking for a generic method that does not require me to change the individual filesystems .
In other words I am looking for a way to communicate a few bytes of information between the two layers on every read / write, which i plan to do the following way,
for every write,
1. At the VFS layer we find the file block numbers
2. use bmap to get the logical block number.
3. build a hash table which is hashed by combination of dev id,logical block number and the buckets store the few bytes of information that i want to communicate.
4. at the block layer, for each bio ,we can access the buckets (using dev id,logical block number)
Thanks,
a newbie
a newbie