mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
nbd: Introduce NBD named exports.
This patch allows to connect Qemu using NBD protocol to an nbd-server using named exports. For instance, if on the host "isoserver", in /etc/nbd-server/config, you have: [generic] [debian-500-ppc-netinst] exportname = /ISO/debian-500-powerpc-netinst.iso [Fedora-10-ppc-netinst] exportname = /ISO/Fedora-10-ppc-netinst.iso You can connect to it, using: qemu -cdrom nbd:isoserver:exportname=debian-500-ppc-netinst qemu -cdrom nbd:isoserver:exportname=Fedora-10-ppc-netinst NOTE: you need at least nbd-server 2.9.18 Signed-off-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
2aa326be0d
commit
1d45f8b542
5 changed files with 168 additions and 32 deletions
5
nbd.h
5
nbd.h
|
@ -42,6 +42,8 @@ enum {
|
|||
NBD_CMD_DISC = 2
|
||||
};
|
||||
|
||||
#define NBD_DEFAULT_PORT 10809
|
||||
|
||||
size_t nbd_wr_sync(int fd, void *buffer, size_t size, bool do_read);
|
||||
int tcp_socket_outgoing(const char *address, uint16_t port);
|
||||
int tcp_socket_incoming(const char *address, uint16_t port);
|
||||
|
@ -49,7 +51,8 @@ int unix_socket_outgoing(const char *path);
|
|||
int unix_socket_incoming(const char *path);
|
||||
|
||||
int nbd_negotiate(int csock, off_t size);
|
||||
int nbd_receive_negotiate(int csock, off_t *size, size_t *blocksize);
|
||||
int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags,
|
||||
off_t *size, size_t *blocksize);
|
||||
int nbd_init(int fd, int csock, off_t size, size_t blocksize);
|
||||
int nbd_send_request(int csock, struct nbd_request *request);
|
||||
int nbd_receive_reply(int csock, struct nbd_reply *reply);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue