Hello Wouter
Your workaround with the new style is working as expected. I created the
following config file:
[generic]
[usb]
exportname = /dev/sda1
readonly = true
I am running the old nbd-server:
This is nbd-server version 2.9.23
And with no interface board up, the nbd-server is now listening to connections
on the port 10809.
tcp 0 0 0.0.0.0:10809 0.0.0.0:* LISTEN
Thanks for your support. =)
Cheers from Mexico.
Regards,
Santiago
El Viernes, 25 de julio, 2014 13:55:22, Wouter Verhelst <[email protected]> escribió:
Op dinsdag 22 juli 2014 11:52:52 schreef Santiago Villafuerte:
> Hello Wouter
>
> I tested the workaround with the 3.8 version. I can tell if the 3.8 is
> actually running on the system by typing:
>
> ./nbd-server -help
>
> I created a config file whenever the USB drive has to be shared via NBD:
>
> cat /tmp/nbd.conf
> [generic]
> oldstyle = true
> [usb]
> exportname = /dev/sdb1
> port = 9000
> readonly = true
Ah, yes, but the workaround is that you *shouldn't* use oldstyle ;-)
(in other words, remove the 'oldstyle=true' and 'port=9000' lines;
clients would then need to connect with "nbd-client -N usb <server>" in
your example).
> The nbd-server throws this warnings when it's run...
>
> ./nbd-server -C /tmp/nbd.conf
>
> ** (process:353): WARNING **: A port was specified, but oldstyle exports
> were not requested. This may not do what you expect.
>
> ** (process:353): WARNING **: Please read 'man 5 nbd-server' and search for
> oldstyle for more info
This message is fixed in git HEAD.
> After that, nothing happens. The netstat command shows nothing on the 9000
> port.
>
> The same issue is present on the 2.9.23 version..
>
> Only after setting an interface up is when the config file is actually
> serviced.
>
> You mentioned on your last email you had an idea on how to fix that issue
> (you were working on tap0 all the time). Could you please share a hint on
> how to solve it so that I can work on that?
I believe the issue is that the getaddrinfo() call that nbd-server does
to figure out where to listen may fail when trying to do so while no
network connectivity is present. It would mean I need to fiddle with
the hints.ai_flags setting on line 2386 in nbd-server (git HEAD).
For some reason it does seem to work when for newstyle negotiation. The
only obvious difference there is that newstyle negotiation *doesn't*
have AI_NUMERICSERV set, but that doesn't make any sense.
I would need to find some time to debug this, but during my latest
session on the train today I didn't find what the problem was.
It *might* work if you specify a listen address. Haven't tested that
yet.
> At the moment I made a workaround that whenever an interface is up, I
> relaunch the nbd-server and it stays alive. However, it's a dirty patch
> which I would like to solve with the nbd-server binary itself.
Yeah, that makes sense.
--
It is easy to love a country that is famous for chocolate and beer
-- Barack Obama, speaking in Brussels, Belgium, 2014-03-26
------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Nbd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nbd-general