On Wed, Jul 15, 2020 at 12:47 AM Bobby <italienisch1987@gmail.com> wrote:
Hi Ilya,
Thanks for the reply. It's basically both i.e. I have a specific project
currently and also I am looking to make ceph-fuse faster.
But for now, let me ask specifically the project based question. In the
Hi, I completely agree to what you said regarding Ceph client. This is exactly my understanding of a Ceph client. And regarding blk-mq, I meant for a block device. A multi-queue implementation of a block device. On Wednesday, July 15, 2020, Ilya Dryomov <idryomov@gmail.com> wrote: project I have to write a blk-mq kernel driver for the Ceph client machine. The Ceph client machine will transfer the data to HBA or lets say any embedded device.
What is a "Ceph client machine"?
A Ceph client (or more specifically a RADOS client) speaks RADOS protocol and transfers data to OSD daemons. It can't transfer data directly to a physical device because something has to take care of replication, ensure consistency and self healing, etc. This is the job of the OSD.
My hope is that there can be an alternative and that alternative is to
Also AFAIK, the Ceph’s block storage implementation uses a client module
and this client module has two implementations librbd (user-space) and krbd (kernel module). I have not gone deep into these client modules. but can
not implement a blk-mq kernel driver and instead do the stuff in userspace. I am trying to avoid writing a blk-mq kernel driver and yet achieve the multi-queue implementation through userspace. Is it possible? librbd help me with this?
I guess I don't understand the goal of your project. A multi-queue implementation of what exactly? A Ceph block device, a Ceph filesystem or something else entirely? It would help if you were more specific because "a multi-queue driver for Ceph" is really vague.
Thanks,
Ilya