gcsfuse: ls directory with 30,000+ files results in ls: reading directory [directory]: Input/output error

0

I have a mounted gcsfuce bucket that after the ls command is given resports an Input/Output error.

Version: gcsfuse version 0.21.0 (Go version go1.8)

Mount Command:

gcsfuse -o rw -o allow_other --implicit-dirs --foreground --debug_fuse --debug_gcs --limit-ops-per-sec -1 --debug_invariants --stat-cache-ttl 5m --type-cache-ttl 5m --file-mode 777

The bucket has been mounted sucessfully and the credentials are loaded using environment variables. This is on a local machine, not a cloud instance.

Here is the output from the ls command:

Opening GCS connection...
Opening bucket...
gcs: Req              0x0: <- ListObjects()
gcs: Req              0x0: -> ListObjects() (325.872438ms): OK
Mounting file system...
fuse_debug: Op 0x00000001        connection.go:395] <- init
fuse_debug: Op 0x00000001        connection.go:474] -> OK ()
File system has been successfully mounted.
fuse_debug: Op 0x00000002        connection.go:395] <- GetInodeAttributes (inode 1)
fuse_debug: Op 0x00000002        connection.go:474] -> OK ()
fuse_debug: Op 0x00000003        connection.go:395] <- unknown (inode 1, opcode 22)
fuse_debug: Op 0x00000003        connection.go:476] -> Error: "function not implemented"
fuse_debug: Op 0x00000004        connection.go:395] <- OpenDir (inode 1)
fuse_debug: Op 0x00000004        connection.go:474] -> OK ()
fuse_debug: Op 0x00000005        connection.go:395] <- ReadDir (inode 1)
gcs: Req              0x1: <- ListObjects()
gcs: Req              0x1: -> ListObjects() (180.571707ms): OK
gcs: Req              0x2: <- ListObjects()
gcs: Req              0x2: -> ListObjects() (175.277735ms): OK
gcs: Req              0x3: <- ListObjects()
gcs: Req              0x3: -> ListObjects() (170.263641ms): OK
gcs: Req              0x4: <- ListObjects()
gcs: Req              0x4: -> ListObjects() (243.624532ms): OK
gcs: Req              0x5: <- ListObjects()
gcs: Req              0x5: -> ListObjects() (181.245961ms): OK
gcs: Req              0x6: <- ListObjects()
gcs: Req              0x6: -> ListObjects() (140.484663ms): OK
gcs: Req              0x7: <- ListObjects()
gcs: Req              0x7: -> ListObjects() (198.758211ms): OK
gcs: Req              0x8: <- ListObjects()
gcs: Req              0x8: -> ListObjects() (168.88662ms): OK
gcs: Req              0x9: <- ListObjects()
gcs: Req              0x9: -> ListObjects() (219.064727ms): OK
gcs: Req              0xa: <- ListObjects()
gcs: Req              0xa: -> ListObjects() (180.064346ms): OK
gcs: Req              0xb: <- ListObjects()
gcs: Req              0xb: -> ListObjects() (159.562584ms): OK
gcs: Req              0xc: <- ListObjects()
gcs: Req              0xc: -> ListObjects() (137.711911ms): OK
gcs: Req              0xd: <- ListObjects()
gcs: Req              0xd: -> ListObjects() (167.276919ms): OK
gcs: Req              0xe: <- ListObjects()
gcs: Req              0xe: -> ListObjects() (240.187708ms): OK
gcs: Req              0xf: <- ListObjects()
gcs: Req              0xf: -> ListObjects() (191.353085ms): OK
gcs: Req             0x10: <- ListObjects()
gcs: Req             0x10: -> ListObjects() (152.391675ms): OK
gcs: Req             0x11: <- ListObjects()
gcs: Req             0x11: -> ListObjects() (175.962066ms): OK
gcs: Req             0x12: <- ListObjects()
gcs: Req             0x12: -> ListObjects() (105.252904ms): OK
fuse_debug: Op 0x00000005        connection.go:474] -> OK ()
fuse_debug: Op 0x00000006        connection.go:395] <- ReleaseDirHandle
fuse_debug: Op 0x00000006        connection.go:474] -> OK ()

Result:

ls: reading directory [directory]: Input/output error
total 0
linux
gcloud
gcsfuse
asked on Stack Overflow Apr 14, 2017 by Luke Fraser

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0