mirror of https://gitee.com/openkylin/qemu.git
nbd/server: Add va_list form of nbd_negotiate_send_rep_err()
This will be useful for the next patch. Based on a patch by Vladimir Sementsov-Ogievskiy Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20180110230825.18321-5-eblake@redhat.com>
This commit is contained in:
parent
32f158a635
commit
41f5dfafbb
24
nbd/server.c
24
nbd/server.c
|
@ -186,18 +186,15 @@ static int nbd_negotiate_send_rep(NBDClient *client, uint32_t type,
|
|||
|
||||
/* Send an error reply.
|
||||
* Return -errno on error, 0 on success. */
|
||||
static int GCC_FMT_ATTR(4, 5)
|
||||
nbd_negotiate_send_rep_err(NBDClient *client, uint32_t type,
|
||||
Error **errp, const char *fmt, ...)
|
||||
static int GCC_FMT_ATTR(4, 0)
|
||||
nbd_negotiate_send_rep_verr(NBDClient *client, uint32_t type,
|
||||
Error **errp, const char *fmt, va_list va)
|
||||
{
|
||||
va_list va;
|
||||
char *msg;
|
||||
int ret;
|
||||
size_t len;
|
||||
|
||||
va_start(va, fmt);
|
||||
msg = g_strdup_vprintf(fmt, va);
|
||||
va_end(va);
|
||||
len = strlen(msg);
|
||||
assert(len < 4096);
|
||||
trace_nbd_negotiate_send_rep_err(msg);
|
||||
|
@ -217,6 +214,21 @@ out:
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Send an error reply.
|
||||
* Return -errno on error, 0 on success. */
|
||||
static int GCC_FMT_ATTR(4, 5)
|
||||
nbd_negotiate_send_rep_err(NBDClient *client, uint32_t type,
|
||||
Error **errp, const char *fmt, ...)
|
||||
{
|
||||
va_list va;
|
||||
int ret;
|
||||
|
||||
va_start(va, fmt);
|
||||
ret = nbd_negotiate_send_rep_verr(client, type, errp, fmt, va);
|
||||
va_end(va);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Send a single NBD_REP_SERVER reply to NBD_OPT_LIST, including payload.
|
||||
* Return -errno on error, 0 on success. */
|
||||
static int nbd_negotiate_send_rep_list(NBDClient *client, NBDExport *exp,
|
||||
|
|
Loading…
Reference in New Issue