Since the last update I get the "operation not supported" error

Good Morning everybody,
I updated my restic to the latest version when it came out, since then I get the following errors with every command:

open repository
lock repository
Save(<lock/44931584af>) returned error, retrying after 552.330144ms: open /mnt/backup/locks/44931584af7bfb19ff8c7b2652c3ae1b0ef17f4bc3c4bb6165cf4bdf11610313-tmp-3781515316: operation not supported

Even the restic -r /mnt/backup check command fails with the error above.

If I try to run the command with the flag --no-lock it works.

Any body know how to fix this?


First, you need to tell us:

  • Which restic version do you use currently (run restic version)?
  • Which was the latest restic version that worked?
  • What is mounted at /mnt/backup? Which filesystem does it use? (run findmnt /mnt/backup and paste the output)


thanks for your quick reply:

Here are the infos you asked for:
Version: restic 0.13.1 compiled with go1.18 on linux/amd64
Previous Version: restic 0.12.1
findmnt output: /mnt/backup curlftpfs#ftp://***:***@backup.***.**/ fuse rw,nosuid,nodev,relatime,user_id=0,group_id=0

I suspect that this is caused by curlftpfs not supporting the sync() syscall, which should ensure that data is really written to the backend. A similar issue is documented here:

We have a list of cases in which restic just ignores the error returned by sync(), and it seems we need to extend this list quite a bit.

Are you able to build restic yourself? Can you please build and test it with the patch from the issue?

I’ll try this in a few days. Thank you.

1 Like

Errhh, that error is not returned by sync. It is returned by open and that is only called within ioutil.TempFile using O_RDWR|O_CREATE|O_EXCL as flags. Previously, in restic 0.12.1 os.O_CREATE|os.O_EXCL|os.O_WRONLY was used. So unless we want to reimplement the temp file creation there’s not much we can fix here.

@JohKa is there a particular reason to use curlftpfs instead of using rclone to access the ftp repository?

Oh, yeah, you’re right! Sorry about the confusion.