From 8447d75dda3d3fc4805792e5215ff4836409c867 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sat, 11 Jan 2020 03:44:52 +0300 Subject: [PATCH] sys_fs: improve sys_fs_lsn_lock It appears it does nothing only on /dev_hdd0 or /host_root (HOSTFS). --- rpcs3/Emu/Cell/lv2/sys_fs.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_fs.cpp b/rpcs3/Emu/Cell/lv2/sys_fs.cpp index 2ce90b4109..f4ddf88e39 100644 --- a/rpcs3/Emu/Cell/lv2/sys_fs.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_fs.cpp @@ -1838,7 +1838,13 @@ error_code sys_fs_lsn_lock(ppu_thread& ppu, u32 fd) return CELL_EBADF; } - // TODO: seems to do nothing + // TODO: seems to do nothing on /dev_hdd0 or /host_root + if (file->mp == &g_mp_sys_dev_hdd0 || file->mp->flags & lv2_mp_flag::strict_get_block_size) + { + return CELL_OK; + } + + file->lock.compare_and_swap(0, 1); return CELL_OK; } @@ -1853,7 +1859,8 @@ error_code sys_fs_lsn_unlock(ppu_thread& ppu, u32 fd) return CELL_EBADF; } - // TODO: seems to do nothing + // Unlock unconditionally + file->lock.compare_and_swap(1, 0); return CELL_OK; }