[SOLVED] Error downloading .didx from previous manifest: Is a directory (os error 21)

mammer

Active Member
Sep 24, 2019
5
0
41
54
I'm running proxmox-backup-client in a docker container (running Debian 11.5) and get this error. I tracked it with strace and indeed:

openat(AT_FDCWD, "/tmp", O_RDWR|O_CLOEXEC|O_TMPFILE, 0666) = -1 EISDIR (Is a directory)
write(2, "Error downloading .didx from pre"..., 48) = 48

Why is there no filename present?
 
A filename is not required, because we use the flag "O_TMPFILE".

O_TMPFILE (since Linux 3.11)
Create an unnamed temporary regular file. The pathname
argument specifies a directory; an unnamed inode will be
created in that directory's filesystem.
What filesystem do you use? My guess is that the underlying filesystem does not support O_TMPFILE correctly.
 
It's docker, so it's some cachedev device (I saw the other forum threads on that topic, but that did not give an error 21, but some other error).
I did try to use a symbolic link from /tmp to a BTRFS filesystem, but that gave the same error. I don't know if the BTRFS implementation of Synology is to blame here, or that the symblic link is the issue. For now I've avoided the issue by not trying to run the backup client on the Synology directly. Maybe in a next iteration of the backup client where a more conservative approach to handing tempfiles is used, I can move back again.