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