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