s3fs 挂载的 S3 存储桶显示文件大小错误

s3fs 挂载的 S3 存储桶显示文件大小错误

背景: 我有一个 Amazon S3 存储桶,其中包含使用 AWS Web 界面上传的数据。现在我需要向 FTP 用户授予对我的存储桶内路径的基于权限的访问权限。为此,我在一个新的 Amazon EC2 实例上运行 vsftpd 和 s3fs。问题是存储桶内容有路径名而不是点文件,巨大的文件大小在 vsftpd 中创建了一个异常。ls -la如下所示:

$ pwd
/mnt/my-bucket-name/pathname
$ ls -la
total 1
drwxrwxr-x 1 root root                    0 Jun 16 19:54 dir1
drwxrwxr-x 1 root root                    0 Jun 16 19:54 dir2
---------- 1 root root 18446744073709551615 Dec 31  1969 pathname

而它看起来应该更像这样:

$ ls -la
total 500
drwxrwxr-x 1 root root                    500 Jun 16 19:54 .
drwxrwxr-x 1 root root                    500 Jun 16 19:54 ..
drwxrwxr-x 1 root root                    500 Jun 16 19:54 dir1
drwxrwxr-x 1 root root                    500 Jun 16 19:54 dir2

当 FTP 用户尝试连接时,他们会收到错误:

ftp> ls
229 Entering Extended Passive Mode (|||14017|).
150 Here comes the directory listing.
500 OOPS: invalid inode size in vsf_sysutil_statbuf_get_size

使用以下命令安装存储桶:sudo s3fs my-bucket-name /mnt/my-bucket-name -o allow_other -o default_acl=public-read

一个月前,我在 s3fs google 代码页上创建了一张票,花了几个小时破解它,但我还是很困惑。有人知道我做错了什么吗?

相关内容