OS-6912: bhyve virtio-blk should sync when needed

Details

Issue Type:Bug
Priority:4 - Normal
Status:Resolved
Created at:2018-04-26T17:38:58.149Z
Updated at:2018-09-25T22:24:15.718Z

People

Created by:Patrick Mooney [X]
Reported by:Patrick Mooney [X]
Assigned to:Hans Rosenfeld [X]

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-06-09T07:31:01.462Z)

Fix Versions

2018-06-21 Underwater Reactor (Release Date: 2018-06-21)

Related Issues

Related Links

Labels

bhyve

Description

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.

Comments

Comment by Hans Rosenfeld [X]
Created at 2018-06-01T13:22:47.755Z

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.


Comment by Jira Bot
Created at 2018-06-09T07:30:32.027Z

illumos-joyent commit e8607df599b64684fa1e6d992bb2bd2a78ad329d (branch master, by Hans Rosenfeld)

OS-6912 bhyve virtio-blk should sync when needed
Reviewed by: Mike Gerdts <mike.gerdts@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: Patrick Mooney <patrick.mooney@joyent.com>