fr_cache
for (frcache = LIST_FIRST(&frag->fr_cache); frcache;
frcache = LIST_FIRST(&frag->fr_cache)) {
KASSERT(LIST_EMPTY(&frag->fr_cache) ||
LIST_FIRST(&frag->fr_cache)->fr_off >
LIST_INIT(&(*frag)->fr_cache);
LIST_INSERT_HEAD(&(*frag)->fr_cache, cur, fr_next);
LIST_FOREACH(fra, &(*frag)->fr_cache, fr_next) {
LIST_FIRST(&(*frag)->fr_cache)->fr_off == 0 &&
LIST_FIRST(&(*frag)->fr_cache)->fr_end == (*frag)->fr_max) {