Skip to content

failed to open stream: File name too long #4046

@nazar-pc

Description

@nazar-pc

Steps to reproduce

  1. Create file with name that is close to filesystem limit of 255 bytes (say 253 bytes)
  2. Try to sync the file

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
{
	"reqId"      : "***",
	"remoteAddr" : "****",
	"app"        : "PHP",
	"message"    : "fopen(\/data\/nginx\/www\/data\/nazar\/files\/Nextcloud\/Encrypted\/ECRYPTFS_FNEK_ENCRYPTED.FWaZ3jSvM8HFIkYWHAexJ2WpOyhTopXGRhjBXNoIYclgjXbtIzBdPW1r8k--\/ECRYPTFS_FNEK_ENCRYPTED.FeaZ3jSvM8HFIkYWHAexJ2WpOyhTopXGRhjB38DwyoKD5SxcCU7QOetpI6bdC4EOd1t4q-voY-cm3NbMJ2sJEtsxmOvrVRdX1IdrLFx3J8LoIaSDFfhzfWsquuOO50JyIHM1MdNjfabjtgfLyVV1TQq-mzTV9MKUE8izTckfeMkVD.LjcKqy5s0A-FEVkxyosYAdqrxcmYoiFFgpf2amE6gmMW4J-mj6qG1x.ocTransferId1216630867.part): failed to open stream: File name too long at \/data\/nginx\/www\/lib\/private\/Files\/Storage\/Local.php#287",
	"level"      : 3,
	"time"       : "2017-03-24T19:28:36+00:00",
	"method"     : "MOVE",
	"url"        : "\/remote.php\/dav\/uploads\/nazar\/3759697667\/.file",
	"user"       : "nazar",
	"version"    : "11.0.2.7"
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions