This creates a data structure that must be carefully kept in sync with everything else (e.g. remove from it when deleting a node, etc.). How about not maintaining the list, and instead calculating the nodes for a mount when actually needed? That seems safer.