Fix bug: ensure_dir