On 01/13/2012 03:49 PM, Ryan Harper wrote:
We can test out the virtio-blk drive serial number by generating and then
reading it back via the file in sysfs.
Signed-off-by: Ryan Harper<ry...@us.ibm.com>
Applied. Thanks.
Regards,
Anthony Liguori
---
tests/virtio-blk-drive-serial.sh | 40 ++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
create mode 100755 tests/virtio-blk-drive-serial.sh
diff --git a/tests/virtio-blk-drive-serial.sh b/tests/virtio-blk-drive-serial.sh
new file mode 100755
index 0000000..0586f97
--- /dev/null
+++ b/tests/virtio-blk-drive-serial.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+serial="0123456789abcdefghi"
+
+in_host() {
+ tmpdisk=$tmpdir/disk.img
+ qemu-img create -f qcow2 $tmpdisk 10G
+
+ qemu -nographic -enable-kvm \
+ -drive
file=$tmpdisk,if=none,id=drive-virtio-disk0,format=raw,cache=none,serial=$serial
\
+ -device
virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0
+ rc=$?
+
+ rm $tmpdisk
+ return $rc
+}
+
+in_guest() {
+ sysfspath=/sys/block/vda
+ if ! test -e $sysfspath; then
+ echo "Device not visible!"
+ return 1
+ fi
+
+ guest_serial=`cat $sysfspath/serial`
+
+ if test "$guest_serial" != "$serial"; then
+ echo "drive has wrong serial!"
+ echo "Expected '$serial', got '$guest_serial'"
+ return 2
+ fi
+
+ return 0
+}
+
+if test $QEMU_TEST; then
+ in_host
+else
+ in_guest
+fi