Hi,
recently I discovered a problem with moving shared files and folders on external storage mounts.
The usual workflow is as follows:
- There are two users: Admin and Bob
- Admin shares a folder with Bob
- For Bob, the shared folder is shown in the file dir root
- Now Bob can move the shared folder to another folder (in this example /Documents).
When the data directory is the standard Nextcloud data directory, everything works as expected, the shared folder can be moved.
Nextcloud version: 14.0.1
Operating system and version: Ubuntu 18.04
Apache or nginx version: nginx 1.15.3
PHP version: 7.2
The issue you are facing:
When using external (SMB) storage, the shared folder cannot be moved with the workflow above.
Is this the first time you’ve seen this error? No
Steps to replicate it:
- Create an external storage for users Admin and Bob. These are shared folder from a Windows machine (SMB).
- As user Admin, create a folder (“For Bob”) in the external storage (so ExtAdmin/For Bob)
- Share this folder (“For Bob”) with user Bob.
- Log in with user Bob.
- Create a folder called “Documents” in Bob’s external Storage (so ExtBob/Documents)
- Try to move the shared folder (“For Bob”) to ExtBob/Documents.
- An error is shown that the folder cannot be moved.
The output of your Nextcloud log in Admin > Logging:
Log entries are only produced when the log level is set to a value < 2, here is the dedug output:
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"PHP","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"Couldn't stat smb:\/\/192.168.178.100\/Test\/Bob\/Documents\/For%20Bob: Does not exist at \/var\/www\/nextcloudbeta\/apps\/files_external\/3rdparty\/icewind\/smb\/src\/Native\/NativeState.php#179","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"no app in context","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"No cache entry found for \/Bob\/files\/ExtBob\/Documents\/For Bob (storage: smb::SMB-User@192.168.178.100\/\/Test\/\/Bob\/, internalPath: Documents\/For Bob)","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"PHP","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"Couldn't stat smb:\/\/192.168.178.100\/Test\/Bob\/Documents\/For%20Bob: Does not exist at \/var\/www\/nextcloudbeta\/apps\/files_external\/3rdparty\/icewind\/smb\/src\/Native\/NativeState.php#179","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"PHP","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"Couldn't stat smb:\/\/192.168.178.100\/Test\/Bob\/Documents\/For%20Bob: Does not exist at \/var\/www\/nextcloudbeta\/apps\/files_external\/3rdparty\/icewind\/smb\/src\/Native\/NativeState.php#179","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"PHP","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"Couldn't stat smb:\/\/192.168.178.100\/Test\/Bob\/Documents\/For%20Bob: Does not exist at \/var\/www\/nextcloudbeta\/apps\/files_external\/3rdparty\/icewind\/smb\/src\/Native\/NativeState.php#179","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"no app in context","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"No cache entry found for \/Bob\/files\/ExtBob\/Documents\/For Bob (storage: smb::SMB-User@192.168.178.100\/\/Test\/\/Bob\/, internalPath: Documents\/For Bob)","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"PHP","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"Couldn't stat smb:\/\/192.168.178.100\/Test\/Bob\/Documents\/For%20Bob: Does not exist at \/var\/www\/nextcloudbeta\/apps\/files_external\/3rdparty\/icewind\/smb\/src\/Native\/NativeState.php#179","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"files","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":"It is not allowed to move one mount point into another one","userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
{"reqId":"nkAz55yYQzFAJdLGLx7W","level":0,"time":"2018-10-01T18:06:06+02:00","remoteAddr":"192.168.178.11","user":"Bob","app":"webdav","method":"MOVE","url":"\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","message":{"Exception":"Sabre\\DAV\\Exception\\Forbidden","Message":"","Code":0,"Trace":[{"file":"\/var\/www\/nextcloudbeta\/3rdparty\/sabre\/dav\/lib\/DAV\/Tree.php","line":158,"function":"moveInto","class":"OCA\\DAV\\Connector\\Sabre\\Directory","type":"->","args":["For Bob","files\/Bob\/For Bob",{"__class__":"OCA\\DAV\\Connector\\Sabre\\Directory"}]},{"file":"\/var\/www\/nextcloudbeta\/3rdparty\/sabre\/dav\/lib\/DAV\/CorePlugin.php","line":646,"function":"move","class":"Sabre\\DAV\\Tree","type":"->","args":["files\/Bob\/For Bob","files\/Bob\/ExtBob\/Documents\/For Bob"]},{"function":"httpMove","class":"Sabre\\DAV\\CorePlugin","type":"->","args":[{"absoluteUrl":"http:\/\/testlab.decatec.de\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"\/var\/www\/nextcloudbeta\/3rdparty\/sabre\/event\/lib\/EventEmitterTrait.php","line":105,"function":"call_user_func_array","args":[[{"__class__":"Sabre\\DAV\\CorePlugin"},"httpMove"],[{"absoluteUrl":"http:\/\/testlab.decatec.de\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"\/var\/www\/nextcloudbeta\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":479,"function":"emit","class":"Sabre\\Event\\EventEmitter","type":"->","args":["method:MOVE",[{"absoluteUrl":"http:\/\/testlab.decatec.de\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]]},{"file":"\/var\/www\/nextcloudbeta\/3rdparty\/sabre\/dav\/lib\/DAV\/Server.php","line":254,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->","args":[{"absoluteUrl":"http:\/\/testlab.decatec.de\/nextcloudbeta\/remote.php\/dav\/files\/Bob\/For%20Bob","__class__":"Sabre\\HTTP\\Request"},{"__class__":"Sabre\\HTTP\\Response"}]},{"file":"\/var\/www\/nextcloudbeta\/apps\/dav\/lib\/Server.php","line":293,"function":"exec","class":"Sabre\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloudbeta\/apps\/dav\/appinfo\/v2\/remote.php","line":35,"function":"exec","class":"OCA\\DAV\\Server","type":"->","args":[]},{"file":"\/var\/www\/nextcloudbeta\/remote.php","line":163,"args":["\/var\/www\/nextcloudbeta\/apps\/dav\/appinfo\/v2\/remote.php"],"function":"require_once"}],"File":"\/var\/www\/nextcloudbeta\/apps\/dav\/lib\/Connector\/Sabre\/Directory.php","Line":442,"CustomMessage":"--"},"userAgent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko\/20100101 Firefox\/62.0","version":"14.0.1.1"}
I wonder about this error:
It is not allowed to move one mount point into another one
Why this is not allowed? Isn’t a shared folder just a link to another folder internally?
Is there any workflow in order to be able to move shared folders between external shares?
Any help would be appreciated.