1

When using GCS Fuse to mount a bucket that uses Customer Managed Encryption Keys you are able to write to the bucket however you are unable to read anything.

When you run an ls against the mount point you get

ls: reading directory '.': Input/output error.

When mounting with the flags:

--foreground --debug_gcs --debug_fuse

you get:

Using mount point: ~/GCSFuse
Opening GCS connection...
Opening bucket...
gcs: Req 0x0: <- ListObjects()
gcs: Req 0x0: -> ListObjects() (251.743664ms): toObjects: toObject("'object'/"): Wrong length for decoded Crc32c field: 0
gcs: Req 0x1: <- ListObjects()
gcs: Req 0x1: -> ListObjects() (63.26159ms): toObjects: toObject("'object'/"): Wrong length for decoded Crc32c field: 0
WARNING, bucket doesn't appear to work: toObjects: toObject("'objecy'"): Wrong length for decoded Crc32c field: 0
Mounting file system...
mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1

Daniele Santi
  • 2,479
  • 1
  • 25
  • 22

1 Answers1

2

I've been testing this scenario and could reproduce not only this issue with "ls", but a whole series of inconsistencies with other commands, which led me to create both an internal bug for the Google Engineering Team, and a public issue tracker:

https://issuetracker.google.com/issues/123400061

I will update this post as soon as I have some news. Meanwhile, feel free to check the public bug description, and add any comment or new findings on this post.

alp
  • 121
  • 2