]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: group image add/remove ops should notify update
authorJason Dillaman <dillaman@redhat.com>
Tue, 16 Jan 2018 20:37:32 +0000 (15:37 -0500)
committerJason Dillaman <dillaman@redhat.com>
Fri, 26 Jan 2018 15:32:40 +0000 (10:32 -0500)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/librbd/api/Group.cc

index 07fbd6d403fd6cc4ece830bc858b4d859f0bc4fd..e6deec1cc1ef55a99d39dc2f868162da49bdf6fd 100644 (file)
@@ -7,6 +7,7 @@
 #include "librbd/api/Group.h"
 #include "librbd/ImageCtx.h"
 #include "librbd/ImageState.h"
+#include "librbd/ImageWatcher.h"
 #include "librbd/Operations.h"
 #include "librbd/Utils.h"
 #include "librbd/io/AioCompletion.h"
@@ -190,6 +191,8 @@ int group_image_remove(librados::IoCtx& group_ioctx, string group_id,
     lderr(cct) << "couldn't remove group reference from image"
               << cpp_strerror(-r) << dendl;
     return r;
+  } else if (r >= 0) {
+    ImageWatcher<>::notify_header_update(image_ioctx, image_header_oid);
   }
 
   r = cls_client::group_image_remove(&group_ioctx, group_header_oid, spec);
@@ -548,6 +551,7 @@ int Group<I>::image_add(librados::IoCtx& group_ioctx, const char *group_name,
     // Ignore errors in the clean up procedure.
     return r;
   }
+  ImageWatcher<>::notify_header_update(image_ioctx, image_header_oid);
 
   r = cls_client::group_image_set(&group_ioctx, group_header_oid,
                                  attached_st);