-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[WIP] Refactor shared storage #12086
Conversation
Wow, incredible. Not sure if |
Awesome!!! |
This sounds like a awesome improvement! I just did a short test, re-sharing seems to be broken, I get "Sharing welcome (2).txt failed, because the file does not exist". Another interesting effect: I have a folder-re-share in my share table from before I switched to your branch. If I navigate into the re-shared folder I get the content of the data/ folder. I'm sure you will see this issues while working on the failing unit test... Just wanted to write down what I noticed so that it doesn't get lost. |
f690fd3
to
9e6b8e3
Compare
bloody jenkins plugin - @icewind1991 please rebase - thx |
9b69b49
to
333f69e
Compare
333f69e
to
7aaeb3f
Compare
7aaeb3f
to
6bfbae2
Compare
I cant reproduce any of the failing tests locally... |
694918a
to
ee12a38
Compare
Mount points inside shared folders are now correctly moved over |
318c958
to
9bef2a9
Compare
9bef2a9
to
9a6e2f1
Compare
9a6e2f1
to
50185c3
Compare
Result: "Could not obtain lock type 2" (locking app). |
|
|
We're past feature freeze, right, this should target 8.2? |
Darth Vader is VERY angry ;-) |
@icewind1991 reminder to try and have this early in 8.2 😄 |
@icewind1991 another reminder to continue this so we can have early in 8.2 |
Ping? Defer to 9.0? |
Defer |
@icewind1991 Can we get this in? @rullzer is maybe also happy about this ;) |
Waiting for @rullzer sharing work before continuing with this |
Ah okay. If this is the better approach I'm fine with it :) |
Isn't the sharing work by @rullzer in? The basics, at least... |
@jospoortvliet baby steps ;) |
Moving this major refactoring to 9.1, if it still makes sense @icewind1991 ? CC @cmonteroluque |
Closing this for now. |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Since the removal of the Shared folder in oc7 the logic of the shared storage and cache can be greatly simplified.
This replaces the shared storage with a combination of 2 generic storage and cache wrappers
\OC\Files\Storage\Wrapper\Jail
: limits all access of the storage to a specific folder\OC\Files\Storage\Wrapper\PermissionsMask
: applies a permissions mask on top of a storageTogether they form 99% of the logic behind a share (a sub directory of storage with limited permissions) and also allow dropping the
ReadOnlyWrapper
previously in place.Overall this drastically reduces the amount of logic for shared storages which results in a nice performance increase.
On my local test instance this reduces the time needed for a WebDAV upload to a shared folder with ~120ms and drops the number of database queries by 103
TODO:
cc @DeepDiver1975 @PVince81 @schiesbn