Nekotekina
87cd653c6e
sys_fs: improve sys_fs_disk_free
...
Fix error codes and arg checks.
2020-01-11 01:10:50 +03:00
Nekotekina
7e35fd54a8
sys_fs: improve sys_fs_fcntl(0xc0000002)
...
Always obtain free space on /dev_hdd0.
2020-01-11 01:09:30 +03:00
Nekotekina
582ee80552
sys_fs: correct block size for /dev_hdd1
2020-01-10 05:24:43 +03:00
Nekotekina
0b4b87f069
sys_fs: fix sys_fs_get_block_size
...
Don't check file existence on /dev_hdd0.
Relax check on some mountpoints.
Fix CELL_EISDIR error condition.
2020-01-10 05:19:18 +03:00
Nekotekina
7523416a12
sys_fs: return CELL_ENOTSUP in sys_fs_fcntl(0xc0000006)
2020-01-09 04:15:20 +03:00
Nekotekina
9075208c80
sys_fs: fix logging in sys_fs_get_block_size
2020-01-09 04:15:20 +03:00
Nekotekina
d477889763
sys_fs: fix mountpoint detection
2020-01-09 04:15:20 +03:00
Nekotekina
f5cb147f8d
sys_fs: improve sys_fs_get_block_size values
...
Affected other syscalls:
sys_fs_fget_block_size
sys_fs_stat
sys_fs_fstat
sys_fs_fcntl (cellFsGetDirectoryEntries, cellFsGetFreeSize)
For default values:
Return sector_size = 512.
Return 4th arg = 512.
Fod /dev_bdvd:
Sector size = 2048.
Block size = 2048.
2020-01-07 23:16:17 +03:00
Nekotekina
63e669c0cf
sys_fs: fix sys_fs_fget_block_size
...
Return flags via last argument.
2020-01-07 21:55:19 +03:00
Nekotekina
9c54305e10
sys_fs: disable sys_fs_lsn_lock/unlock
...
According to test, nothing seems to happen.
Disable CELL_EBUSY errors associated with Stream Support API.
2020-01-07 21:55:19 +03:00
Nekotekina
f3d52de429
sys_fs: Adjust flags of /app_home mountpoint
2020-01-07 21:55:19 +03:00
Nekotekina
4450ae0c7a
sys_fs: fix CELL_FS_O_APPEND emulation
...
Don't use fs::append (not capable of).
Fix sys_fs_ftruncate (remove wrong workaround).
2020-01-05 18:15:55 +03:00
Nekotekina
9fc0aec066
sys_fs_stat: fix split file handling
...
Allow single-file case (consistently with sys_fs_open)
2020-01-05 18:15:55 +03:00
Nekotekina
bed2d558a6
sys_fs: implement CELL_EROFS error
...
Implement lv2_mp_flag::read_only.
Currently only /dev_bdvd is affected.
2020-01-05 18:15:55 +03:00
Nekotekina
d5f0957558
Implement lv2_fs_mount_point with mount point flags
...
Implement some actual mount points
Implement lv2_mp_flag::no_uid_gid
2020-01-05 18:15:43 +03:00
Eladash
872be25ed1
cellFs: Fix cellFsLseek with negative whence
2020-01-04 22:38:53 +03:00
Eladash
9d2c9e5d62
cellFs: Improve cellFsGetDirectoryEntries
2020-01-04 22:38:53 +03:00
Nekotekina
28fb0d1741
Fix lv2_fs_object::name
...
Recreate path from actual decoded components.
2020-01-04 21:44:03 +03:00
Nekotekina
0d629743ca
cellSysCache: poison opened cache files on cache clear
...
Make opened files return CELL_EIO after cache clear.
2019-11-09 14:50:41 +03:00
Nekotekina
ccf9543b44
Improve vfs::host::unlink on Windows (for sys_fs_rmdir)
...
Possibly fixes sys_fs_rmdir and other cases of directory removal.
Make sure the directory with deleted files always becomes empty.
For this purpose, temp files are moved to the root of the device.
2019-09-25 18:47:38 +03:00
Nekotekina
54952f6ad6
Use g_fxo for LoadedNpdrmKeys_t
...
Rename to loaded_npdrm_keys
2019-08-22 02:13:39 +03:00
eladash
1e5e0f3b5e
make sys_fs_closedir atomic
2019-07-29 21:55:59 +03:00
Nekotekina
2bc0ea37ab
sys_fs: yield PPU on disk access ops
2019-06-08 19:34:55 +03:00
Nekotekina
0d415407c7
sys_fs_unlink: add CELL_EISDIR check
2019-04-12 12:24:36 +03:00
Nekotekina
40142420c1
Implement vfs::host::unlink
...
Emulate POSIX behaviour in sys_fs_unlink.
This should allow to delete opened files transparently on Windows.
2019-04-10 13:58:12 +03:00
Nekotekina
9736773c04
Implement vfs::host::rename
...
With spurious access error workaround
2019-04-10 13:58:12 +03:00
elad
3c9f03968c
Yield before flushing io buffers in fsync (sys_fs) ( #5506 )
2019-03-08 16:07:14 +00:00
Nekotekina
522f5ea645
Fix cellFsGetFreeSize (following #5304 )
...
Simplify device name extraction
2018-12-24 16:04:46 +03:00
RipleyTom
077e710e3a
sys_fs_fcntl with parameter 0xC0000002 should extract device path from the given path and use that to gather free space information
2018-12-10 14:24:07 +03:00
eladash
4baa159523
cellFsOpen flag fix
2018-11-24 02:54:48 +03:00
eladash
57b7892de6
Fix typo in sys_fs_mkdir
...
create_path is a less resticted version of create_dir, it doesnt check for EEXIST for one.
2018-11-12 13:28:58 +03:00
Nekotekina
b94e98aed5
Rewrite sys_fs_opendir
...
Rewrite lv2_dir object
Support split files and mount points
2018-09-15 17:18:40 +03:00
Nekotekina
e8b5555630
Rewrite vfs::get and vfs::mount
...
Preprocess . and .. correctly
Don't use recursive locking
Also use std::string_view
Fix format system for std::string and std::string_view
Fix fmt::merge for std::string_view
2018-09-15 17:09:56 +03:00
Nekotekina
ca5158a03e
Cleanup semaphore<> (sema.h) and mutex.h (shared_mutex)
...
Remove semaphore_lock and writer_lock classes, replace with std::lock_guard
Change semaphore<> interface to Lockable (+ exotic try_unlock method)
2018-09-03 23:00:36 +03:00
Nekotekina
8abe6489ed
Mega-cleanup for atomic_t<> and named bit-sets bs_t<>
...
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
2018-09-03 21:40:36 +03:00
Nekotekina
c49c7de427
sys_fs_stat: support split files
...
Was forgotten after sys_fs_open
2018-08-30 14:56:45 +03:00
Nekotekina
363811981d
Reintroduce LOG_CHANNEL
...
Groundwork for further improvements
2018-08-25 15:39:00 +03:00
Nekotekina
62f9a2dc4b
sys_fs_open: support split files
2018-08-14 15:14:06 +03:00
scribam
1ae724f739
sys_fs: returns the correct error value when the path is 0 or an empty string
2018-03-23 21:45:22 +04:00
Robbie
00b1ff752d
Add flag for rockband. Tests have shown it independent other flags. But, actual use is currently not known.
2018-02-18 04:29:41 +04:00
Nekotekina
cce0ad0c35
Clean vm::ps3 namespace use
2018-02-09 17:49:37 +03:00
Ofek
a6208d2bd7
Reset initial seek position in MSELF files ( #3977 )
2017-12-23 23:18:55 +04:00
Zion
17bfb3beaf
various memory access violation fixes (and friends) ( #3930 )
...
* various memory access violation fixes
* Another fix, for motorstorm demo
* Better stub cellGameUpdateCheckStartAsync and FinishAsync, Fixes #3934
2017-12-16 04:03:49 +04:00
Nekotekina
74c248150b
Log sys_fs_utime values
2017-11-23 18:38:05 +03:00
Nekotekina
5b19908996
Escape problematic characters in VFS
...
With full-width <>:"\|?*
2017-10-11 22:01:37 +03:00
Nekotekina
5c93acefd9
Try to fix some fs errors
2017-09-19 15:07:07 +03:00
Nekotekina
a428dac71c
sys_fs_mkdir: implement ENOENT
2017-09-19 15:07:07 +03:00
Nekotekina
669d953529
Implement fs::error::notempty
2017-09-14 00:23:23 +03:00
Nekotekina
ae1e9e78db
sys_fs: use g_tls_error for diagnostic
...
Affected syscalls:
sys_fs_open
sys_fs_opendir
sys_fs_stat
sys_fs_mkdir
sys_fs_fcntl (get free space)
2017-09-14 00:23:23 +03:00
Nekotekina
83e139cd1a
Improve sys_fs_ftruncate
...
Handle stream API lock (EBUSY)
Handle append mode
2017-09-04 02:15:29 +03:00