New code for 5.16:
 * Bug fixes and cleanups for kernel memory allocation usage, this time
   without touching the mm code.
 * Refactor the log recovery mechanism that preserves held resources
   across a transaction roll so that it uses the exact same mechanism
   that we use for that during regular runtime.
 * Fix bugs and tighten checking around btree heights.
 * Remove more old typedefs.