CULLFTPFS是否有最大的安装空间?我如何跳过它?
我在本地操作系统中安装了FTP服务器: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
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