Skip to content
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

Fine grained filesystem setup #31265

Merged
merged 25 commits into from
Mar 24, 2022
Merged

Fine grained filesystem setup #31265

merged 25 commits into from
Mar 24, 2022

Conversation

icewind1991
Copy link
Member

@icewind1991 icewind1991 commented Feb 18, 2022

Instead of always setting up the entire filesystem, it tries to only setup the bits needed for the path being accessed.

this is done by looking at the cached mounts in the oc_mounts table to find the one matching for the path (and optionally also any mounts in subfolders), getting the mountpoints from these mounts and only setting up the mounts from those providers.

Various systems are in place to try and ensure that this doesn't lead to an outdated setup if the mounts accessible to the user has changed

  • The setup logic listens to various core events that might cause mount changes (sharing, group membership changes, etc) and performs a full setup afterwards
  • A new event has been added that apps can use to trigger a full setup the next time for cases not covered by the above events
  • every 5min a full setup is trigger to ensure that even if something is missed the information isn't outdated for long

@icewind1991 icewind1991 added the 2. developing Work in progress label Feb 18, 2022
@icewind1991 icewind1991 added this to the Nextcloud 24 milestone Feb 18, 2022
@icewind1991 icewind1991 force-pushed the fs-limited-setup branch 4 times, most recently from f6106b3 to a924e07 Compare March 2, 2022 16:22
@icewind1991 icewind1991 force-pushed the fs-limited-setup branch 5 times, most recently from e6bd6c5 to 1842956 Compare March 3, 2022 17:35
@icewind1991 icewind1991 mentioned this pull request Mar 3, 2022
1 task
@icewind1991 icewind1991 force-pushed the fs-limited-setup branch 5 times, most recently from e6c59b2 to 190fa2f Compare March 10, 2022 18:31
@icewind1991 icewind1991 force-pushed the fs-limited-setup branch 3 times, most recently from 92e8fa3 to 22daf38 Compare March 17, 2022 17:41
@icewind1991 icewind1991 changed the title 🚧 Fine grained filesystem setup 🚧 Fine grained filesystem setup Mar 17, 2022
@icewind1991 icewind1991 force-pushed the fs-limited-setup branch 2 times, most recently from 781a13b to 3c57be1 Compare March 17, 2022 18:35
@icewind1991
Copy link
Member Author

Ok, I think this is done for review/testing

Particular attention should be given to situations that change what mounts are available for a user (adding/removing shares/external storages/etc) and making sure file listings reflect these changes

@icewind1991 icewind1991 added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Mar 17, 2022
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Robin Appelman <robin@icewind.nl>
Co-authored-by: Louis <6653109+artonge@users.noreply.github.com>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>

Signed-off-by: Robin Appelman <robin@icewind.nl>
Copy link
Member

@PVince81 PVince81 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@blizzz blizzz added 4. to release Ready to be released and/or waiting for tests to finish and removed 3. to review Waiting for reviews labels Mar 24, 2022
@PVince81
Copy link
Member

@icewind1991 phpcs unhappy, can you fix ?

@blizzz
Copy link
Member

blizzz commented Mar 24, 2022

also s3 tests don't pass

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
@PVince81
Copy link
Member

all necessary tests passed successfully in previous builds and my recent changes are not related to those

the last commit was to satisfy "checkers" and that one passes now

merging...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4. to release Ready to be released and/or waiting for tests to finish enhancement performance 🚀
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants