Repository navigation
fix(savedata): report a save's size as the mount that created it gave - #5094
Merged
Merged
Conversation
9 tasks done
Every native save reported SAVE_DATA_BLOCKS_MAX blocks, all of them free, in the sceSaveDataDirNameSearch infos and in sceSaveDataGetMountInfo, whatever the title created it with and whatever its files held. A save's size is now the blocks of the sceSaveDataMount3 call that created it, kept beside the save; a save without a kept size takes that of its next mount that names one, and otherwise keeps SAVE_DATA_BLOCKS_MAX. Free blocks are what the save's files leave of it, each file rounded up to 32 KiB blocks, and the blocks and free-blocks sort keys use both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bubblegg
force-pushed
the
fix/savedata-save-size
branch
from
October 13, 2026 11:33
ef56245 to
4b7a357
Compare
11 tasks done
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
5 tasks done
bubblegg
added a commit
to bubblegg/AnyPS5
that referenced
this pull request
Oct 14, 2026
Taken from upstream: its handling of the buffer pattern fill kernel (its images are still not marked as filled), the save size of a mount (boykopovar#5094 as merged), the SSL connection bookkeeping (connect, read and write still fail with a network error), the unwind image cache and the resident direct memory views on Windows. Resource plans loaded from upstream's disk cache get their compiled SRT walk too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 14, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
sceSaveDataDirNameSearchinfos andsceSaveDataGetMountInforeported every save asSAVE_DATA_BLOCKS_MAXblocks, all of them free. A save's size is now theblocksof thesceSaveDataMount3call that created it, kept beside the save in<dir>.blocks; a save without a kept size takes that of its next mount that names one, and otherwise keepsSAVE_DATA_BLOCKS_MAX. Free blocks are what the save's files leave of it, each file rounded up to 32 KiB blocks. Sort keys 2 (blocks) and 5 (free blocks) now sort by these values.sceSaveDataDeleteremoves the kept size. The technical debt entry is updated.PPSA09030 creates its saves with 96 blocks. While the search reported 32768, it discarded them and showed its first-start EULA on every start.
Tested
Windows 11, WinLibs GCC 16.1.0.
guest_savedata_searchfails onmain(an empty save must report all its blocks free) and passes with this change; the 15 save data tests pass. PPSA09030: the EULA no longer comes back and the trace shows the search followed by the mounts of both saves (the two saves made before this change were given their 96-block size by hand).Checklist
main; no other open PR implements the same functions (fix(savedata): leave the mount result untouched when sceSaveDataMount3 fails #4876 and feat(savedata): implement save icons and the read-only mount check #3950 change other lines ofsceSaveDataMount3)NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)