On Mon, Sep 10, 2012 at 5:59 PM, Wouter Verhelst <[email protected]> wrote: > Hi, > > Sorry, looks like I forgot to reply to this one: > >> >> Bug report on openSUSE bugzilla: https://bugzilla.novell.com/776027 >> >> Please let me know if you need any more information. > > If you run nbd-server with those arguments from a command line, what > does that give you? It *should* say "NBDSERVER" followed by some binary > data; if it says more, that'd be a bug.
Running nbd-server 0 /srv/kiwi-ltsp/i386.img -r -C /dev/null returns nothing, no nbd-server is started. #nbd-server 0 /srv/kiwi-ltsp/i386.img -r -C /dev/null # echo $? 1 nbd-server 20000 /srv/kiwi-ltsp/i386.img -r -C /dev/null starts nbd-server normally with a warning "Specifying an export on the command line is deprecated." > > -- https://bugzilla.novell.com/776027 has some more details added by Thomas Abraham: Thomas Abraham 2012-08-20 19:04:47 UTC I've taken a quick look. I was able to readily reproduce it. It appears to be caused by a read() that returned 0 -- no data to read. 12499 open("/srv/test/test.img", O_RDONLY) = 4 12499 ioctl(4, BLKGETSIZE64, 0x7fff9e1ed118) = -1 ENOTTY (Inappropriate ioctl for device) 12499 fstat(4, {st_mode=S_IFREG|0644, st_size=1048576000, ...}) = 0 12499 sendto(3, "<14>Aug 19 22:45:52 nbd-server: Size of exported file/device is 1048576000", 74, MSG_NOSIGNAL, NULL, 0) = 74 12499 setsockopt(0, SOL_TCP, TCP_NODELAY, [1], 4) = 0 12499 write(0, "NBDMAGIC", 8) = 8 12499 write(0, "\0\0B\2\201\206\22S", 8) = 8 12499 write(0, "\0\0\0\0>\200\0\0", 8) = 8 12499 write(0, "\0\0\0\3", 4) = 4 12499 write(0, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 124) = 124 12499 read(0, "%`\225\23\0\0\0\0Xl|\36\0\210\377\377\0\0\0\0>\177\0\0\0\0\20\0", 28) = 28 12499 write(0, "gDf\230\0\0\0\0Xl|\36\0\210\377\377", 16) = 16 12499 lseek(4, 1048510464, SEEK_SET) = 1048510464 12499 read(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096 12499 write(0, "gDf\230\0\0\0\0Xl|\36\0\210\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4112) = 4112 12499 read(0, "", 28) = 0 12499 write(2, "Error: Read failed: Inappropriate ioctl for device\nExiting.\n", 60) = 60 12499 exit_group(1) = ? The only difference I see offhand is, when run standalone or when run on 12.1 through xinetd, this read() returns data -- another NBD_CMD_READ from the client. I haven't yet discovered the reason there is no data for this read. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Nbd-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nbd-general
