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