-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
usr.sbin/bhyve: Add the block_rbd driver for Rados access #426
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the rbd driver does not need threads. The reason why they were needed for local driver is because it operated with sych read/write/etc functions. In the rbd case we can fully utilize aio functions and just had a queue for requests. But this can be improved later. As a POC I think the rbd driver is in a good shape.
At this stage we would need to concentrate on the first part, i.e. generalizing bhyve block_if to be able to hook third party backends. And for this we need to provide the API -- a header in /usr/include which could be used by drivers outside the base, and a way to dynamically load and register third party drivers. This seems to be missing so far.
Probably it is better to discuss in [1] though.
|
||
/* Room for backend-specific data. */ | ||
void *bb_opaque; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we are going to have backends outside of the base code, I think we should have a header file with this structure defined somewhere in /usr/include.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that that is going to be a good fix for not having to include everything and the kitchensick in the port.
something like /usr/include/bhyve/block_if.h
??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes
I'm a little confused. Where does AIO come in? librados isn't actually providing a block device, so I assume you aren't talking about using POSIX AIO. Are you talking about a different Ceph AIO API? |
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
96c4c1e
to
60a3452
Compare
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
60a3452
to
ace031c
Compare
This seems stalled... what's the latest status? It's also conflicting with block_if.c, so at the very least needs a rebase. |
Hi Warner,
Have not spent time on this for a while, but getting new versions of ceph into Ports. After which I ll rebase this code. Need to do so for my EuroBSD talk
—WjW
… Op 11 jun. 2021 om 20:53 heeft Warner Losh ***@***.***> het volgende geschreven:
This seems stalled... what's the latest status? It's also conflicting with block_if.c, so at the very least needs a rebase.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
It's been over a year, with no rebase. Closing. Please update and reopen if you find time. |
usr.sbin/bhyve: Add the block_rbd driver for Rados access