-
-
Notifications
You must be signed in to change notification settings - Fork 4.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
failed to open stream: File name too long #4046
Comments
Having the same problem here. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as duplicate.
This comment was marked as duplicate.
It's about NTFS filename 255 chars limitation. ex: Filename len - 184ch And sync stops! 👎 |
@MorrisJobke, can we expect this to be fixed in near future? Using hash function instead of original file name would fix this issue quite easily. |
Same here by using external Local Storage and gocryptfs:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment was marked as duplicate.
This comment was marked as duplicate.
Confirmed. Sync between two Linux systems, where both sides are confirmed to support 255-character filename length, fails for file names as short as 230 characters. Update: I created a test, to discover that the maximum length that synchronizes is 228 characters. Client: Nextcloud client v 2.5.2git, Linux |
Confirmed. Sync win <> linux, Error while copying file to target location (copied bytes: 0, expected filesize: ) and get Server 17.0.1 |
The main issue here is that with chunked uploading, server/apps/dav/lib/Connector/Sabre/File.php Line 150 in 68748d4
We probably could try to hash the filename for storing the part files and only use the full name when assembling the chunks. cc @GretaD as we talked about that |
This comment has been minimized.
This comment has been minimized.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Just create file named |
This comment was marked as duplicate.
This comment was marked as duplicate.
Still an issue in 30.0 This error message occurs with the file. I changed the file name to remove sensible content, but the length and characteristics of all path elements is conserved:
The original filename is valid under Windows with 245 chars. During upload, a suffix is added which fails the filename length constraints. |
Steps to reproduce
Expected behaviour
File is synchronized correctly
Actual behaviour
File is not synchronized correctly because Nextcloud adds
.ocTransferId**********.part
suffix to the end of the file name and thus exceeds filesystem limit for the file name length.Additional details
I've got this long file name by synchronization of directory that contains eCryptfs data.
My local filesystem is btrfs, filesystem on server is ext4, both limited by 255 bytes for the filename.
Using completely random controllable filenames during uploading will solve issues like this once and forever.
Server configuration
Operating system: Debian Jessie under Docker
Web server: Nginx 1.11.10
Database: MariaDB 10.1.22
PHP version: 7.0.17
Nextcloud version: 11.0.2
Updated from an older Nextcloud/ownCloud or fresh install: Fresh install
Where did you install Nextcloud from: https://github.com/nazar-pc/docker-webserver-apps/tree/master/nextcloud
Are you using external storage, if yes which one: no
Are you using encryption: no
Logs
Nextcloud log (data/nextcloud.log)
Nextcloud log
The text was updated successfully, but these errors were encountered: