I have not debugged the flow, but by looking at v13 code, it looks like it will search both old and new. In function GetPageWithFreeSpaceExtended()->fsm_search_from_addr()->fsm_search_avail(), the basic idea of search is: Start the search from the target slot. At every step, move one
node to the right, then climb up to the parent. Stop when we reach a node with enough free space (as we must, since the root has enough space).
So shouldn't it be able to find the new FSM page where the bulk extend rolls over?
This is actually multi level tree, So each FSM page contain one slot tree.
So fsm_search_avail() is searching only the slot tree, inside one FSM page. But we want to go to next FSM page.