Created attachment 13681 [details] Use both partial file + basis file Hi, In case of a transfer restart, if a partial file has been kept on receiving side, this patch makes rsync to use the usual basis file (if found) in addition to the partial file to speed-up the transfer. Technically : - if generator founds a partial file and a basis file, it will symlink the basis file next the the partial file ; - generator will send checksums to the sender from both files, as if there were only one big basis file ; - between the checksums of the 2 files, generator will send some dummy 0 checksums so that sender will see the second file's blocks as if they were after the end of the final file, thus sender will be able to fully use them, especially useful using --inplace ; - receiver, if working on a partial file as basis file, will try to open the second basis file thanks to the symlink ; - receiver, if asked to handle a checksum with an offset greater than the partial file's length, will take the corresponding block from the second basis file. Compatible with all sender's versions, as modification only takes place on receiver side. Fully compatible with the "allow --partial-dir with --inplace" patch : https://bugzilla.samba.org/show_bug.cgi?id=13071 Hope to see both in 3.1.3 :) Of course feel free to comment ! Thx ! Ben
Created attachment 13958 [details] Use both partial file + basis file Slightly modified patch to seamlessly suit rsync 3.1.3. Thx !
Closing this for now. At least the following patch would be nice, as a first step : https://bugzilla.samba.org/show_bug.cgi?id=13071 Many thx !