]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
tests: verify RBD flags are updated when enabling/disabling features
authorJason Dillaman <dillaman@redhat.com>
Tue, 14 Apr 2015 13:40:11 +0000 (09:40 -0400)
committerJason Dillaman <dillaman@redhat.com>
Tue, 14 Apr 2015 16:47:57 +0000 (12:47 -0400)
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
src/test/librbd/test_librbd.cc

index d6f676dbd4d3e3db9404bfc721248705a648e94a..134a08bde806c93f421c1979a32064e345edcf2f 100644 (file)
@@ -2887,13 +2887,27 @@ TEST_F(TestLibRBD, UpdateFeatures)
   ASSERT_EQ(0, image.update_features(RBD_FEATURE_OBJECT_MAP |
                                        RBD_FEATURE_FAST_DIFF, true));
 
+  uint64_t expected_flags = RBD_FLAG_OBJECT_MAP_INVALID |
+                            RBD_FLAG_FAST_DIFF_INVALID;
+  uint64_t flags;
+  ASSERT_EQ(0, image.get_flags(&flags));
+  ASSERT_EQ(expected_flags, flags);
+
   // cannot disable object map w/ fast diff
   ASSERT_EQ(-EINVAL, image.update_features(RBD_FEATURE_OBJECT_MAP, false));
   ASSERT_EQ(0, image.update_features(RBD_FEATURE_FAST_DIFF, false));
 
+  expected_flags = RBD_FLAG_OBJECT_MAP_INVALID;
+  ASSERT_EQ(0, image.get_flags(&flags));
+  ASSERT_EQ(expected_flags, flags);
+
   // cannot disable exclusive lock w/ object map
   ASSERT_EQ(-EINVAL, image.update_features(RBD_FEATURE_EXCLUSIVE_LOCK, false));
   ASSERT_EQ(0, image.update_features(RBD_FEATURE_OBJECT_MAP, false));
+
+  ASSERT_EQ(0, image.get_flags(&flags));
+  ASSERT_EQ(0U, flags);
+
   ASSERT_EQ(0, image.update_features(RBD_FEATURE_EXCLUSIVE_LOCK, false));
 }