qemu-nbd的下一个免费设备选项

时间:2014-03-20 13:58:19

标签: qemu

qemu-nbd 命令是否有选项可以获得下一个免费的,即 losetup -f 之类的未使用的NBD?手册页0.0.1(qemu当前稳定版本1.7.0的版本)没有提及任何内容。

1 个答案:

答案 0 :(得分:6)

您可以在sysfs中查询有关nbd设备的属性。

例如:

cat /sys/class/block/nbd0/size

如果正在使用/ dev / ndb0,则返回0,否则返回映射图像文件的大小。

因此,您可以迭代每个设备,直到找到一个设备为0并尝试使用qemu-nbd进行尝试。

这样的事情应该这样做:

for x in /sys/class/block/nbd* ; do
  S=`cat $x/size`
  if [ "$S" == "0" ] ; then
    qemu-nbd -c /dev/`basename $x` some_file.img
    break
  fi
done