Alex Pankratov :
Nov 07, 2013
1. Improved copying performance of smaller files -- this has to do with an asynchronous nature of the copying module.
As you may or may not know bvckup is built around fully asynchronous disk access. Instead of issuing read and write requests and then waiting for them to complete, it fires them and moves on to other things. When requests complete, the app notices that and responds accordingly. The net result is that the app doesn't idle, and this really improves the copying speed when there's an I/O latency. Like, say, over the network.
This release changes how the read requests are issued. Previously, bvckup would fire several read requests at once when starting a copy *even if the file is small*. This was done because we cannot rely on the file size to determine where it ends as the file may grow. Instead, we have to wait for the OS to tell that we reached the EOF (end of file) with our read requests.
Now, for smaller files this resulted in all but one read requests being wasted as they all came back with EOF. So starting with this release the copying will start with exactly one pending request. Once it completes, it will issue two. Once either of these two completes, it will again issue two... and so on until it reaches the maximum number of pending requests (which 16).
If you are familiar with how TCP works, that's your good old slow-start :)
2. Added support for re-ordering manual filters in the UI - this is concerned with shuffling the manual filter list in the "Backup what" window.
Previously it was possible to move individual items up and down the list from the keyboard with Alt-Up and Alt-Down. This wasn't documented, nor was it obvious.
So here's a clicky version - http://bvckup2.com/wip/filter-reordering.png
- and as a bonus it now supports multiple selected items at once.
1. Fixed an issue with network file copying (Vista and up) - that's a big one and I really hope it will address a couple of instances of Bvckup going down in some odd ways.
There's a very poorly documented feature of network redirector on Vista and up that allows switching off local buffering on per-file basis when reading or writing files over the network. This improves copying speed, in many cases significantly.
So, naturally, I had to have it. But, regrettably, I went by Microsoft's documentation and I should've not done that. The documentation is wrong not in one, but in two places. This translated into an "undefined" behavior that could've potentially led to all sorts of run-time wonders.
Long story short - it should be resolved now.
2. Fixed a rare issue with copying rapidly growing files - it's late, and this is indeed a very unlikely issue so I'll just skip the explanation if you don't mind.
And that's it for the release FIFTY.
Pop the bubbly!
Nov 07, 2013
Congratulations on the release, really liking the program and the GUI.
I’m seeing the following error during a backup to a remote windows file share:
GetOverlappedResult() failed with 121
Any thoughts on what that might be? Apologies if the answer in in here somewhere already, the forum is hard to search.
Alex Pankratov :
Nov 08, 2013
121 is "timed out", GetOverlappedResult() is a way to wait for an outstanding async I/O to complete. I haven't seen this combination before, so I don't readily know what the cause is. Might be the network conditions, might be the server under the load or going down.
I need to look at the log to understand the context. Sent you an email just now.