-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Win32/File.cpp: utime: fallback to 01/01/1980 00:00:00 if the date is too low #14019
Conversation
Maybe we should deprecate using these filesystems? |
I tested on Linux/exFAT: utime already does this on Linux if the time is too low |
I think on all platforms and all filesystems fs::utime(<1980) should fail then, not only Windows. You are trying to fix a PS3 filesystem issue by hacking the host. |
It shouldn't fail, it's actually normal behaviour to approximate timestamps which don't fit into FS specific range. This PR makes this consistent so it's mergeable as is. |
There is little to no use in RPCS3 to modify file time in any case if it wasn't for PS3 filesystem implementation, so the implementation should not allow to use host if it cannot perform the functionality needed for the PS3 implementation to be accurate. I've implemented emulated file times in #14033. (without the true filesystem barriers yet) |
Doing what host filesystems do for ps3 code is like abiding a different country's laws and be surprised you end up being fined or in prison |
You can always put 1980 check in sys_fs. |
But who wants to fix an issue that has already been hacked? |
7581135
to
2441692
Compare
Apparently on exfat and fat the minimum date is 01/01/1980 00:00:00.
This is just a proof of concept for #14015.
This should probably be logged and also done for linux in some way.
Tagging @Nekotekina for alternative solutions.