Patchwork [v2] rbd: wire up snapshot removal and rollback functionality

login
register
mail settings
Submitter Gregory Farnum
Date Jan. 11, 2012, 7:53 p.m.
Message ID <CAF3hT9CSKMepR_rfbKsWUQrbYDJUyYpzsX5FpHXH30E8jBJYLQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/135477/
State New
Headers show

Comments

Gregory Farnum - Jan. 11, 2012, 7:53 p.m.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
---
Remove redundant warnings and add Kevin to the CC.

 block/rbd.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
Stefan Hajnoczi - Jan. 12, 2012, 9:40 a.m.
On Wed, Jan 11, 2012 at 7:53 PM, Gregory Farnum
<gregory.farnum@dreamhost.com> wrote:
> Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
> ---
> Remove redundant warnings and add Kevin to the CC.
>
>  block/rbd.c |   22 ++++++++++++++++++++++
>  1 files changed, 22 insertions(+), 0 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Kevin Wolf - Jan. 12, 2012, 9:51 a.m.
Am 12.01.2012 10:40, schrieb Stefan Hajnoczi:
> On Wed, Jan 11, 2012 at 7:53 PM, Gregory Farnum
> <gregory.farnum@dreamhost.com> wrote:
>> Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
>> ---
>> Remove redundant warnings and add Kevin to the CC.
>>
>>  block/rbd.c |   22 ++++++++++++++++++++++
>>  1 files changed, 22 insertions(+), 0 deletions(-)
> 
> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>

Thanks, applied to the block branch.

Kevin

Patch

diff --git a/block/rbd.c b/block/rbd.c
index 7a2384c..475e362 100644
--- a/block/rbd.c
+++ b/block/rbd.c
@@ -787,6 +787,26 @@  static int qemu_rbd_snap_create(BlockDriverState *bs,
     return 0;
 }

+static int qemu_rbd_snap_remove(BlockDriverState *bs,
+                                const char *snapshot_name)
+{
+    BDRVRBDState *s = bs->opaque;
+    int r;
+
+    r = rbd_snap_remove(s->image, snapshot_name);
+    return r;
+}
+
+static int qemu_rbd_snap_rollback(BlockDriverState *bs,
+                                  const char *snapshot_name)
+{
+    BDRVRBDState *s = bs->opaque;
+    int r;
+
+    r = rbd_snap_rollback(s->image, snapshot_name);
+    return r;
+}
+
 static int qemu_rbd_snap_list(BlockDriverState *bs,
                               QEMUSnapshotInfo **psn_tab)
 {
@@ -860,7 +880,9 @@  static BlockDriver bdrv_rbd = {
     .bdrv_co_flush_to_disk  = qemu_rbd_co_flush,

     .bdrv_snapshot_create   = qemu_rbd_snap_create,
+    .bdrv_snapshot_delete   = qemu_rbd_snap_remove,
     .bdrv_snapshot_list     = qemu_rbd_snap_list,
+    .bdrv_snapshot_goto     = qemu_rbd_snap_rollback,
 };

 static void bdrv_rbd_init(void)