dm-verity design question

Jasper Surmont <[email protected]>
Newsgroups dev.linux.lists.cryptsetup
Message-ID <CAH4tiUts6MVKNv6RVQhPD3fSGruZo=iYpeY1XrbMs-rUx7TLFw@mail.gmail.com>
Hey,

After going through the dm-verity source code for a while I think I
kind of figured out the general design; on a read:
1. Multiple possible problems get checked like alignment, out of range
etc. Also variables get set based on the request
2. The request is prefetched to the cache
3. The actual integrity check is done when the bio ends (bi_end_io
points to verity_end_io which submits the work to verify digest etc

If this is correct, I have 2 questions:
1. What is the main benefit of prefetching here? We know the remapped
request is going to be executed very soon, so I don't really see why
we prefetch.
2. In verity_end_io(...), we only submit the work to verify the digest
if FEC is enabled. Why? Can't we check integrity without using FEC?

I hope my questions are clear.

Thanks a lot!

Sincerely, Jasper Surmont
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.