[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V2 07/10] snapshot: qmp use new internal API for
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH V2 07/10] snapshot: qmp use new internal API for external snapshot transaction |
Date: |
Wed, 13 Mar 2013 11:18:38 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 12.03.2013 um 09:30 hat Wenchao Xia geschrieben:
> I redesigned the structure, Following is the fake code:
>
> typedef struct BdrvActionOps {
> /* check the request's validation, allocate p_opaque if needed */
> int (*check)(BlockdevAction *action, void **p_opaque, Error **errp);
> /* take the action */
> int (*submit)(BlockdevAction *action, void *opaque, Error **errp);
> /* update emulator */
> int (*commit)(BlockdevAction *action, void *opaque, Error **errp);
> /* cancel the action */
> int (*rollback)(BlockdevAction *action, void *opaque, Error **errp);
> } BdrvActionOps;
Why do you need the split of prepare into check/submit?
If you have prepare/commit/abort, everybody will recognise this as the
standard transaction pattern because this is just how it's done.
Deviating from it needs a good justification in my opinion.
Kevin