summaryrefslogtreecommitdiffstats
path: root/qa/rbd/krbd_huge_image.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /qa/rbd/krbd_huge_image.t
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qa/rbd/krbd_huge_image.t')
-rw-r--r--qa/rbd/krbd_huge_image.t41
1 files changed, 41 insertions, 0 deletions
diff --git a/qa/rbd/krbd_huge_image.t b/qa/rbd/krbd_huge_image.t
new file mode 100644
index 000000000..e0ce6a954
--- /dev/null
+++ b/qa/rbd/krbd_huge_image.t
@@ -0,0 +1,41 @@
+
+ $ get_field() {
+ > rbd info --format=json $1 | python3 -c "import sys, json; print(json.load(sys.stdin)['$2'])"
+ > }
+
+Write to first and last sectors and make sure we hit the right objects:
+
+ $ ceph osd pool create hugeimg 12 >/dev/null 2>&1
+ $ rbd pool init hugeimg
+ $ rbd create --size 4E --object-size 4K --image-feature layering hugeimg/img
+ $ DEV=$(sudo rbd map hugeimg/img)
+ $ xfs_io -c 'pwrite 0 512' $DEV >/dev/null # first sector
+ $ xfs_io -c 'pwrite 4611686018427387392 512' $DEV >/dev/null # last sector
+ $ sudo rbd unmap $DEV
+
+ $ get_field hugeimg/img size
+ 4611686018427387904
+ $ get_field hugeimg/img objects
+ 1125899906842624
+ $ rados -p hugeimg ls | grep $(get_field hugeimg/img block_name_prefix) | sort
+ .*\.0000000000000000 (re)
+ .*\.0003ffffffffffff (re)
+
+Dump first and last megabytes:
+
+ $ DEV=$(sudo rbd map hugeimg/img)
+ $ dd if=$DEV bs=1M count=1 status=none | hexdump
+ 0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
+ *
+ 0000200 0000 0000 0000 0000 0000 0000 0000 0000
+ *
+ 0100000
+ $ dd if=$DEV bs=1M skip=4398046511103 status=none | hexdump
+ 0000000 0000 0000 0000 0000 0000 0000 0000 0000
+ *
+ 00ffe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
+ *
+ 0100000
+ $ sudo rbd unmap $DEV
+
+ $ ceph osd pool delete hugeimg hugeimg --yes-i-really-really-mean-it >/dev/null 2>&1