fn recover_inner<P: AsRef<Path>>(
        storage_directory: P,
        directory_lock: &fs::File,
    ) -> io::Result<MetadataRecovery> {
        let path = storage_directory.as_ref();

        log::debug!("opening MetadataStore at {:?}", path);

        let (log_ids, snapshot_id_opt) = enumerate_logs_and_snapshot(path)?;

        read_snapshot_and_apply_logs(
            path,
            log_ids,
            snapshot_id_opt,
            directory_lock,
        )
    }
Returns the recovered mappings, the id for the next log file, the highest allocated object id, and the set of free ids
src/metadata_store.rs