I'm not sure if you're talking about this specific ordering question, or this change in general?

If you're talking about the change in general, well, compaction doesn't care about walking the tree, it only cares that no more pages be added to the list and any pages in flight with respect to reconciliation drain.

Is it enough to set WT_BTREE_NO_EVICTION inside evict_walk_lock, and leave `btree->evict_page` alone?

That complicates `__wt_evict_file_exclusive_on`, but maybe that would work?