No, that's likely not the case either. You lost data because it is in the writeback cache which hadn't been flushed to disk. Whether or not you fallocate(), the writeback cache is still used.
To bypass that, you either flush to disk more often as a whole on your system, or have Transmission open its output file with O_SYNC.
I wouldn't consider transmission downloads to be critical enough (unlike say saving an OpenOffice document) to deserve O_SYNC but if losing 100MB of in-transit data is a big deal for you, then you should definitely tune your VM subsystem to flush the writeback cache way more often.
No, that's likely not the case either. You lost data because it is in the writeback cache which hadn't been flushed to disk. Whether or not you fallocate(), the writeback cache is still used.
To bypass that, you either flush to disk more often as a whole on your system, or have Transmission open its output file with O_SYNC.
I wouldn't consider transmission downloads to be critical enough (unlike say saving an OpenOffice document) to deserve O_SYNC but if losing 100MB of in-transit data is a big deal for you, then you should definitely tune your VM subsystem to flush the writeback cache way more often.