libgocryptfs/internal/fusefrontend_reverse
Jakob Unterwurzacher 1c1692c4d9 fusefrontend_reverse: fix GETATTR panic
We don't implement Getattr(), so don't try to call it.

Reported at https://github.com/rfjakob/gocryptfs/issues/519#issuecomment-718790790 :

15:22:53.414101 rx 3344: READ n2565 {Fh 7 [42143744 +131072)  L 0 RDONLY,0x8000}
15:22:53.414274 rx 3342: READ n2565 {Fh 7 [42012672 +131072)  L 0 RDONLY,0x8000}
15:22:53.414787 rx 3346: READ n2565 {Fh 7 [42274816 +131072)  L 0 RDONLY,0x8000}
15:22:53.414806 tx 3336:     OK,  131072b data "\xcb\xd3<\"!-\xa7\xc4"...
15:22:53.414874 rx 3348: GETATTR n1446 {Fh 0}
panic: interface conversion: *fusefrontend_reverse.File is not fs.FileGetattrer: missing method Getattr

goroutine 451 [running]:
github.com/rfjakob/gocryptfs/internal/fusefrontend_reverse.(*Node).Getattr(0xc00034c880, 0x5620579784c0, 0xc000593e60, 0x562057939800, 0xc000218050, 0xc0000fc108, 0x0)
        github.com/rfjakob/gocryptfs/internal/fusefrontend_reverse/node.go:69 +0x273
github.com/hanwen/go-fuse/v2/fs.(*rawBridge).getattr(0xc00011e000, 0x5620579784c0, 0xc000593e60, 0xc00034c880, 0x562057939800, 0xc000218050, 0xc0000fc108, 0xbfded1ef58ba7b13)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fs/bridge.go:500 +0x2d4
github.com/hanwen/go-fuse/v2/fs.(*rawBridge).GetAttr(0xc00011e000, 0xc0000e0000, 0xc0000fc198, 0xc0000fc108, 0x0)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fs/bridge.go:488 +0x11c
github.com/hanwen/go-fuse/v2/fuse.doGetAttr(0xc000120000, 0xc0000fc000)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/opcode.go:287 +0x6f
github.com/hanwen/go-fuse/v2/fuse.(*Server).handleRequest(0xc000120000, 0xc0000fc000, 0xc000000000)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:472 +0x2c1
github.com/hanwen/go-fuse/v2/fuse.(*Server).loop(0xc000120000, 0xc000288001)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:445 +0x18c
created by github.com/hanwen/go-fuse/v2/fuse.(*Server).readRequest
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:312 +0x419
2020-11-10 19:37:49 +01:00
..
ctlsock_interface.go v2api/reverse: implement ctlsocksrv.Interface 2020-08-15 15:08:28 +02:00
excluder_test.go v2api/reverse: finish -exclude 2020-08-15 17:31:45 +02:00
excluder.go v2api/reverse: finish -exclude 2020-08-15 17:31:45 +02:00
file_api_check.go v2api/reverse: implement Lseek 2020-08-16 19:58:47 +02:00
file_helpers.go v2api/reverse: implement Read 2020-08-09 22:11:46 +02:00
file.go v2api/reverse: implement Lseek 2020-08-16 19:58:47 +02:00
mocks_test.go v2api/reverse: start wiring up -exclude functionality 2020-08-15 16:08:16 +02:00
node_api_check.go v2api/reverse: update TODO comment on xattrs 2020-08-30 16:39:46 +02:00
node_dir_ops.go v2api/reverse: finish -exclude 2020-08-15 17:31:45 +02:00
node_helpers.go v2api/reverse: finish -exclude 2020-08-15 17:31:45 +02:00
node.go fusefrontend_reverse: fix GETATTR panic 2020-11-10 19:37:49 +01:00
root_node.go v2api/reverse: finish -exclude 2020-08-15 17:31:45 +02:00
rpath.go v2api/reverse: finish -exclude 2020-08-15 17:31:45 +02:00
virtualconf.go v2api/reverse: implement Read 2020-08-09 22:11:46 +02:00
virtualnode.go v2api/reverse: implement Read 2020-08-09 22:11:46 +02:00