</listitem>
</varlistentry>
<varlistentry>
- <term><option>autoreadonly</option></term>
- <listitem>
- <para>Optional; boolean.</para>
- <para>
- If this option is set to true, then
- <command>nbd-server</command> will automatically switch to
- readonly if it cannot write to the file.
- </para>
- <para>Does not have a corresponding command-line
- argument</para>
- <para>TODO: verify whether this option actually works as
- documented. I have a feeling I've been terribly
- stupid.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><option>copyonwrite</option></term>
<listitem>
<para>
<listitem>
<para>Required; string.</para>
<para>
- The name of the file that will be exported. This must be a
- fully-qualified path and filename; relative paths are not
- allowed.
+ The name of the file (or block device) that will be
+ exported. This must be a fully-qualified path and filename;
+ relative paths are not allowed.
</para>
<para>
Note that <command>nbd-server</command> will only try to
<listitem>
<para>Optional; string</para>
<para>If this option is set, it should contain the local IP
- address (in "dotted-quad" notation) on which we should
- listen to <command>nbd-client</command>(8) connections. If
- it is not set, 0.0.0.0 is used (i.e., "listen on all local
- IP addresses")</para>
+ address on which we should listen to
+ <command>nbd-client</command>(8) connections. If it is not
+ set, <command>nbd-server</command> will listen to all
+ local IPv4 and IPv6 addresses. To limit to IPv6, specify the
+ address as "::". To limit to IPv4, specify as "0.0.0.0". It
+ is not possible to specify more than one IP address
+ here.</para>
</listitem>
</varlistentry>
<varlistentry>
form
<replaceable>exportname</replaceable>.<replaceable>integer</replaceable>,
with <replaceable>exportname</replaceable> being the
- filename that would otherwise have been used (after
- name transformation for virtualization, if any, has been
+ filename that would otherwise have been used (after name
+ transformation for virtualization, if any, has been
performed) and <replaceable>integer</replaceable> an
integer number, starting with 0 and ending when no more
files can be found.
then <command>nbd-server</command> will exit with an error
message.
</para>
- </listitem
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>sync</option></term>
+ <listitem>
+ <para>Optional; boolean.</para>
+ <para>When this option is enabled,
+ <command>nbd-server</command> will call an fsync() after every
+ write to the backend storage. Calling fsync() increases
+ reliability in case of an unclean shutdown of nbd-server; but,
+ depending on the file system used on the nbd-server side, may
+ degrade performance. The use of this option isn't always
+ necessary; e.g., on ext3 filesystems, it is recommended that
+ it is <emphasis>not</emphasis> enabled, since it seriously
+ reduces performance on ext3 filesystems while not
+ importantly impacting reliability.
+ </para>
+ </listitem>
</varlistentry>
<varlistentry>
<term><option>sparse_cow</option></term>
<command>nbd-server</command> will look for the
literal string '%s' in the
<option>exportname</option>, and replace it by the
- IP address of the connecting host in dotted-quad
- notation. The string that results from this
- transformation will be used as an absolute pathname
- that <command>nbd-server</command> will attempt to
- open. As an example, if a client connects from
- 192.168.1.100 and <option>exportname</option> is
- specified as <filename>/export/%s</filename>, then
- nbd-server will attempt to serve
+ address of the connecting host. The string that
+ results from this transformation will be used as an
+ absolute pathname that <command>nbd-server</command>
+ will attempt to open. As an example, if a client
+ connects from 192.168.1.100 and
+ <option>exportname</option> is specified as
+ <filename>/export/%s</filename>, then nbd-server
+ will attempt to serve
<filename>/export/192.168.1.100</filename>
</para>
</listitem>
open <filename>/export/192/168/1/100</filename>
instead.
</para>
+ <para>
+ Since there are no dots in most IPv6 addresses, the
+ effect of using this option when IPv6 is in use is
+ indistinguishable from the ipliteral option.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<command>nbd-server</command> will try to open
<filename>/export/192.168.1.64/192.168.1.100</filename>.
</para>
+ <para>This option works as expected for IPv6.</para>
</listitem>
</varlistentry>
</variablelist>