All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Cc: kwolf@redhat.com, aliguori@us.ibm.com, stefanha@gmail.com,
	qemu-devel@nongnu.org, blauwirbel@gmail.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/6] snapshot: design of common API to take snapshots
Date: Fri, 21 Dec 2012 11:48:37 -0700	[thread overview]
Message-ID: <50D4AF05.1000107@redhat.com> (raw)
In-Reply-To: <1355725509-5429-4-git-send-email-xiawenc@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

On 12/16/2012 11:25 PM, Wenchao Xia wrote:
>   This patch added API to take snapshots in unified style for
> both internal or external type. The core structure is based
> on transaction, for that there is a qmp interface need to support
> , qmp_transaction, so all operations are packed as requests.
>   In this way a sperate internal layer for snapshot is splitted
> out from qmp layer, and now qmp can just translate the user request
> and fill in internal API. Internal API use params defined inside
> qemu, so other component inside qemu can use it without considering
> the qmp's parameter format.
> 

> +typedef struct SNTime {
> +    uint32_t date_sec; /* UTC date of the snapshot */

Relative to what?  Seconds since Epoch?  Shouldn't this be 64-bits, to
avoid wraparound problems in 2038?

> +typedef struct BlkSnapshotInternal {
> +    /* caller input */
> +    const char *sn_name; /* must be set in create/delete. */
> +    BlockDriverState *bs; /* must be set in create/delete */
> +    SNTime time; /* must be set in create. */
> +    uint64_t vm_state_size; /* optional, default is 0, only valid in create. */
> +    /* following were used internal */

Prefer present tense: The following are for internal use

> +
> +/* for simple sync type params were all put here ignoring the difference of
> +   different operation type as create/delete. */
> +typedef struct BlkTransactionStatesSync {

Again, prefer present tense (avoid 'were' in comments).

> +/* async snapshot, not supported now */
> +typedef struct BlkTransactionStatesAsync {
> +    int reserved;
> +} BlkTransactionStatesAsync;

Why declare a struct if we aren't supporting it yet?

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

  reply	other threads:[~2012-12-21 18:48 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-17  6:25 [Qemu-devel] [PATCH 0/6] snapshot: take snapshots in unified way Wenchao Xia
2012-12-17  6:25 ` [Qemu-devel] [PATCH 1/6] snapshot: export function in block.c Wenchao Xia
2012-12-21 18:13   ` Juan Quintela
2012-12-25  4:31     ` Wenchao Xia
2013-01-04 14:49   ` Stefan Hajnoczi
2013-01-05  8:26     ` Wenchao Xia
2013-01-07 16:43   ` Kevin Wolf
2013-01-08  2:25     ` Wenchao Xia
2013-01-08 10:37       ` Kevin Wolf
2013-01-09  4:32         ` Wenchao Xia
2012-12-17  6:25 ` [Qemu-devel] [PATCH 2/6] snapshot: add error set function Wenchao Xia
2012-12-20 21:36   ` Eric Blake
2012-12-21  2:37     ` Wenchao Xia
2013-01-04 14:55   ` Stefan Hajnoczi
2013-01-05  8:27     ` Wenchao Xia
2012-12-17  6:25 ` [Qemu-devel] [PATCH 3/6] snapshot: design of common API to take snapshots Wenchao Xia
2012-12-21 18:48   ` Eric Blake [this message]
2012-12-25  5:25     ` Wenchao Xia
2012-12-21 18:49   ` Juan Quintela
2012-12-25  5:24     ` Wenchao Xia
2012-12-17  6:25 ` [Qemu-devel] [PATCH 4/6] snapshot: implemention " Wenchao Xia
2012-12-17  6:36   ` Dietmar Maurer
2012-12-17  7:38     ` Wenchao Xia
2012-12-17  7:52       ` Dietmar Maurer
2012-12-17  8:52         ` Wenchao Xia
2012-12-17  9:58           ` Dietmar Maurer
2012-12-20 22:19             ` Eric Blake
2012-12-21  3:01               ` Wenchao Xia
2012-12-21  6:20                 ` Dietmar Maurer
2013-01-04 16:13                   ` Stefan Hajnoczi
2012-12-17 10:32           ` Dietmar Maurer
2012-12-18 10:29             ` Wenchao Xia
2012-12-18 10:36               ` Dietmar Maurer
2012-12-19  3:34                 ` Wenchao Xia
2012-12-19  4:55                   ` Dietmar Maurer
2012-12-19  5:37                     ` Wenchao Xia
2012-12-21 18:48   ` Juan Quintela
2012-12-25  5:16     ` Wenchao Xia
2012-12-17  6:25 ` [Qemu-devel] [PATCH 5/6] snapshot: qmp interface Wenchao Xia
2013-01-02 14:52   ` Eric Blake
2013-01-04  6:02     ` Wenchao Xia
2013-01-04 13:57       ` Eric Blake
2013-01-04 16:22   ` Stefan Hajnoczi
2013-01-05  8:38     ` Wenchao Xia
2012-12-17  6:25 ` [Qemu-devel] [PATCH 6/6] snapshot: human monitor interface Wenchao Xia
2013-01-04 15:44   ` Stefan Hajnoczi
2013-01-05  8:36     ` Wenchao Xia

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=50D4AF05.1000107@redhat.com \
    --to=eblake@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=blauwirbel@gmail.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=xiawenc@linux.vnet.ibm.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.