Skip to content

Can't Restore Using Mount and FUSE-T on macOS 14.5 or 14.6. #4971

@brianallenlevine

Description

@brianallenlevine

Output of restic version

restic 0.17.0 compiled with go1.22.5 on darwin/arm64

What backend/service did you use to store the repository?

Wasabi

Problem description / Steps to reproduce

I'm unable to restore a file from a mounted repository.

I’m running on an M3 MacBook Air with Sonoma 14.6, restic 0.17.0, and fuse-t 1.0.38. All are current versions. Restic and FUSE-T are both installed with Homebrew. I also experienced the same problem with macOS Sonoma 14.5.

There's a nice forum thread regarding this issue: https://forum.restic.net/t/anyone-successfully-restore-using-mount-and-fuse-t-on-macos/8096.

Those running on earlier versions of macOS, like 13.6.x, report not experiencing the issue.

Environment Variables:
export AWS_ACCESS_KEY_ID=$(security find-generic-password -a xxxxxxxxxxxx -s AWS_ACCESS_KEY_ID -w)
export AWS_SECRET_ACCESS_KEY=$(security find-generic-password -a xxxxxxxxxxxx -s AWS_SECRET_ACCESS_KEY -w)
export RESTIC_REPOSITORY=$(security find-generic-password -a xxxxxxxxxxxx -s RESTIC_REPOSITORY -w)
export RESTIC_PASSWORD_COMMAND=‘security find-generic-password -a xxxxxxxxxxxx -s RESTIC_PASSWORD -w’

I added debugging in Terminal 1:
export DEBUG_LOG=/Users/xxxxxx/.restic/resticdebuglog.txt

Then I mounted the repository in Terminal 1:
restic mount --host xxxxxx /Users/xxxxxx/resticmountpoint

Then I opened a new terminal, Terminal 2, and ran my copy command there:
cp -Rpv /Users/xxxxxx/resticmountpoint/tags/tagname/latest/Users/xxxxxx/ncdu-exclude.txt /Users/xxxxxx/tmp/resticrestores

I stared at my blinking cursor and let it run for a couple minutes. Then I closed Terminal 2 and unmounted with CTRL-c.

I've redacted the debug log file and included it below. There are error messages on lines 8 and 12. Then we keep repeating the lookup, create new file, and open file sequence for ncdu-exclude.txt until I close the Terminal 2 window, and then CTRl-c to unmount in the Terminal 1 window.

So the cp command is definitely stuck in a loop where it keeps trying the same thing over and over again. Beyond this, I don't know how to interpret the log or take a stab at guessing the root cause of the issue.

