Superseded by:
https://reviews.freebsd.org/D60993
A less invasive attempt to get a block_if multiplexer
Differential D23010
usr.sbin/bhyve: Implement a generic block store backend interf. Authored by wjw_digiware.nl on Jan 2 2020, 5:11 PM. Project Tags None Referenced Files None
Details Superseded by: A less invasive attempt to get a block_if multiplexer
Diff Detail
Event TimelineThere are a very large number of changes, so older changes are hidden. Show Older Changes Comment Actions Reversed the way the backend selector is integrated in blockif. Comment Actions I'll be taking a closer look when I get a chance but at a glance at the diff this looks like a much cleaner change now. Thank you for taking the time to work on it! Comment Actions bhyve/blocklocal: do external refence to init() and cleanup() init() and cleanup() are calls that are only refered to from with
Comment Actions Ah, Willem, this week we have SUSE Hack Week, and I was not aware that you had already been working on rbd driver for bhyve, and picked this as my Hack Week project. And just today accidentally (after your comment to my qemu review) I noticed your review request. I already have some working code [1]. It also adds an abstraction layer in a way similar to yours and has a working driver. It still needs some work: right now librados and librbd from ports are just linked to bhyve, which is not acceptable for upstream, I think we need some solution to try dynamically load the libraries (or even rbd driver) at run time. Anyway I already tried it and it looks like work. So it looks like unfortunately we did duplicate work. But I am glad you are working on it and would be happy if your version goes upstream, as you started to work on it early. You could look at my version for some ideas though. As it already has rbd driver it might be clearer for reviewers what is the goal of adding this abstraction. [1] https://github.com/freebsd/freebsd/compare/master...trociny:bhyve-rbd Comment Actions Great, I was indeed wondering where the QEMU fix al of a sudden caem from, and when you'd do something for bhyve. Well. if nothing else, your work is also the "proof" that we at least should have something like a block-device multiplexer. Last three weeks have been rather busy with $JOB, so have not yet adressed the comments here, And yes, in the end I thing it will require something of a DL-type of loading this "driver".
Comment Actions @trociny bhyve-rbd -H -P -A -c 4 -m 2G -l com1,/dev/nmdm1213A -s 0,hostbridge -s 1,lpc -s 2,virtio-net,tap1213 -s 3,ahci-hd,file:/dev/ggate0 -s 4,ahci-hd,/dev/ggate1 FBSD1213 So we are already running of Ceph disks, be it in an odd way.
Comment Actions This is getting really close to the finish line.
Comment Actions usr.sbin/bhyve: Make the access decriptor more flexible For access of the disks/files we use a filedescriptor. Changed bc_fd into a union that holds the FD, but also can be used a opague Comment Actions usr.sbin/bhyve: addressed comments by trociny and asommers Revered typedef | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||