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

时间:2019-06-11 11:28:40

标签: 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 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

这似乎不是gcsfuse中的正常权限错误,而是带有-implied-dirs 的东西。有人可以帮忙吗?

0 个答案:

没有答案