Having such behavior be the default is, to my limited understanding, a bug in the Linux kernel.
Having such behavior be the default is, to my limited understanding, a bug in the Linux kernel.
When I write lots of data to a rusty device and don't sync, the kernel gives back more quickly. From there, I can move on with my work : everything is "as-if" the data were actually copied (except power-cutoff protection, indeed)
As such, I see this behavior as a feature, it allows me to wait less and do my work quicker.
Unless windows, on which I must wait for the whole data to be written on the disk.
So, when (if?) you notice that the transfer has failed with a timeout, do you still consider your work was done quicker?
If you are thinking of something like a HTTP download, the transfer has to be done anyway (and I must wait for it). However, I do not need that data to be fully written to the (potentially busy) local device
It times out, 'cp' exits in error, and my file is not transferred. I can reproduce this at will. I think I should report it as a linux kernel bug, to be honest.