Skip to content

Conversation

@icewind1991
Copy link
Member

@icewind1991 icewind1991 commented Aug 19, 2025

Currently groupfolders are stored under __groupfolders in 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/versions for trashbin/versions) where $datadir/__groupfolders/$folderId is 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

@icewind1991 icewind1991 force-pushed the separate-storage branch 7 times, most recently from 030c160 to ba14ce2 Compare August 22, 2025 15:23
@icewind1991 icewind1991 force-pushed the separate-storage branch 5 times, most recently from 67c6fb4 to fd6cad7 Compare August 28, 2025 14:46
@icewind1991 icewind1991 force-pushed the separate-storage branch 15 times, most recently from 8906fd6 to 04e44b1 Compare September 3, 2025 16:09
@icewind1991 icewind1991 changed the title [WIP] per groupfolder storage per groupfolder storage Sep 4, 2025
@icewind1991 icewind1991 added the 3. to review Items that need to be reviewed label Sep 4, 2025
@icewind1991 icewind1991 added this to the Nextcloud 32 milestone Sep 4, 2025
@icewind1991 icewind1991 marked this pull request as ready for review September 4, 2025 16:36
@icewind1991 icewind1991 force-pushed the separate-storage branch 3 times, most recently from 781dfb9 to b62feac Compare September 11, 2025 13:46
@sorbaugh sorbaugh merged commit d5d408c into master Sep 22, 2025
63 of 69 checks passed
@sorbaugh sorbaugh deleted the separate-storage branch September 22, 2025 15:08
@icewind1991
Copy link
Member Author

/backport to stable32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Items that need to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants