@example
@c man begin SYNOPSIS
usage: qemu-nbd [OPTION]...  @var{filename}
@c man end
@end example

@c man begin DESCRIPTION

Export Qemu disk image using NBD protocol.

@c man end

@c man begin OPTIONS
@table @option
@item @var{filename}
 is a disk image filename
@item -p, --port=@var{port}
  port to listen on (default @samp{1024})
@item -o, --offset=@var{offset}
  offset into the image
@item -b, --bind=@var{iface}
  interface to bind to (default @samp{0.0.0.0})
@item -k, --socket=@var{path}
  Use a unix socket with path @var{path}
@item -r, --read-only
  export read-only
@item -P, --partition=@var{num}
  only expose partition @var{num}
@item -s, --snapshot
  use snapshot file
@item -n, --nocache
  disable host cache
@item -c, --connect=@var{dev}
  connect @var{filename} to NBD device @var{dev}
@item -d, --disconnect
  disconnect the specified device
@item -e, --shared=@var{num}
  device can be shared by @var{num} clients (default @samp{1})
@item -t, --persistent
  don't exit on the last connection
@item -v, --verbose
  display extra debugging information
@item -h, --help
  display this help and exit
@item -V, --version
  output version information and exit
@end table

@c man end

@ignore

@setfilename qemu-nbd
@settitle QEMU Disk Network Block Device Server

@c man begin AUTHOR
Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@c man end

@c man begin SEEALSO
qemu-img(1)
@c man end

@end ignore
