On Sat, Jan 14, 2012 at 5:49 AM, Ryan Harper <ry...@us.ibm.com> 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> > --- > 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 > +} How will you make in_guest() run in that guest system? > + > +if test $QEMU_TEST; then > + in_host > +else > + in_guest > +fi > -- > 1.7.6 > >
-- Regards, Zhi Yong Wu