External storage - Shared - Updating file list by other users

help

#1

There's an issue updating folder contents on external storage, shared with a group and accessed by another user, member of the same group.

Steps to reproduce
1. Create an External storage / Local (This one is a permanently mounted NFS share)
2. Share a folder from the storage as User A to Group A (This folder is 2 levels up from root)
3. Copy something to the folder on External storage from outside (not ownCloud)

Expected behaviour
All users that have access to the share should also be able to rescan and update the folder cache.

Actual behaviour
-Navigate to the folder as User B (member of Group A), the folder is empty
-Navigate to the folder as User A, the folder rescans automatically and reveals the newly created file
-The file then becomes visible to User B also

Server configuration
Operating system: Ubuntu 16.04 4.4.0-59-generic
Web server: Apache/2.4.18 (Ubuntu)
Database: MySQL
PHP version: 7.0
ownCloud version: 9.1.3 (stable)
Updated from an older ownCloud or fresh install: Fresh install. Mainly used guidelines from https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-owncloud-on-ubuntu-16-04
Special configuration: External storage is /etc/fstab permanenty mounted NFS share with "defaults", and made available to OC as "Local - Available for / Group A - Check for changes / once every direct access". Cron (every minute) is used instead of Ajax.

ownCloud log (data/owncloud.log)

Debug	cron	Finished OCA\Files_Sharing\DeleteOrphanedSharesJob job with ID 1	2017-01-18T09:27:02+00:00
Debug	cron	Run OCA\Files_Sharing\DeleteOrphanedSharesJob job with ID 1	2017-01-18T09:27:02+00:00
Debug	cron	Finished OCA\DAV\CardDAV\SyncJob job with ID 115	2017-01-18T09:27:02+00:00
Debug	cron	Run OCA\DAV\CardDAV\SyncJob job with ID 115	2017-01-18T09:27:02+00:00
Debug	cron	Finished OC\Authentication\Token\DefaultTokenCleanupJob job with ID 13	2017-01-18T09:27:02+00:00
Debug	cron	Run OCA\Files_Sharing\DeleteOrphanedSharesJob job with ID 1	2017-01-18T09:27:02+00:00
Debug	cron	Finished OCA\DAV\CardDAV\SyncJob job with ID 115	2017-01-18T09:27:02+00:00
Debug	cron	Run OCA\DAV\CardDAV\SyncJob job with ID 115	2017-01-18T09:27:02+00:00
Debug	cron	Finished OC\Authentication\Token\DefaultTokenCleanupJob job with ID 13	2017-01-18T09:27:02+00:00
Info	no app in context	Invalidating tokens older than 2017-01-17T09:27:02+00:00	2017-01-18T09:27:02+00:00
Debug	cron	Run OC\Authentication\Token\DefaultTokenCleanupJob job with ID 13	2017-01-18T09:27:02+00:00
Debug	cron	Finished OCA\Federation\SyncJob job with ID 12	2017-01-18T09:27:02+00:00
Debug	cron	Run OCA\Federation\SyncJob job with ID 12	2017-01-18T09:27:02+00:00
Debug	cron	Finished OCA\Files\BackgroundJob\CleanupFileLocks job with ID 6	2017-01-18T09:27:02+00:00
Debug	cron	Run OCA\Files\BackgroundJob\CleanupFileLocks job with ID 6	2017-01-18T09:27:02+00:00

Integrity status for oC9+

No errors have been found.

#2

Hi,

if this is not working as expected then you need to create a new bugreport at https://github.com/owncloud/core/issues


#3

@toastpost Did you end up opening a bug report on this issue? If so, I can't find it on GitHub (please link).
It's been affecting me as well (OC 9.1.3 on Ubuntu 16.04).


#4

Hi there,
There was so few responses here so I did not file it as a bug, but came up with a workaround. It might be that the "local" type mount should not be an NFS share but a native local storage. Whenever switched using SMB share (created a new virtual server with an SMB share on, from the same NFS mount) the refreshing works ok. It seems that the issue is somewhat linked to the connection type of the storage.


#5

That's interesting. I'm actually using local storage (ext4) -- but my server runs in a LXD container. Based on a search, it might be the difference that SMB propagates mod-time up-tree, while ext4 doesn't, but I'll need to Google it.

In case your instance runs natively without virtualization, will you mind just testing this with some folder (in your /tmp or something), when you get the time?