* john cooper <john.coo...@redhat.com> [2010-03-25 00:45]: > This series adds the minimal support to qemu and virtio_blk > to support passing of a virtio_blk serial id string from qemu > through the guest driver and to the guest userland. > > This is derived in part from a patch set posted by Rusty some > time ago, but has been minimized to remove support for prior > versions which attempted to provide the same functionality via > pci config/io space. This version rather uses a virtio request > as proposed in Rusty's example. > > Also removed is the packaging of the serial/id string within > the glorious bag of bits returned by the ATA_IDENTIFY command. > Here we transfer only the 20 bytes of serial/id string from > qemu to the guest userland. In the proposed interface, this > is made available by an ioctl() into the virtio_blk driver > however other interfaces (eg: /sys) have also been proposed. > A code snippet is attached below as an example of ioctl usage. > > The resulting code is quite minimal and I believe it addresses > all concerns raised in prior versions. > > -john > > > > #include <stdio.h> > #include <strings.h> > #include <sys/types.h> > #include <fcntl.h> > #include <linux/hdreg.h> > > #define IOCTL_CMD 'VBID' > > main() > { > int fd, rv; > char buf[512]; > > bzero(buf, sizeof (buf)); > if ((fd = open("/dev/vda", O_RDONLY)) < 0) > perror("open"); > else if (ioctl(fd, IOCTL_CMD, buf) < 0) > perror("ioctl"); > else > printf("[%s]\n", buf); > }
Would we want to patch up blkid command to use this so distro stacks can extract the serial and build the typical /dev/disk/by-id/ links ? -- Ryan Harper Software Engineer; Linux Technology Center IBM Corp., Austin, Tx ry...@us.ibm.com