]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: krbd parent-overlap test 20721/head
authorIlya Dryomov <idryomov@gmail.com>
Wed, 28 Feb 2018 10:36:40 +0000 (11:36 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 5 Mar 2018 13:26:42 +0000 (14:26 +0100)
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
qa/rbd/krbd_parent_overlap.t [new file with mode: 0644]
qa/suites/krbd/basic/tasks/krbd_parent_overlap.yaml [new file with mode: 0644]

diff --git a/qa/rbd/krbd_parent_overlap.t b/qa/rbd/krbd_parent_overlap.t
new file mode 100644 (file)
index 0000000..47deda9
--- /dev/null
@@ -0,0 +1,64 @@
+
+For reads, only the object extent needs to be reverse mapped:
+
+  $ rbd create --size 20M img
+  $ DEV=$(sudo rbd map img)
+  $ xfs_io -c 'pwrite 0 20M' $DEV >/dev/null
+  $ sudo rbd unmap $DEV
+  $ rbd snap create img@snap
+  $ rbd snap protect img@snap
+  $ rbd clone img@snap cloneimg
+  $ rbd resize --no-progress --size 5M --allow-shrink cloneimg
+  $ rbd resize --no-progress --size 20M cloneimg
+  $ DEV=$(sudo rbd map cloneimg)
+  $ hexdump $DEV
+  0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
+  *
+  0500000 0000 0000 0000 0000 0000 0000 0000 0000
+  *
+  1400000
+  $ sudo rbd unmap $DEV
+  $ rbd rm --no-progress cloneimg
+  $ rbd snap unprotect img@snap
+  $ rbd snap rm --no-progress img@snap
+  $ rbd rm --no-progress img
+
+For writes, the entire object needs to be reverse mapped:
+
+  $ rbd create --size 2M img
+  $ DEV=$(sudo rbd map img)
+  $ xfs_io -c 'pwrite 0 1M' $DEV >/dev/null
+  $ sudo rbd unmap $DEV
+  $ rbd snap create img@snap
+  $ rbd snap protect img@snap
+  $ rbd clone img@snap cloneimg
+  $ rbd resize --no-progress --size 8M cloneimg
+  $ DEV=$(sudo rbd map cloneimg)
+  $ xfs_io -c 'pwrite -S 0xef 3M 1M' $DEV >/dev/null
+  $ hexdump $DEV
+  0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
+  *
+  0100000 0000 0000 0000 0000 0000 0000 0000 0000
+  *
+  0300000 efef efef efef efef efef efef efef efef
+  *
+  0400000 0000 0000 0000 0000 0000 0000 0000 0000
+  *
+  0800000
+  $ sudo rbd unmap $DEV
+  $ DEV=$(sudo rbd map cloneimg)
+  $ hexdump $DEV
+  0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
+  *
+  0100000 0000 0000 0000 0000 0000 0000 0000 0000
+  *
+  0300000 efef efef efef efef efef efef efef efef
+  *
+  0400000 0000 0000 0000 0000 0000 0000 0000 0000
+  *
+  0800000
+  $ sudo rbd unmap $DEV
+  $ rbd rm --no-progress cloneimg
+  $ rbd snap unprotect img@snap
+  $ rbd snap rm --no-progress img@snap
+  $ rbd rm --no-progress img
diff --git a/qa/suites/krbd/basic/tasks/krbd_parent_overlap.yaml b/qa/suites/krbd/basic/tasks/krbd_parent_overlap.yaml
new file mode 100644 (file)
index 0000000..c7d3857
--- /dev/null
@@ -0,0 +1,5 @@
+tasks:
+- cram:
+    clients:
+      client.0:
+      - http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/rbd/krbd_parent_overlap.t