mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 03:13:44 +08:00
nbd: Move nbd_read_eof() to nbd/client.c
The only caller of nbd_read_eof() is nbd_receive_reply(), so it doesn't have to live in the header file, but can move next to its caller. Also add the missing coroutine_fn to the function and its caller. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
2a239e6e03
commit
a7b78fc944
@ -300,7 +300,8 @@ int nbd_receive_export_list(QIOChannel *ioc, QCryptoTLSCreds *tlscreds,
|
||||
int nbd_init(int fd, QIOChannelSocket *sioc, NBDExportInfo *info,
|
||||
Error **errp);
|
||||
int nbd_send_request(QIOChannel *ioc, NBDRequest *request);
|
||||
int nbd_receive_reply(QIOChannel *ioc, NBDReply *reply, Error **errp);
|
||||
int coroutine_fn nbd_receive_reply(QIOChannel *ioc, NBDReply *reply,
|
||||
Error **errp);
|
||||
int nbd_client(int fd);
|
||||
int nbd_disconnect(int fd);
|
||||
int nbd_errno_to_system_errno(int err);
|
||||
|
22
nbd/client.c
22
nbd/client.c
@ -1387,12 +1387,32 @@ static int nbd_receive_structured_reply_chunk(QIOChannel *ioc,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* nbd_read_eof
|
||||
* Tries to read @size bytes from @ioc.
|
||||
* Returns 1 on success
|
||||
* 0 on eof, when no data was read (errp is not set)
|
||||
* negative errno on failure (errp is set)
|
||||
*/
|
||||
static inline int coroutine_fn
|
||||
nbd_read_eof(QIOChannel *ioc, void *buffer, size_t size, Error **errp)
|
||||
{
|
||||
int ret;
|
||||
|
||||
assert(size);
|
||||
ret = qio_channel_read_all_eof(ioc, buffer, size, errp);
|
||||
if (ret < 0) {
|
||||
ret = -EIO;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* nbd_receive_reply
|
||||
* Returns 1 on success
|
||||
* 0 on eof, when no data was read (errp is not set)
|
||||
* negative errno on failure (errp is set)
|
||||
*/
|
||||
int nbd_receive_reply(QIOChannel *ioc, NBDReply *reply, Error **errp)
|
||||
int coroutine_fn nbd_receive_reply(QIOChannel *ioc, NBDReply *reply,
|
||||
Error **errp)
|
||||
{
|
||||
int ret;
|
||||
const char *type;
|
||||
|
@ -64,25 +64,6 @@
|
||||
#define NBD_SET_TIMEOUT _IO(0xab, 9)
|
||||
#define NBD_SET_FLAGS _IO(0xab, 10)
|
||||
|
||||
/* nbd_read_eof
|
||||
* Tries to read @size bytes from @ioc.
|
||||
* Returns 1 on success
|
||||
* 0 on eof, when no data was read (errp is not set)
|
||||
* negative errno on failure (errp is set)
|
||||
*/
|
||||
static inline int nbd_read_eof(QIOChannel *ioc, void *buffer, size_t size,
|
||||
Error **errp)
|
||||
{
|
||||
int ret;
|
||||
|
||||
assert(size);
|
||||
ret = qio_channel_read_all_eof(ioc, buffer, size, errp);
|
||||
if (ret < 0) {
|
||||
ret = -EIO;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* nbd_write
|
||||
* Writes @size bytes to @ioc. Returns 0 on success.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user