devices: block: issue fsync when FlushTimer expires
devices: block: issue fsync when FlushTimer expires

The RequestType::Flush handler correctly uses fsync(), which issues an
fsync to the underlying disk image file.  However, the flush timer
(started on write and cancelled if a flush request is executed) was only
calling flush(), which is insufficient when the disk image is a raw file
- it just flushes in-memory buffers and does not issue an fsync.

BUG=None
TEST=Issue writes in crosvm; verify fsync in strace output

Change-Id: I1de8a35615031b5fdf5599dd6b49015d0b245c31
Signed-off-by: Daniel Verkamp <72bc170b46ec491f7bdd4359a1c0bfed274de40c@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1632876
Tested-by: kokoro <2ac7b1f3fa578934c95181d4272be0d3bca00121@google.com>
Legacy-Commit-Queue: Commit Bot <5c2bf027dc5cc7ef186314391646e49f6866dc00@chromium.org>
Reviewed-by: Dylan Reid <c791bfe44996c1eed9c7149a0c5f12a86d58eb85@chromium.org>

google/crosvm,google/crosvm,google/crosvm,google/crosvm