validateLog and scanLog have very similar logics in FileJournalManager, EditLogFileInputStream, FSEditLogLoader, and FSEditLogOp. The only difference is that when reading a future layout version, the scan logic only tries to parse the "frame" of the op, and is therefore faster.
I wonder if we should eliminate validateLog altogether, since scanLog is already validating checksums, after
Uploading initial patch to demonstrate the idea and trigger Jenkins. Will finish the refactor (remove validateLog in all places) in the next rev.