test/librbd: added update_features RPC message to test_notify

Fixes: http://tracker.ceph.com/issues/21936
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
This commit is contained in:
Jason Dillaman 2017-10-26 10:57:20 -04:00
parent fb48989eeb
commit b003ff3200

View File

@ -64,7 +64,7 @@ def master(ioctx):
image.create_snap('snap1')
image.protect_snap('snap1')
features = features & ~(RBD_FEATURE_OBJECT_MAP | RBD_FEATURE_FAST_DIFF)
features = features & ~(RBD_FEATURE_FAST_DIFF)
RBD().clone(ioctx, PARENT_IMG_NAME, 'snap1', ioctx, CLONE_IMG_NAME,
features=features)
with Image(ioctx, CLONE_IMG_NAME) as image:
@ -102,7 +102,6 @@ def slave(ioctx):
print("rename")
RBD().rename(ioctx, CLONE_IMG_NAME, CLONE_IMG_RENAME);
assert(not image.is_exclusive_lock_owner())
with Image(ioctx, CLONE_IMG_RENAME) as image:
print("flatten")
@ -141,10 +140,17 @@ def slave(ioctx):
assert(not image.is_exclusive_lock_owner())
assert(list(image.list_snaps()) == [])
print("rebuild object map")
print("update_features")
assert((image.features() & RBD_FEATURE_OBJECT_MAP) != 0)
image.update_features(RBD_FEATURE_OBJECT_MAP, False)
assert(not image.is_exclusive_lock_owner())
assert((image.features() & RBD_FEATURE_OBJECT_MAP) == 0)
image.update_features(RBD_FEATURE_OBJECT_MAP, True)
assert(not image.is_exclusive_lock_owner())
assert((image.features() & RBD_FEATURE_OBJECT_MAP) != 0)
assert((image.flags() & RBD_FLAG_OBJECT_MAP_INVALID) != 0)
print("rebuild object map")
image.rebuild_object_map()
assert(not image.is_exclusive_lock_owner())
assert((image.flags() & RBD_FLAG_OBJECT_MAP_INVALID) == 0)