mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
nbd: move socket wrappers to qemu-nbd
qemu-nbd is one of the few valid users of qerror_report_err. Move the error-reporting socket wrappers there. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
c06b72781d
commit
537b41f501
3 changed files with 52 additions and 54 deletions
50
nbd.c
50
nbd.c
|
@ -188,56 +188,6 @@ static ssize_t write_sync(int fd, void *buffer, size_t size)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void combine_addr(char *buf, size_t len, const char* address,
|
||||
uint16_t port)
|
||||
{
|
||||
/* If the address-part contains a colon, it's an IPv6 IP so needs [] */
|
||||
if (strstr(address, ":")) {
|
||||
snprintf(buf, len, "[%s]:%u", address, port);
|
||||
} else {
|
||||
snprintf(buf, len, "%s:%u", address, port);
|
||||
}
|
||||
}
|
||||
|
||||
int tcp_socket_incoming(const char *address, uint16_t port)
|
||||
{
|
||||
char address_and_port[128];
|
||||
Error *local_err = NULL;
|
||||
|
||||
combine_addr(address_and_port, 128, address, port);
|
||||
int fd = inet_listen(address_and_port, NULL, 0, SOCK_STREAM, 0, &local_err);
|
||||
|
||||
if (local_err != NULL) {
|
||||
qerror_report_err(local_err);
|
||||
error_free(local_err);
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
||||
int unix_socket_incoming(const char *path)
|
||||
{
|
||||
Error *local_err = NULL;
|
||||
int fd = unix_listen(path, NULL, 0, &local_err);
|
||||
|
||||
if (local_err != NULL) {
|
||||
qerror_report_err(local_err);
|
||||
error_free(local_err);
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
||||
int unix_socket_outgoing(const char *path)
|
||||
{
|
||||
Error *local_err = NULL;
|
||||
int fd = unix_connect(path, &local_err);
|
||||
|
||||
if (local_err != NULL) {
|
||||
qerror_report_err(local_err);
|
||||
error_free(local_err);
|
||||
}
|
||||
return fd;
|
||||
}
|
||||
|
||||
/* Basic flow for negotiation
|
||||
|
||||
Server Client
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue