Skip to content

Instantly share code, notes, and snippets.

@GauntletWizard
Last active March 14, 2020 01:12
Show Gist options
  • Save GauntletWizard/b02fae86b3ba663a546f8b2e66ddbaca to your computer and use it in GitHub Desktop.
Save GauntletWizard/b02fae86b3ba663a546f8b2e66ddbaca to your computer and use it in GitHub Desktop.
Debugging go-fuse osx
Thomass-MBP:hello ted$ go run main.go -debug ~/mountpoint/
2020/03/13 17:01:49 rx 2: INIT i0 {7.19 Ra 0x100000 VOL_RENAME,XTIMES,ATOMIC_O_TRUNC,CASE_INSENSITIVE,0x18000000}
2020/03/13 17:01:49 tx 2: OK, {7.8 Ra 0x100000 0/0 Wr 0x10000 Tg 0x0}
2020/03/13 17:01:49 rx 2: GETATTR i1
2020/03/13 17:01:49 rx 3: STATFS i1
2020/03/13 17:01:49 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:01:49 tx 2: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 3: STATFS i1
2020/03/13 17:01:49 rx 2: GETATTR i1
2020/03/13 17:01:49 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:01:49 tx 2: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 3: STATFS i1
2020/03/13 17:01:49 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:01:49 rx 2: GETATTR i1
2020/03/13 17:01:49 tx 2: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 3: STATFS i1
2020/03/13 17:01:49 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:01:49 rx 2: ACCESS i1 {u=501 g=20 x}
2020/03/13 17:01:49 tx 2: OK
2020/03/13 17:01:49 rx 3: GETATTR i1
2020/03/13 17:01:49 tx 3: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 2: LOOKUP i1 [".go-fuse-epoll-hack"] 20b
2020/03/13 17:01:49 tx 2: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 3: GETATTR i1
2020/03/13 17:01:49 tx 3: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 2: ACCESS i1 {u=501 g=20 w}
2020/03/13 17:01:49 tx 2: 13=permission denied
2020/03/13 17:01:49 rx 3: GETATTR i1
2020/03/13 17:01:49 tx 3: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 rx 2: GETATTR i1
2020/03/13 17:01:49 tx 2: OK, {tA=0s {M040755 SZ=0 L=0 0:0 0 0:1 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:01:49 Mount fail: permission denied
exit status 1
Thomass-MBP:memfs ted$ go run main.go -debug ~/mountpoint/ ~/scratch/memfs/
2020/03/13 17:15:44 rx 2: INIT i0 {7.19 Ra 0x100000 VOL_RENAME,CASE_INSENSITIVE,XTIMES,ATOMIC_O_TRUNC,0x18000000}
2020/03/13 17:15:44 tx 2: OK, {7.8 Ra 0x100000 0/0 Wr 0x10000 Tg 0x0}
Mounted!
2020/03/13 17:15:44 rx 2: GETATTR i1
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 tx 2: OK, {tA=1s {M040777 SZ=0 L=1 501:20 0 0:1 A 1584144944.295967 M 1584144944.295967 C 1584144944.295967}}
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: ACCESS i1 {u=0 g=0 }
2020/03/13 17:15:44 tx 3: 78=function not implemented
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: GETXATTR i1 {sz 32} ["com.apple.FinderInfo"] 21b
2020/03/13 17:15:44 tx 3: 93=attribute not found
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: GETXATTR i1 {sz 32} ["com.apple.FinderInfo"] 21b
2020/03/13 17:15:44 tx 4: 93=attribute not found
2020/03/13 17:15:44 rx 2: GETXATTR i1 {sz 32} ["com.apple.FinderInfo"] 21b
2020/03/13 17:15:44 tx 2: 93=attribute not found
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: STATFS i1
2020/03/13 17:15:44 tx 2: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: STATFS i1
2020/03/13 17:15:44 tx 4: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 2: GETXATTR i1 {sz 32} ["com.apple.FinderInfo"] 21b
2020/03/13 17:15:44 tx 2: 93=attribute not found
2020/03/13 17:15:44 rx 3: STATFS i1
2020/03/13 17:15:44 tx 3: OK, {blocks (0,0)/0 files 0/0 bs0 nl0 frs0}
2020/03/13 17:15:44 rx 4: LOOKUP i1 [".localized"] 11b
2020/03/13 17:15:44 tx 4: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:15:44 rx 2: LOOKUP i1 [".localized"] 11b
2020/03/13 17:15:44 tx 2: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:15:44 rx 3: LOOKUP i1 [".DS_Store"] 10b
2020/03/13 17:15:44 tx 3: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:15:44 rx 4: LOOKUP i1 [".DS_Store"] 10b
2020/03/13 17:15:44 tx 4: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:15:44 rx 2: LOOKUP i1 [".hidden"] 8b
2020/03/13 17:15:44 tx 2: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
2020/03/13 17:15:44 rx 3: GETXATTR i1 {sz 32} ["com.apple.FinderInfo"] 21b
2020/03/13 17:15:44 tx 3: 93=attribute not found
2020/03/13 17:15:44 rx 4: LOOKUP i1 [".localized"] 11b
2020/03/13 17:15:44 tx 4: 2=no such file or directory, {i0 g0 tE=0s tA=0s {M00 SZ=0 L=0 0:0 0 0:0 A 0.000000 M 0.000000 C 0.000000}}
Hello fails, memfs works. ZipFS also fails, for same reason. I think it has to do with how access is working? Going to try implementing access and see how works.
Implementing NodeAccesser on Hello makes the FS work. WTF. Even a meaningless one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment