]> git.proxmox.com Git - mirror_qemu.git/commit
nbd: convert block client to use I/O channels for connection setup
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 10 Feb 2016 18:41:01 +0000 (18:41 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Feb 2016 16:13:22 +0000 (17:13 +0100)
commit064097d919508e8636b220baedb52b382b9b07c6
tree0af56e405e3316ed219c4c874a9101d305c81327
parent0ab3b3375b362e4ea53714e8448eaf60d311daac
nbd: convert block client to use I/O channels for connection setup

This converts the NBD block driver client to use the QIOChannelSocket
class for initial connection setup. The NbdClientSession struct has
two pointers, one to the master QIOChannelSocket providing the raw
data channel, and one to a QIOChannel which is the current channel
used for I/O. Initially the two point to the same object, but when
TLS support is added, they will point to different objects.

The qemu-img & qemu-io tools now need to use MODULE_INIT_QOM to
ensure the QIOChannel object classes are registered. The qemu-nbd
tool already did this.

In this initial conversion though, all I/O is still actually done
using the raw POSIX sockets APIs.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <1455129674-17255-4-git-send-email-berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Makefile
block/nbd-client.c
block/nbd-client.h
block/nbd.c
qemu-img.c
qemu-io.c
tests/Makefile