]>
Commit | Line | Data |
---|---|---|
de88b788 DM |
1 | Index: new/block.c |
2 | =================================================================== | |
92bf040c DM |
3 | --- new.orig/block.c 2013-02-12 12:05:14.000000000 +0100 |
4 | +++ new/block.c 2013-02-12 12:06:52.000000000 +0100 | |
5 | @@ -3162,6 +3162,28 @@ | |
de88b788 DM |
6 | return -ENOTSUP; |
7 | } | |
8 | ||
9 | +int bdrv_snapshot_find(BlockDriverState *bs, QEMUSnapshotInfo *sn_info, | |
10 | + const char *name) | |
11 | +{ | |
12 | + QEMUSnapshotInfo *sn_tab, *sn; | |
13 | + int nb_sns, i, ret; | |
14 | + | |
15 | + ret = -ENOENT; | |
16 | + nb_sns = bdrv_snapshot_list(bs, &sn_tab); | |
17 | + if (nb_sns < 0) | |
18 | + return ret; | |
19 | + for(i = 0; i < nb_sns; i++) { | |
20 | + sn = &sn_tab[i]; | |
21 | + if (!strcmp(sn->id_str, name) || !strcmp(sn->name, name)) { | |
22 | + *sn_info = *sn; | |
23 | + ret = 0; | |
24 | + break; | |
25 | + } | |
26 | + } | |
27 | + g_free(sn_tab); | |
28 | + return ret; | |
29 | +} | |
30 | + | |
31 | int bdrv_snapshot_load_tmp(BlockDriverState *bs, | |
32 | const char *snapshot_name) | |
33 | { | |
92bf040c | 34 | Index: new/include/block/block.h |
de88b788 | 35 | =================================================================== |
92bf040c DM |
36 | --- new.orig/include/block/block.h 2013-02-12 12:05:14.000000000 +0100 |
37 | +++ new/include/block/block.h 2013-02-12 12:06:52.000000000 +0100 | |
38 | @@ -331,6 +331,8 @@ | |
de88b788 DM |
39 | int bdrv_snapshot_delete(BlockDriverState *bs, const char *snapshot_id); |
40 | int bdrv_snapshot_list(BlockDriverState *bs, | |
41 | QEMUSnapshotInfo **psn_info); | |
42 | +int bdrv_snapshot_find(BlockDriverState *bs, QEMUSnapshotInfo *sn_info, | |
43 | + const char *name); | |
44 | int bdrv_snapshot_load_tmp(BlockDriverState *bs, | |
45 | const char *snapshot_name); | |
46 | char *bdrv_snapshot_dump(char *buf, int buf_size, QEMUSnapshotInfo *sn); | |
47 | Index: new/savevm.c | |
48 | =================================================================== | |
92bf040c DM |
49 | --- new.orig/savevm.c 2013-02-12 12:05:14.000000000 +0100 |
50 | +++ new/savevm.c 2013-02-12 12:06:52.000000000 +0100 | |
51 | @@ -2055,28 +2055,6 @@ | |
de88b788 DM |
52 | return ret; |
53 | } | |
54 | ||
55 | -static int bdrv_snapshot_find(BlockDriverState *bs, QEMUSnapshotInfo *sn_info, | |
56 | - const char *name) | |
57 | -{ | |
58 | - QEMUSnapshotInfo *sn_tab, *sn; | |
59 | - int nb_sns, i, ret; | |
60 | - | |
61 | - ret = -ENOENT; | |
62 | - nb_sns = bdrv_snapshot_list(bs, &sn_tab); | |
63 | - if (nb_sns < 0) | |
64 | - return ret; | |
65 | - for(i = 0; i < nb_sns; i++) { | |
66 | - sn = &sn_tab[i]; | |
67 | - if (!strcmp(sn->id_str, name) || !strcmp(sn->name, name)) { | |
68 | - *sn_info = *sn; | |
69 | - ret = 0; | |
70 | - break; | |
71 | - } | |
72 | - } | |
73 | - g_free(sn_tab); | |
74 | - return ret; | |
75 | -} | |
76 | - | |
77 | /* | |
78 | * Deletes snapshots of a given name in all opened images. | |
79 | */ |