On Wed, May 01, 2024 at 12:36:11AM -0700, Christoph Hellwig wrote: > > @@ -377,6 +391,19 @@ int fsverity_read_merkle_tree_block(struct inode *inode, > > > > block->pos = pos; > > block->size = params->block_size; > > + block->verified = false; > > + > > + if (vops->read_merkle_tree_block) { > > + struct fsverity_readmerkle req = { > > + .inode = inode, > > + .ra_bytes = ra_bytes, > > + }; > > + > > + err = vops->read_merkle_tree_block(&req, block); > > + if (err) > > + goto bad; > > + return 0; > > I still don't understand why we're keeping two interfaces instead of > providing a read through pagecache helper that implements the > ->read_block interface. That makes the interface really hard to follow > and feel rather ad-hoc. I also have vague memories of providing such a > refactoring a long time ago. Got a link? This is the first I've heard of this, but TBH I've been ignoring a /lot/ of things trying to get online repair merged (thank you!) over the past months... --D