From: Jay Zhou <jianjay.zhou@huawei.com>
To: qemu-devel@nongnu.org
Cc: quintela@redhat.com, dgilbert@redhat.com,
weidong.huang@huawei.com, wangxinxin.wang@huawei.com
Subject: Re: [Qemu-devel] [PATCH] docs/devel/migration.txt: keep functions consistent with the code
Date: Tue, 5 Dec 2017 10:18:04 +0800 [thread overview]
Message-ID: <5A2601DC.9080309@huawei.com> (raw)
In-Reply-To: <1511426872-13980-1-git-send-email-jianjay.zhou@huawei.com>
Hi,
Does this document update make sense?
Regards,
Jay
On 2017/11/23 16:47, Jay Zhou wrote:
> Since the commit 11808bb0c422134bf09119f4aa22c59b0ce84bf3 removed
> the put_buffer callback and using an iovec based write handler instead,
> the docs should be sync with the code too.
>
> Signed-off-by: Jay Zhou <jianjay.zhou@huawei.com>
> ---
> docs/devel/migration.txt | 31 ++++++++++++++++++-------------
> 1 file changed, 18 insertions(+), 13 deletions(-)
>
> diff --git a/docs/devel/migration.txt b/docs/devel/migration.txt
> index 4030703..e7b08c9 100644
> --- a/docs/devel/migration.txt
> +++ b/docs/devel/migration.txt
> @@ -52,26 +52,31 @@ QEMU uses a QEMUFile abstraction to be able to do migration. Any type
> of migration that wants to use QEMU infrastructure has to create a
> QEMUFile with:
>
> -QEMUFile *qemu_fopen_ops(void *opaque,
> - QEMUFilePutBufferFunc *put_buffer,
> - QEMUFileGetBufferFunc *get_buffer,
> - QEMUFileCloseFunc *close);
> +typedef struct QEMUFileOps {
> + QEMUFileGetBufferFunc *get_buffer;
> + QEMUFileCloseFunc *close;
> + QEMUFileSetBlocking *set_blocking;
> + QEMUFileWritevBufferFunc *writev_buffer;
> + QEMURetPathFunc *get_return_path;
> + QEMUFileShutdownFunc *shut_down;
> +} QEMUFileOps;
>
> -The functions have the following functionality:
> +QEMUFile *qemu_fopen_ops(void *opaque, const QEMUFileOps *ops);
>
> -This function writes a chunk of data to a file at the given position.
> -The pos argument can be ignored if the file is only used for
> -streaming. The handler should try to write all of the data it can.
> +The main functions of QEMUFileOps have the following functionality:
>
> -typedef int (QEMUFilePutBufferFunc)(void *opaque, const uint8_t *buf,
> - int64_t pos, int size);
> +This function writes an iovec to file. The handler must write all
> +of the data or return a negative errno value.
> +
> +typedef ssize_t (QEMUFileWritevBufferFunc)(void *opaque, struct iovec *iov,
> + int iovcnt, int64_t pos);
>
> Read a chunk of data from a file at the given position. The pos argument
> can be ignored if the file is only be used for streaming. The number of
> bytes actually read should be returned.
>
> -typedef int (QEMUFileGetBufferFunc)(void *opaque, uint8_t *buf,
> - int64_t pos, int size);
> +typedef ssize_t (QEMUFileGetBufferFunc)(void *opaque, uint8_t *buf,
> + int64_t pos, int size);
>
> Close a file and return an error code.
>
> @@ -80,7 +85,7 @@ typedef int (QEMUFileCloseFunc)(void *opaque);
> You can use any internal state that you need using the opaque void *
> pointer that is passed to all functions.
>
> -The important functions for us are put_buffer()/get_buffer() that
> +The important functions for us are writev_buffer()/get_buffer() that
> allow to write/read a buffer into the QEMUFile.
>
> === How to save the state of one device ===
>
next prev parent reply other threads:[~2017-12-05 3:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-23 8:47 [Qemu-devel] [PATCH] docs/devel/migration.txt: keep functions consistent with the code Jay Zhou
2017-11-23 9:15 ` no-reply
2017-11-24 1:05 ` Jay Zhou
2017-11-24 9:46 ` Dr. David Alan Gilbert
2017-12-05 2:18 ` Jay Zhou [this message]
2017-12-05 19:58 ` Dr. David Alan Gilbert
2017-12-15 12:21 ` Daniel P. Berrange
2017-12-15 15:15 ` Dr. David Alan Gilbert
2017-12-18 1:36 ` Zhoujian (jay)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5A2601DC.9080309@huawei.com \
--to=jianjay.zhou@huawei.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=wangxinxin.wang@huawei.com \
--cc=weidong.huang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.