Message ID | 20230404145319.2057051-6-aalbersh@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | fs-verity support for XFS | expand |
On Tue, Apr 04, 2023 at 04:53:01PM +0200, Andrey Albershteyn wrote: > Not the whole folio always need to be verified by fs-verity (e.g. > with 1k blocks). Use passed folio's offset and size. Why can't those callers just call fsverity_verify_blocks directly?
Hi Christoph, On Tue, Apr 04, 2023 at 08:30:36AM -0700, Christoph Hellwig wrote: > On Tue, Apr 04, 2023 at 04:53:01PM +0200, Andrey Albershteyn wrote: > > Not the whole folio always need to be verified by fs-verity (e.g. > > with 1k blocks). Use passed folio's offset and size. > > Why can't those callers just call fsverity_verify_blocks directly? > They can. Calling _verify_folio with explicit offset; size appeared more clear to me. But I'm ok with dropping this patch to have full folio verify function.
On Wed, Apr 05, 2023 at 12:36:42PM +0200, Andrey Albershteyn wrote: > Hi Christoph, > > On Tue, Apr 04, 2023 at 08:30:36AM -0700, Christoph Hellwig wrote: > > On Tue, Apr 04, 2023 at 04:53:01PM +0200, Andrey Albershteyn wrote: > > > Not the whole folio always need to be verified by fs-verity (e.g. > > > with 1k blocks). Use passed folio's offset and size. > > > > Why can't those callers just call fsverity_verify_blocks directly? > > > > They can. Calling _verify_folio with explicit offset; size appeared > more clear to me. But I'm ok with dropping this patch to have full > folio verify function. Well, there is no point in a wrapper if it has the exact same signature and functionality as the functionality being wrapped. That being said, right now fsverity_verify_folio, so it might make sense to either rename it, or rename fsverity_verify_blocks to fsverity_verify_folio. But that's really a question for Eric.
On Wed, Apr 05, 2023 at 08:46:45AM -0700, Christoph Hellwig wrote: > On Wed, Apr 05, 2023 at 12:36:42PM +0200, Andrey Albershteyn wrote: > > Hi Christoph, > > > > On Tue, Apr 04, 2023 at 08:30:36AM -0700, Christoph Hellwig wrote: > > > On Tue, Apr 04, 2023 at 04:53:01PM +0200, Andrey Albershteyn wrote: > > > > Not the whole folio always need to be verified by fs-verity (e.g. > > > > with 1k blocks). Use passed folio's offset and size. > > > > > > Why can't those callers just call fsverity_verify_blocks directly? > > > > > > > They can. Calling _verify_folio with explicit offset; size appeared > > more clear to me. But I'm ok with dropping this patch to have full > > folio verify function. > > Well, there is no point in a wrapper if it has the exact same signature > and functionality as the functionality being wrapped. > > That being said, right now fsverity_verify_folio, so it might make sense > to either rename it, or rename fsverity_verify_blocks to > fsverity_verify_folio. But that's really a question for Eric. I thought it would be confusing for fsverity_verify_folio() to not actually verify a whole folio. So, for now we have: fsverity_verify_page: verify a whole page fsverity_verify_folio: verify a whole folio fsverity_verify_blocks: verify a range of blocks in a folio IMO that makes sense. Note: fsverity_verify_folio() is currently unused, but ext4 might use it. So, just use fsverity_verify_blocks(). - Eric
diff --git a/include/linux/fsverity.h b/include/linux/fsverity.h index 119a3266791f..6d7a4b3ea626 100644 --- a/include/linux/fsverity.h +++ b/include/linux/fsverity.h @@ -249,9 +249,10 @@ static inline void fsverity_enqueue_verify_work(struct work_struct *work) #endif /* !CONFIG_FS_VERITY */ -static inline bool fsverity_verify_folio(struct folio *folio) +static inline bool fsverity_verify_folio(struct folio *folio, size_t len, + size_t offset) { - return fsverity_verify_blocks(folio, folio_size(folio), 0); + return fsverity_verify_blocks(folio, len, offset); } static inline bool fsverity_verify_page(struct page *page)
Not the whole folio always need to be verified by fs-verity (e.g. with 1k blocks). Use passed folio's offset and size. Signed-off-by: Andrey Albershteyn <aalbersh@redhat.com> --- include/linux/fsverity.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)