can you check on every start of aria2c if FAT32 used
to refuse download more trhan 4GB ?
extract of wikipedia FAT32
The maximum possible size for a file on a FAT32 volume is 4 GiB minus 1 Byte (232−1 bytes).
maybe rossta could help?
I have no idea about how to detect the underlying file system is FAT32 or something another.
The previous post was made by me
I don't think it's prudent to add OS-specific filesystem checks, but what about trying to preallocate the entire file before proceeding. This will catch any filesystem-related limitations, as well as disk full.
I see HAVE_POSIX_FALLOCATE in the source. Is this for file pre-allocation? If so, I can rework to include the MinGW code.
I have not tested yet, but I think --file-allocation=prealloc will catch filesystem limitation such as 4GB barrier.
posix_fallocate is intended to be used with modern file system like ext4 with extents enabled. In these file systems, posix_fallocate instantly allocates large files.
But if it is used with FAT32, it actually blocks aria2 process while allocating file space. This is bad because if aria2 blocks, console readout is not updated and other concurrent downloads are also blocked. So it cannot be used with FAT32.
I will test --file-allocation=prealloc. Can someone provide a link to a >4GB file?
4.2G file: ftp://linuxfreedom.com/sabayon/Sabayon-Linux-x86_64-4-r1.iso
Log in to post a comment.