Merge pull request #20692 from idryomov/wip-krbd-huge-image-test

qa: krbd huge-image test

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
This commit is contained in:
Ilya Dryomov 2018-03-03 13:18:33 +01:00 committed by GitHub
commit 1ea80cf693
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 46 additions and 0 deletions

41
qa/rbd/krbd_huge_image.t Normal file
View File

@ -0,0 +1,41 @@
$ get_field() {
> rbd info --format=json $1 | python -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)
$ hexdump -n 1048576 $DEV
0000000 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
0000200 0000 0000 0000 0000 0000 0000 0000 0000
*
0100000
$ hexdump -s 4611686018426339328 $DEV
3ffffffffff00000 0000 0000 0000 0000 0000 0000 0000 0000
*
3ffffffffffffe00 cdcd cdcd cdcd cdcd cdcd cdcd cdcd cdcd
*
4000000000000000
$ sudo rbd unmap $DEV
$ ceph osd pool delete hugeimg hugeimg --yes-i-really-really-mean-it >/dev/null 2>&1

View File

@ -0,0 +1,5 @@
tasks:
- cram:
clients:
client.0:
- http://git.ceph.com/?p={repo};a=blob_plain;hb={branch};f=qa/rbd/krbd_huge_image.t