Google cloud platform gcsfuse在读取时给出输入/输出错误

Google cloud platform gcsfuse在读取时给出输入/输出错误,google-cloud-platform,gcsfuse,Google Cloud Platform,Gcsfuse,我安装了一个桶,桶上有: hostname:/ # gcsfuse --implicit-dirs --foreground bucketname /directory Using mount point: /directory Opening GCS connection... WARNING: gcsfuse invoked as root. This will cause all files to be owned by root. If this is not what you inte

我安装了一个桶,桶上有:

hostname:/ # gcsfuse --implicit-dirs --foreground bucketname /directory
Using mount point: /directory
Opening GCS connection...
WARNING: gcsfuse invoked as root. This will cause all files to be owned by
root. If this is not what you intended, invoke gcsfuse as the user that will
be interacting with the file system.
Opening bucket...
Mounting file system...
File system has been successfully mounted.
然后,在另一个连接中,我运行以下命令:

hostname:/ # head /directory/subdirectory/file.bak
head: error reading '/directory/subdirectory/file.bak': Input/output error
同时,在使用gcsfuse的第一个shell上,我看到:

fuse: 2019/06/11 13:23:28.153146 *fuseops.ReadFileOp error: fh.reader.ReadAt: startRead: NewReader: Received unexpected status code 200 instead of HTTP 206
另一方面,树上的目录是完全可遍历的

编辑:使用--debug_gcs,我发现:

gcs: 2019/06/11 13:40:17.339999 Req             0x7a: -> ListObjects() (44.661907ms): OK
gcs: 2019/06/11 13:40:17.340263 Req             0x7e: <- ListObjects()
gcs: 2019/06/11 13:40:17.340263 Req             0x7d: <- StatObject("subdirectory/file.bak/")
gcs: 2019/06/11 13:40:17.383932 Req             0x7d: -> StatObject("subdirectory/file.bak/") (43.666095ms): gcs.NotFoundError: googleapi: Error 404: No such object: bucket/subdirectory/file.bak/, notFound
gcs: 2019/06/11 13:40:17.435100 Req             0x7e: -> ListObjects() (94.837769ms): OK
gcs: 2019/06/11 13:40:17.435561 Req             0x7f: <- Read("subdirectory/file.bak", [0, 3698))
gcs: 2019/06/11 13:40:17.471072 Req             0x7f: -> Read("subdirectory/file.bak", [0, 3698)) (35.514446ms): Received unexpected status code 200 instead of HTTP 206
fuse: 2019/06/11 13:40:17.471088 *fuseops.ReadFileOp error: fh.reader.ReadAt: startRead: NewReader: Received unexpected status code 200 instead of HTTP 206
gcs:2019/06/11 13:40:17.339999请求0x7a:->ListObjects()(44.661907ms):正常
gcs:2019/06/11 13:40:17.340263请求0x7e:ListObjects()(94.837769ms):正常
gcs:2019/06/11 13:40:17.435561 Req 0x7f:Read(“subdirectory/file.bak”,[03698])(35.514446ms):收到意外状态代码200,而不是HTTP 206
fuse:2019/06/11 13:40:17.471088*fuseops.ReadFileOp错误:fh.reader.ReadAt:startRead:NewReader:收到意外状态代码200而不是HTTP 206

这似乎不是gcsfuse中的正常权限错误,而是与--隐含的dirs有关。有人能帮忙吗?

我不确定这会有帮助,但我有一个类似的问题,通过在gcsfuse中添加“--key file=/path/to/service\u account.json`解决了,但我没有使用--隐含的dirsThanks,@ErezBenHarush,但这不是一个p权限问题。我完全能够访问位于“根目录”中的文件读、写、编辑等。我经常看到这种情况,不得不编写我运行的每一个软件,以期望出现I/o错误并重试。感觉像是应该在gcsfuse级别处理的事情,但我不太确定潜在的问题是什么。我提出了一个问题:如果有人通过Google发现了这一点:
implicated dirs
现在是
隐式目录
我不确定它是否会有帮助,但我有一个类似的问题,通过在gcsfuse中添加“--key file=/path/to/service_account.json`解决了,但我没有使用--implicated dirsThanks,@errezbenharush”,但这不是权限问题。我完全能够访问位于“根目录”中的文件读、写、编辑等。我经常看到这种情况,不得不编写我运行的每一个软件,以期望出现I/o错误并重试。感觉像是应该在gcsfuse级别处理的事情,但我不太确定潜在的问题是什么。我提出了一个问题:如果有人通过Google发现了这一点:
implicated dirs现在是
隐式目录