qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qemu and own disk driver writing questions


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] qemu and own disk driver writing questions
Date: Tue, 18 Apr 2017 18:14:57 +0100
User-agent: Mutt/1.8.0 (2017-02-23)

On Thu, Apr 13, 2017 at 01:57:17PM +0300, Vasiliy Tolstov wrote:
> Hi! If i want to develop some sort of qemu network block driver to own
> storage. I can write qemu driver or tcmu / scst userspace driver and
> attach to qemu block device (i'm use linux)
> So in theory what path have minimal overhead in case of memory copy
> and performance?
> Where i can find some info how qemu works with data that needs to be
> written or readed from block device passed to vm?

The best approach depends on your requirements.  If you want the code to
be merged into qemu.git it's important to discuss the requirements first
so that everyone is on board with adding another block driver.

Three options:

1. Implement iSCSI, NBD, or NFS on your storage server.  Doesn't require
   new QEMU code and users don't need to upgrade QEMU.

2. Implement a block driver in block/.  See iSCSI and other network
   protocol drivers for examples.  Useful if your storage system offers
   snapshot features.

3. Implement vhost-user-scsi in your storage server.  You need to write
   a virtio-scsi backend that runs in a separate userspace process on
   the host.  You are limited to supporting the virtio-scsi device - no
   IDE, SATA, virtio-blk, etc.  vhost-user-scsi is still under active
   development and you may need to contribute to it if you hit
   limitations/bugs.  Requires low-level knowledge of virtio.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]