Open knikolla opened 4 months ago
Made progress getting bdevio
tests to run on a RBD (non LSVD backend)
Starting bdevio
with the -w
flag starts SPDK and awaits RPC calls to configure the bdev
and perform tests.
knikolla@mini:~/workdir/lsvd-rbd/subprojects/spdk$ sudo ./test/bdev/bdevio/bdevio -w
[2024-07-17 14:35:29.565108] Starting SPDK v24.01 git sha1 0786843 / DPDK 23.11.0 initialization...
[2024-07-17 14:35:29.565192] [ DPDK EAL parameters: bdevio --no-shconf -c 0x7 --huge-unlink --no-telemetry --log-level=lib.eal:6 --log-level=lib.cryptodev:5 --log-level=user1:6 --iova-mode=pa --base-virtaddr=0x200000000000 --match-allocations --file-prefix=spdk_pid2453401 ]
[2024-07-17 14:35:29.588585] app.c: 798:spdk_app_start: *NOTICE*: Total cores available: 3
[2024-07-17 14:35:29.671994] reactor.c: 937:reactor_run: *NOTICE*: Reactor started on core 1
[2024-07-17 14:35:29.672094] reactor.c: 937:reactor_run: *NOTICE*: Reactor started on core 2
[2024-07-17 14:35:29.672099] reactor.c: 937:reactor_run: *NOTICE*: Reactor started on core 0
[2024-07-17 14:40:48.163231] bdev_rbd.c:1359:bdev_rbd_create: *NOTICE*: Add Ceph0 rbd disk to lun
I/O targets:
Ceph0: 2048000 blocks of 512 bytes (1000 MiB)
CUnit - A unit testing framework for C - Version 2.1-3
http://cunit.sourceforge.net/
Suite: bdevio tests on: Ceph0
Test: blockdev write read block ...passed
Test: blockdev write zeroes read block ...passed
Test: blockdev write zeroes read no split ...passed
Test: blockdev write zeroes read split ...passed
Test: blockdev write zeroes read split partial ...passed
Test: blockdev reset ...passed
Test: blockdev write read 8 blocks ...passed
Test: blockdev write read size > 128k ...passed
Test: blockdev write read invalid size ...passed
Test: blockdev write read offset + nbytes == size of blockdev ...passed
Test: blockdev write read offset + nbytes > size of blockdev ...passed
Test: blockdev write read max offset ...passed
Test: blockdev write read 2 blocks on overlapped address offset ...passed
Test: blockdev writev readv 8 blocks ...passed
Test: blockdev writev readv 30 x 1block ...passed
Test: blockdev writev readv block ...passed
Test: blockdev writev readv size > 128k ...passed
Test: blockdev writev readv size > 128k in two iovs ...passed
Test: blockdev comparev and writev ...passed
Test: blockdev nvme passthru rw ...passed
Test: blockdev nvme passthru vendor specific ...passed
Test: blockdev nvme admin passthru ...passed
Test: blockdev copy ...passed
Run Summary: Type Total Ran Passed Failed Inactive
suites 1 1 n/a 0 0
tests 23 23 23 0 0
asserts 130 130 130 0 n/a
Elapsed time = 0.220 seconds
Ceph0: 2048000 blocks of 512 bytes (1000 MiB)
Tests can be performed with
# Configure RBD backend
root@mini:/home/knikolla/workdir/lsvd-rbd/subprojects/spdk# sudo ./scripts/rpc.py bdev_rbd_register_cluster rbd_cluster
root@mini:/home/knikolla/workdir/lsvd-rbd/subprojects/spdk# sudo rbd create foo --size 1000
root@mini:/home/knikolla/workdir/lsvd-rbd/subprojects/spdk# sudo ./scripts/rpc.py bdev_rbd_create -b Ceph0 rbd foo 512
# Run tests
root@mini:/home/knikolla/workdir/lsvd-rbd/subprojects/spdk# export PYTHONPATH="$PATH:`pwd`/python"
root@mini:/home/knikolla/workdir/lsvd-rbd/subprojects/spdk# ./test/bdev/bdevio/tests.py perform_tests -b Ceph0
Outgrowth of #30