tag name | fsverity-by-block_2024-04-29 (3c1c85d0c6261da33d8ad6e72ce1912260376b6a) |
tag date | 2024-04-29 19:50:07 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 8292947eb5... |
download | xfs-linux-fsverity-by-block_2024-04-29.tar.gz |
---|
fs-verity: support merkle tree access by blocks [v5.6 47/54]
I've split Andrey's fsverity patchset into two parts -- refactoring
fsverity to support per-block (instead of per-page) access to merkle
tree blocks, moving all filesystems to a per-superblock workqueue, and
enhancing iomap to support validating readahead with fsverity data.
This will hopefully address everything that Eric Biggers noted in his
review of the v5 patchset.
To eliminate the requirement of using a verified bitmap, I added to the
fsverity_blockbuf object the ability to pass around verified bits so
that the underlying implementation can remember if the fsverity common
code actually validated a block.
To support cleaning up stale/dead merkle trees and online repair, I've
added a couple of patches to export enough of the merkle tree geometry
to XFS so that it can erase remnants of previous attempts to enable
verity. I've also augmented it to share with XFS the hash of a
completely zeroed data block so that we can elide writing merkle leaves
for sparse regions of a file. This might be useful for enabling
fsverity on gold master disk images.
This has been running on the djcloud for months with no problems. Enjoy!
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQQ2qTKExjcn+O1o2YRKO3ySh0YRpgUCZjBcXwAKCRBKO3ySh0YR
pmJcAP9vMRw7b6qyR9XkNb37lEWmf7o+7RJHE7RXjx+MiaDXrwD+PN0fb9zlLnyL
L0Wdq4M5xBB5f03bKlc2bBFwOAay4g8=
=8Q2R
-----END PGP SIGNATURE-----