The support forum

Buffered copy on Windows: Bvckup shows finished but it is only cached to RAM

ibear :

Sep 14, 2015

Task: Copying a file approximately 1GB from Windows (SSD) to iSCSI target

Symptom: Bvckup shows that the task completes in a couple of seconds, but Windows Resource Monitor shows that the file is actually only cached to RAM and then being transferred in the background (for up to a minute, depending on network speed).

Question: Is there a way to adjust the size of the buffer, or to have Bvckup display the true progress so that it shows task completed only when all buffers have been written to destination?

Alex Pankratov :

Sep 15, 2015

Can you show me the following section of backup log?

    Deducing changes
        File system information
            Destination

You can open log in Notepad using Log Options menu at the top left corner of the log panel.

What I'd like to check is whether your iSCSI device shows up as a "remote" device. If it does, then the app already disables something called "local file buffering" and the only option would be just to force-flush the write cache at the end of the copy. While this will not give you a more accurate copying feedback, it should ensure that the app waits for the file to be fully flushed to destination before moving on to the next step.

All in all, there's no way for any app to learn file's status in the cache. It can only ask for the cache to be flushed or it can choose to not use cache at all (this is so-called write-through mode). Bvckup 2 doesn't support latter, so that leave just force-flushing as a work-around.

PS. The buffer sizes *are* adjustable, but this won't do anything here, because this controls the chunk size for delivering data to the cache manager boundary.

Alex Pankratov :

Sep 15, 2015

I've added support for so-called "write through" mode when copying files, which is meant to ensure that disk writes don't complete until the data actually hits physical storage. This is a part of 74.18 release - https://bvckup2.com/support/forum/topic/598/3728

Internally this is done by simply specifying FILE_FLAG_WRITE_THROUGH option [1] when opening destination file, but the question is if this flag is respected by your iSCSI stack.

To enable this mode you will need to change a couple of entries in the backup's settings.ini file as follows -

    conf.copying.async.write_through   1
    conf.copying.delta.write_through    1

To find settings.ini - right-click on the backup job, select Open Location / Config & Logging.

To make the change - first exit the app (or stop the service if running in service mode), then edit the INI, then restart the app.

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa364218%28v=vs.85%29.aspx

ibear :

Sep 15, 2015

Many thanks for the quick reply and solution. The iSCSI disk shows up as a local device (Device : local, non-removable, physical disk 1). The new version (74.18) with the write_through flags works very well (no more caching, and Bvckup shows task complete the same time when network transfer stops).

Background (in case it might help someone): The iSCSI target was created using targetcli under Ubuntu, and accessed using the iSCSI Initiator built-in with Windows 7/10.

Alex Pankratov :

Sep 17, 2015

Aye, excellent. Thank for the follow-up!

New topic

Create
Made by IO Bureau in Switzerland
Support

Updates Newsletter
Blog & RSS
Follow Twitter
Reddit
Miscellanea Press kit
Testimonials
Company Imprint

Legal Terms
Privacy