diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-10 05:27:48 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-10 05:27:48 -0500 |
| commit | ad512b0c8ff94c4f859e93b371ce594b911ac651 (patch) | |
| tree | 5e484f97af07fb49a8ce65a6372322630cf2ce3a /libs/bsapacker/src/OverrideFileService.cpp | |
| parent | 01abc6994d9a477904af3fdf326ee2fc7163b3e1 (diff) | |
Fix VFS rename rejecting RENAME_NOREPLACE flag from Wine
Wine uses renameat2(RENAME_NOREPLACE) when translating MoveFileW() calls
where ReplaceIfExists is FALSE (e.g. xEdit saving plugins). The VFS was
rejecting all non-zero flags with EINVAL, which a real filesystem like
ext4 handles correctly. This caused "Could not rename" errors in xEdit
and similar tools.
Now properly handles RENAME_NOREPLACE: checks if the destination exists
in the VFS tree and returns EEXIST (matching ext4 behavior), otherwise
proceeds with the rename. Adds diagnostic logging on EACCES failures.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'libs/bsapacker/src/OverrideFileService.cpp')
0 files changed, 0 insertions, 0 deletions
