diff --git a/rpcs3/Emu/Cell/Modules/cellGame.cpp b/rpcs3/Emu/Cell/Modules/cellGame.cpp index a53561a941..210cb95bb4 100644 --- a/rpcs3/Emu/Cell/Modules/cellGame.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGame.cpp @@ -670,7 +670,7 @@ error_code cellGameCreateGameData(vm::ptr init, vm::ptr init, vm::ptr size) } else { + cellGame.error("cellGameGetSizeKb(): unexpexcted error on path '%s' (%s)", local_dir, fs::g_tls_error); return CELL_GAME_ERROR_ACCESS_ERROR; } } diff --git a/rpcs3/Emu/Cell/Modules/cellSaveData.cpp b/rpcs3/Emu/Cell/Modules/cellSaveData.cpp index 98c65a30bd..8da5824438 100644 --- a/rpcs3/Emu/Cell/Modules/cellSaveData.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSaveData.cpp @@ -1088,7 +1088,7 @@ static NEVER_INLINE error_code savedata_op(ppu_thread& ppu, u32 operation, u32 v // Create save directory if necessary if (psf.size() && save_entry.isNew && !fs::create_dir(dir_path)) { - cellSaveData.warning("savedata_op(): failed to create %s", dir_path); + cellSaveData.warning("savedata_op(): failed to create %s (%s)", dir_path, fs::g_tls_error); return CELL_SAVEDATA_ERROR_ACCESS_ERROR; } diff --git a/rpcs3/Emu/Cell/Modules/cellSysutil.cpp b/rpcs3/Emu/Cell/Modules/cellSysutil.cpp index a69aac0ef7..af61032e27 100644 --- a/rpcs3/Emu/Cell/Modules/cellSysutil.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSysutil.cpp @@ -322,13 +322,12 @@ s32 cellSysCacheClear() std::string local_dir = vfs::get(cache->cache_path); - if (!fs::exists(local_dir) || !fs::is_dir(local_dir)) + if (!fs::remove_all(local_dir, false)) { + cellSysutil.error("cellSysCacheClear(): failed to clear directory '%s' (%s)", cache->cache_path, fs::g_tls_error); return CELL_SYSCACHE_ERROR_ACCESS_ERROR; } - fs::remove_all(local_dir, false); - return CELL_SYSCACHE_RET_OK_CLEARED; }