Closed rockuw closed 8 years ago
原因找到了,ossfs有一个bug,当truncate一个空文件为非空的长度时,会报错。
复现的步骤如下:
touch /tmp/ossfs/empty-file
truncate /tmp/ossfs/empty-file 1024 # will return -1 (Operation not permitted)
Fix见 #27
另外建议使用rsync的时候用--inplace
参数:http://www.baldnerd.com/preventing-rsync-from-doubling-or-even-tripling-your-s3-fees/
上面的实验中对于10M的文件不报错是因为/tmp/ossfs/下面已经有这个文件了,实际上即使拷贝10MB的文件也是会报错的:
root@iZ23qc6ioeeZ:/tmp# rsync -avSH /root/file.10m /tmp/ossfs/
sending incremental file list
file.10m
rsync: write failed on "/tmp/ossfs/file.10m": Operation not permitted (1)
rsync error: error in file IO (code 11) at receiver.c(389) [receiver=3.1.0]
赞!反馈给s3fs吧。
cp
就不会有问题rsync
小一点的文件也不会有问题