Issue reading of fsverity merkle tree on the fsverity inodes. This way metadata will be available at I/O completion time. Signed-off-by: Andrey Albershteyn --- fs/iomap/buffered-io.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fs/iomap/buffered-io.c b/fs/iomap/buffered-io.c index cd74a15411cf..bd3ab4e6b2bf 100644 --- a/fs/iomap/buffered-io.c +++ b/fs/iomap/buffered-io.c @@ -570,8 +570,12 @@ void iomap_read_folio(const struct iomap_ops *ops, trace_iomap_readpage(iter.inode, 1); - if (fsverity_active(iter.inode)) + if (fsverity_active(iter.inode)) { ctx->vi = fsverity_get_info(iter.inode); + if (iter.pos < fsverity_metadata_offset(iter.inode)) + fsverity_readahead(ctx->vi, folio->index, + folio_nr_pages(folio)); + } while ((ret = iomap_iter(&iter, ops)) > 0) iter.status = iomap_read_folio_iter(&iter, ctx, -- 2.51.2