-
Notifications
You must be signed in to change notification settings - Fork 97
per groupfolder storage #3920
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
Merged
Merged
per groupfolder storage #3920
Conversation
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
030c160 to
ba14ce2
Compare
67c6fb4 to
fd6cad7
Compare
8906fd6 to
04e44b1
Compare
provokateurin
requested changes
Sep 9, 2025
781dfb9 to
b62feac
Compare
come-nc
reviewed
Sep 11, 2025
Signed-off-by: Robin Appelman <[email protected]>
Signed-off-by: Robin Appelman <[email protected]>
Signed-off-by: Robin Appelman <[email protected]>
Signed-off-by: Robin Appelman <[email protected]>
Signed-off-by: Robin Appelman <[email protected]>
b62feac to
ca5637c
Compare
come-nc
approved these changes
Sep 22, 2025
Member
Author
|
/backport to stable32 |
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.
Currently groupfolders are stored under
__groupfoldersin the root storage, using jail mounts to mount the individual groupfolders for the users. This was done to simplify the app's code (no need for special object store handling etc) but comes with the limitation that, in multi-bucket object store setups, all groupfolder files are still stored on the same bucket.This changes things to instead create a single storage per groupfolder (jails are still being used to separate out the files, trash and versions as separate mounts, while keeping those stored together logically).
For local primary storage, the files are now stored in
$datadir/__groupfolders/$folderId/files(and$datadir/__groupfolders/$folderId/trash/$datadir/__groupfolders/$folderId/versionsfor trashbin/versions) where$datadir/__groupfolders/$folderIdis the root of the per-groupfolder local storage.For object store, similar logic to home storage is used to support multi-instance and multi-bucket object store but with folder ids instead of user ids.
All the new logic only affects newly created groupfolders, existing ones keep the old storage layout