-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Accessing share from external storage doesn't check for changes #23539
Comments
I don't have the same setup and testing scenario, but I notice the same error that the directory with the external drive is not updated when changes are made outside of nextcloud. Strangely enough, this is not the case with all SMB shares.
The share with the ID 1 is always updated when accessed. But not the share with ID 4. If a folder in share 4 on the Samba file server is removed, it will remain visible in nextcloud when accessed again. But this will result in an error message that the file/folder does not exist. Nevertheless the folder remains in Nextcloud. Only the command Maybe this is related to your bug report. |
If by that you mean it is still visible for the user that mounted the smb share, then this is not the same issue I'm talking about. In my case all changes are visible to the user that mounted the (s3) share because nextcloud checks for changes on this direct access. But if that users shares a folder from that mount with another user, that share will never get updated unless the original user checks the directory. |
The shares in my case are globally mounted shares, configured with an admin account. |
Then every user has a direct access to that mounted storage. Therefore it works for all your users and is not what this issue is about. |
Anyone interested in fixing this? |
I have same behavior with SMB/CIFS external storage :
With Nextloud 19.0.6, I did not get the same behavior, it worked very well. This appeared after upgrade 19.0.6 → 20.0.4 |
Thanks for the confirmation! |
Duplicate of #23988 |
Description
Accessing a share from external storage doesn't check for changes on the external storage so if it got modified, the user accessing a share (not the external storage directly) will never see those changes. Only once the original user who mounted the external storage checks that directoy he shared, then the share will be updated for all users.
This is a problem that apprently exists since at least 4 years so I'm surprised nobody fixed it yet: https://www.reddit.com/r/NextCloud/comments/54warq/problems_with_nextclouds_external_storage/
Context for usage: I want to have a big s3 storage in a remote location that one user/organization mounts and then distributes shares to different members. Since every member/group will have different access rights and doesn't need everything from the storage, mounting the whole storage for all users/groups is not possible. Creating a nextcloud group/circle for every access type and then assigning every member/group to those access groups which each get a mount to their specific folder on the external storage might be a workaround but a pretty ugly one that is also only possible for the admin as those mounts assigned to groups are admin mounts. So no normal user could do that.
Steps to reproduce
Edit/Addendum: If the directoy Test is additionally shared by link from User A, then accessing it by that link will check the external storage on every access and therefore all modifications are always visible when using the link. This is the expected behaviour actually and I was surprised to discover that it works correctly with shared links but not with shares to users.
Expected behaviour
Check the external storage for changes on every access by a share.
Actual behaviour
External storage is only checked for changes if the user who has mounted it is checking it or by accessing a shared link.
Server configuration
Operating system: Ubuntu 18.04
Web server: nginx
Database: sqlite
PHP version: 7.4.11
Nextcloud version: (see Nextcloud admin page) 20.0.0
Updated from an older Nextcloud/ownCloud or fresh install: fresh
Where did you install Nextcloud from: web-installer, standard installation without any changes
Are you using external storage, if yes which one: local/smb/sftp/...
Are you using encryption: no
Are you using an external user-backend, if yes which one: S3 minio
The text was updated successfully, but these errors were encountered: