CULLFTPFS是否有最大的安装空间?我如何跳过它?

CULLFTPFS是否有最大的安装空间?我如何跳过它?,ftp,filesystems,libcurl,fuse,curlftpfs,Ftp,Filesystems,Libcurl,Fuse,Curlftpfs,我在本地操作系统中安装了FTP服务器: curlftpfs user:pass@ftp.server.com /var/test/ 我注意到使用pydf时,该卷的最大大小约为7.5GB: Filesystem Size Used Avail Use% Mounted on curlftpfs#ftp://user:pass@ftp.server.com

我在本地操作系统中安装了FTP服务器:

curlftpfs user:pass@ftp.server.com /var/test/
我注意到使用
pydf
时,该卷的最大大小约为7.5GB:

Filesystem                                                            Size Used Avail Use%             Mounted on
curlftpfs#ftp://user:pass@ftp.server.com                             7629G    0 7629G  0.0 [.........] /var/test
然后我尝试用8GB文件使用dd填充磁盘空间,但在给定大小时也失败了:

dd if=/dev/zero of=upload_test bs=8000000000 count=1
dd: memory exhausted by input buffer of size 8000000000 bytes (7.5 GiB)
FTP用户在远程服务器上拥有无限的流量和磁盘空间。
所以我的问题是:为什么7.5GB有一个限制,我怎么能跳过它?

看看的源代码,这是最新发布的版本,这个
7629G
似乎是硬编码的默认值

换句话说,curlftpfs不检查远程文件系统的实际大小,而是使用一些预定义的静态值。此外,由于以下原因,无法实施实际检查

这意味着7.5 GB上的文件传输失败不是由报告的可用空间引起的,因为两者之间存在数量级的差异

细节 功能
ftpfs\U statfs
实现
statfs
熔丝操作定义的空闲块数如下:

buf->f_blocks = 999999999 * 2;
文件系统块的大小为:

buf->f_bsize = ftpfs.blksize;
其他地方定义为:

ftpfs.blksize = 4096;
因此,把这些加在一起,我得到了
99999999*2*4096/2^30 GB~=7629.3945236206055 GB
,它与您的
pydf
输出中的数字相匹配:
7629G