Page MenuHomeFreeBSD

bhyve: implement NVMe flush command
AbandonedPublic

Authored by khng on Mar 19 2020, 4:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Nov 8 2023, 10:35 AM
Unknown Object (File)
Nov 8 2023, 4:40 AM
Unknown Object (File)
Nov 4 2023, 3:48 PM
Unknown Object (File)
Oct 7 2023, 9:33 AM
Unknown Object (File)
Oct 7 2023, 3:30 AM
Unknown Object (File)
Jun 15 2023, 6:16 PM
Unknown Object (File)
May 14 2023, 6:49 PM
Unknown Object (File)
Apr 25 2023, 7:10 PM

Details

Reviewers
chuck
Group Reviewers
bhyve
Summary

Guest needs proper storage flushing support in order to make sure data
persists on the storage media. For RAM storage target, we can simply
return success with no-op. Otherwise, we submit flush request to blockif
behind the scene.

Also we need to indicate that volatile write cache is presented.
For get feature admin requests we always return 1 currently.

In future, we may indicate that volatile write cache is not enabled if
the underlying file is opened with O_SYNC.

The changes are simply tested on a FreeBSD guest and a Linux guest, with
debug outputs from bhyve. Also tested with nvme-cli flush.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30008
Build 27821: arc lint + arc unit

Event Timeline

Thank you for working on this. I have work-in-progress that significantly restructures the I/O path and includes support for missing commands such as Write Zeros and Flush. Once some of the previous reviews are finished, I will post reviews for that work as well and would appreciate your feedback and testing.

Abandoned as D24880 was landed