|Priority:||4 - Normal|
|Created by:||Patrick Mooney [X]|
|Reported by:||Patrick Mooney [X]|
|Assigned to:||Hans Rosenfeld [X]|
Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-06-09T07:31:01.462Z)
2018-06-21 Underwater Reactor (Release Date: 2018-06-21)
The pci_virtio_block driver in bhyve advertises the FLUSH feature, but does not bother to force synchronous writes when the guest negotiated its features without FLUSH. This is a recipe for data loss for such hosts. The virtio-blk driver should default to sync writes until FLUSH has been negotiated.
Testing: I've been verifying in the debugger that write ops call fsync() when the FLUSH feature hasn't been negotiated, and that it is no longer called after it has been negotiated.
illumos-joyent commit e8607df599b64684fa1e6d992bb2bd2a78ad329d (branch master, by Hans Rosenfeld)
OS-6912 bhyve virtio-blk should sync when needed
Reviewed by: Mike Gerdts <email@example.com>
Reviewed by: Patrick Mooney <firstname.lastname@example.org>
Approved by: Patrick Mooney <email@example.com>