Debug Log:
2024/07/30 11:26:38 fuse/dir.go:196 fuse.(*dir).Lookup 1211 Lookup(ncdu-exclude.txt)
2024/07/30 11:26:38 fuse/dir.go:101 fuse.(*dir).open 1211 open dir resticrestores (ac08ce34)
2024/07/30 11:26:38 restic/tree.go:113 restic.LoadTree 1211 load tree ac08ce34ba4f8123618661bef2425f7028ffb9ac740578a3ee88684d2523fee8
2024/07/30 11:26:38 repository/repository.go:218 repository.(*Repository).LoadBlob 1211 load tree with id ac08ce34ba4f8123618661bef2425f7028ffb9ac740578a3ee88684d2523fee8 (buf len 0, cap 0)
2024/07/30 11:26:38 repository/repository.go:248 repository.(*Repository).loadBlob 1211 blob <tree/ac08ce34> found: <Blob (tree) ac08ce34, offset 0, length 54, uncompressed length 13>
2024/07/30 11:26:38 backend/readerat.go:30 backend.ReadAt 1211 ReadAt(<data/5411a5cc86>) at 0, len 54
2024/07/30 11:26:38 cache/file.go:42 cache.(*Cache).load 1211 Load(<data/5411a5cc86>, 54, 0) from cache
2024/07/30 11:26:38 cache/backend.go:165 cache.(*Backend).Load 1211 error loading <data/5411a5cc86> from cache:
2024/07/30 11:26:38 backend/readerat.go:41 backend.ReadAt 1211 ReadAt(<data/5411a5cc86>) ReadFull returned 54 bytes
2024/07/30 11:26:38 repository/repository.go:1122 repository.(*packBlobIterator).Next 1211 process blob <tree/ac08ce34>, skipped 0, <Blob (tree) ac08ce34, offset 0, length 54, uncompressed length 13>
2024/07/30 11:26:38 fuse/dir.go:205 fuse.(*dir).Lookup 1211 Lookup(ncdu-exclude.txt) -> not found
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1211 fuse: -> [ID=0x3e0] Lookup error=ENOENT
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1212 fuse: <- Getattr [ID=0x3e1 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1212 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1212 fuse: -> [ID=0x3e1] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1213 fuse: <- Getattr [ID=0x3e2 Node=0x31 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1213 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1213 fuse: -> [ID=0x3e2] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1214 fuse: <- Getattr [ID=0x3e3 Node=0x31 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1214 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1214 fuse: -> [ID=0x3e3] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1215 fuse: <- Getattr [ID=0x3e4 Node=0x31 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1215 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1215 fuse: -> [ID=0x3e4] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1216 fuse: <- Getattr [ID=0x3e5 Node=0x31 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1216 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1216 fuse: -> [ID=0x3e5] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1217 fuse: <- Getattr [ID=0x3e6 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1217 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1217 fuse: -> [ID=0x3e6] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1218 fuse: <- Lookup [ID=0x3e7 Node=0xe Uid=501 Gid=20 Pid=0] "ncdu-exclude.txt"
2024/07/30 11:26:38 fuse/dir.go:196 fuse.(*dir).Lookup 1218 Lookup(ncdu-exclude.txt)
2024/07/30 11:26:38 fuse/file.go:40 fuse.newFile 1218 create new file for ncdu-exclude.txt with 1 blobs
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1218 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1218 fuse: -> [ID=0x3e7] Lookup 0x38 gen=0 valid=1m0s attr={valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--}
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1219 fuse: <- Open [ID=0x3e8 Node=0x38 Uid=501 Gid=20 Pid=0] dir=false fl=OpenReadOnly
2024/07/30 11:26:38 fuse/file.go:70 fuse.(*file).Open 1219 open file ncdu-exclude.txt with 1 blobs
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1219 fuse: -> [ID=0x3e8] Open 0x1 fl=0
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1220 fuse: <- Getattr [ID=0x3e9 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1220 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1220 fuse: -> [ID=0x3e9] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1221 fuse: <- Getattr [ID=0x3ea Node=0x38 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1221 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1221 fuse: -> [ID=0x3ea] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1222 fuse: <- Getattr [ID=0x3eb Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1222 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1222 fuse: -> [ID=0x3eb] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1223 fuse: <- Getattr [ID=0x3ec Node=0x38 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1223 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1223 fuse: -> [ID=0x3ec] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1224 fuse: <- Getattr [ID=0x3ed Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1224 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1224 fuse: -> [ID=0x3ed] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1225 fuse: <- Getattr [ID=0x3ee Node=0x38 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1225 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1225 fuse: -> [ID=0x3ee] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1226 fuse: <- Getattr [ID=0x3ef Node=0x38 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1226 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1226 fuse: -> [ID=0x3ef] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1227 fuse: <- Getattr [ID=0x3f0 Node=0x38 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1227 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1227 fuse: -> [ID=0x3f0] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1228 fuse: <- Getattr [ID=0x3f1 Node=0x38 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1228 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1228 fuse: -> [ID=0x3f1] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1229 fuse: <- Getattr [ID=0x3f2 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1229 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1229 fuse: -> [ID=0x3f2] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1230 fuse: <- Lookup [ID=0x3f3 Node=0xe Uid=501 Gid=20 Pid=0] "ncdu-exclude.txt"
2024/07/30 11:26:38 fuse/dir.go:196 fuse.(*dir).Lookup 1230 Lookup(ncdu-exclude.txt)
2024/07/30 11:26:38 fuse/file.go:40 fuse.newFile 1230 create new file for ncdu-exclude.txt with 1 blobs
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1230 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1230 fuse: -> [ID=0x3f3] Lookup 0x39 gen=0 valid=1m0s attr={valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--}
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1231 fuse: <- Open [ID=0x3f4 Node=0x39 Uid=501 Gid=20 Pid=0] dir=false fl=OpenReadOnly
2024/07/30 11:26:38 fuse/file.go:70 fuse.(*file).Open 1231 open file ncdu-exclude.txt with 1 blobs
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1231 fuse: -> [ID=0x3f4] Open 0x2 fl=0
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1232 fuse: <- Getattr [ID=0x3f5 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1232 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1232 fuse: -> [ID=0x3f5] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1233 fuse: <- Getattr [ID=0x3f6 Node=0x39 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1233 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1233 fuse: -> [ID=0x3f6] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1234 fuse: <- Getattr [ID=0x3f7 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1234 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1234 fuse: -> [ID=0x3f7] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1235 fuse: <- Getattr [ID=0x3f8 Node=0x39 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1235 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1235 fuse: -> [ID=0x3f8] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1236 fuse: <- Getattr [ID=0x3f9 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1236 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1236 fuse: -> [ID=0x3f9] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1237 fuse: <- Getattr [ID=0x3fa Node=0x39 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1237 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1237 fuse: -> [ID=0x3fa] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1238 fuse: <- Getattr [ID=0x3fb Node=0x39 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1238 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1238 fuse: -> [ID=0x3fb] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1239 fuse: <- Getattr [ID=0x3fc Node=0x39 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1239 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1239 fuse: -> [ID=0x3fc] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1240 fuse: <- Getattr [ID=0x3fd Node=0x39 Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1240 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1240 fuse: -> [ID=0x3fd] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1241 fuse: <- Getattr [ID=0x3fe Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1241 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1241 fuse: -> [ID=0x3fe] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1242 fuse: <- Lookup [ID=0x3ff Node=0xe Uid=501 Gid=20 Pid=0] "ncdu-exclude.txt"
2024/07/30 11:26:38 fuse/dir.go:196 fuse.(*dir).Lookup 1242 Lookup(ncdu-exclude.txt)
2024/07/30 11:26:38 fuse/file.go:40 fuse.newFile 1242 create new file for ncdu-exclude.txt with 1 blobs
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1242 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1242 fuse: -> [ID=0x3ff] Lookup 0x3a gen=0 valid=1m0s attr={valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--}
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1243 fuse: <- Open [ID=0x400 Node=0x3a Uid=501 Gid=20 Pid=0] dir=false fl=OpenReadOnly
2024/07/30 11:26:38 fuse/file.go:70 fuse.(*file).Open 1243 open file ncdu-exclude.txt with 1 blobs
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1243 fuse: -> [ID=0x400] Open 0x3 fl=0
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1244 fuse: <- Getattr [ID=0x401 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1244 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1244 fuse: -> [ID=0x401] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1245 fuse: <- Getattr [ID=0x402 Node=0x3a Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1245 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1245 fuse: -> [ID=0x402] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1246 fuse: <- Getattr [ID=0x403 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1246 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1246 fuse: -> [ID=0x403] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1247 fuse: <- Getattr [ID=0x404 Node=0x3a Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1247 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1247 fuse: -> [ID=0x404] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1248 fuse: <- Getattr [ID=0x405 Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1248 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1248 fuse: -> [ID=0x405] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1249 fuse: <- Getattr [ID=0x406 Node=0x3a Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1249 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1249 fuse: -> [ID=0x406] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1250 fuse: <- Getattr [ID=0x407 Node=0x3a Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1250 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1250 fuse: -> [ID=0x407] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1251 fuse: <- Getattr [ID=0x408 Node=0x3a Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1251 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1251 fuse: -> [ID=0x408] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1252 fuse: <- Getattr [ID=0x409 Node=0x3a Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/file.go:49 fuse.(*file).Attr 1252 Attr(ncdu-exclude.txt)
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1252 fuse: -> [ID=0x409] Getattr valid=1m0s ino=9273270375574213616 size=37 mode=-rw-r--r--
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1253 fuse: <- Getattr [ID=0x40a Node=0xe Uid=501 Gid=20 Pid=0] 0x0 fl=0
2024/07/30 11:26:38 fuse/dir.go:124 fuse.(*dir).Attr 1253 Attr()
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1253 fuse: -> [ID=0x40a] Getattr valid=1m0s ino=6772515697055402813 size=0 mode=drwxr-x---
2024/07/30 11:26:38 restic/cmd_mount.go:159 main.runMount.func1 1254 fuse: <- Lookup [ID=0x40b Node=0xe Uid=501 Gid=20 Pid=0] "ncdu-exclude.txt"

Expected behavior

A copy of the source file in the mounted Wasabi repository is created in my local machine target directory. In other words, the file is restored to my local machine.

Actual behavior

The file doesn't get copied, i.e., restored. After pressing "return" on the cp command, I just stare at a blinking cursor until I close the terminal window to kill the cp command.

Do you have any idea what may have caused this?

The debug log shows the cp command stuck in a loop where it keeps trying the same thing over and over again. Beyond this, I don't know how to interpret the log or take a stab at guessing the root cause of the issue. Perhaps the errors in lines 8 and 12 of the debug log mean something to someone more knowledgeable?

Did restic help you today? Did it make you happy in any way?

I've used a number of backup programs over the years. I began using restic about a month or so ago with 0.16.5. I'm really enjoying it! Slowly, but surely, as I learn restic better, I'm putting together a nice set of ZSH scripts to do just what I want. I can restore with "restic restore", but I'd really like to be able to restore small amounts of data from mount, too. Thanks so much for an awesome project, and a wonderful contribution to the open source community!

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