On Wed, 2011-11-16 at 10:34 +0000, Stefan Hajnoczi wrote: > On Wed, Nov 16, 2011 at 6:57 AM, Chunyan Liu <cy...@suse.com> wrote: > > Currently qemu-nbd does not support finding free nbd device for users like > > "losetup -f" and issuing "qemu-nbd -c /dev/nbdX disk.img" won't report error > > message when /dev/nbd is already in use. It makes things a little confusing. > > This patch adds "-f" option to qemu-nbd to support finding a free nbd device > > for users. Please review and share your comments. Thanks. > > > > Signed-off-by: Chunyan Liu <cy...@suse.com> > > --- > > qemu-nbd.c | 65 > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- > > 1 files changed, 64 insertions(+), 1 deletions(-) > > This patch finds a free device but does not immediately attach to it > and use it. Interfaces like this are prone to race conditions, I > think it would make more sense to combine the -f option with running > the actual NBD server. > > I suggest: > qemu-nbd -f disk.img > > That way it is safe to execute multiple qemu-nbd -f at the same time > without race conditions.
I agree, but you'd also need some locking inside qemu-nbd wouldn't you? Or have it just keep trying devices until one works perhaps. > Plus it probably makes the user's life > easier than having to say qemu-nbd -c $(qemu-nbd -f) disk.img. Absolutely. Ian.